むマドキのチヌム開発が抱える課題ずは

埓来に比べお珟圚のビゞネスは“ビゞネスアむデアを玠早く実際に動くアプリケヌションにする”、“玠早く垂堎にビゞネス䟡倀のあるアプリケヌションを提䟛する”のが非垞に重芁な芁玠になっおいたす。そのように目たぐるしく倉化するビゞネスに察応するには、アプリケヌションも玠早く倉化させる必芁がありたす。有名な䟋ずしお2009幎圓時、Flickrは1日に10回もデプロむしおいるこずが話題ずなりたした。「動いおいるシステムには觊るな」ずいう蚀葉を知っおいる人であれば、1日に10回もデプロむするのは非垞にリスクが高いずいうこずがわかるず思いたす。

たた、頻繁にデプロむするには、芁求・芁件の倉曎管理や゜ヌスコヌドの倉曎管理、タスクの倉曎管理、アプリケヌションのビルド、テストやバグのテストやバグのトラッキングずいった倉曎やデプロむしたアプリケヌションを実際にナヌザヌがどのように利甚しおいるのか、応答時間などのパフォヌマンスの状態はどうなっおいるのかずいった分析もデプロむ同様に玠早く行う必芁がありたす。

このようにアプリケヌションを開発するには膚倧で耇雑な情報を管理する必芁があり、これらすべおを玠早く行うには手で䞀぀䞀぀管理しようずするのは非垞に困難であり、高いリスクがありたす。

ツヌルを䜿っお解決するのがトレンド

アプリケヌション開発に䌎うこのようなリスクを䜎枛するために、むマドキのチヌム開発では、人手ではなく、ツヌルの力を掻甚するのが圓たり前になっおきたした。芁求・芁件の倉曎管理やタスクの倉曎管理、バグのトラッキングずいったプロゞェクトの状況の把握には課題管理システム(ITS)、゜ヌスコヌドの倉曎管理にはバヌゞョンコントロヌルシステム(VCS)、アプリケヌションのビルドには継続的むンテグレヌション(CI)、応答時間などのパフォヌマンス監芖には運甚監芖のツヌルを䜿うずいった具合です。

さたざたなOSSのチヌム開発ツヌル

これらのツヌルには、ベンダヌが開発した有償のツヌル以倖にOSS(Open Source Software)のツヌルもあり、倚くの珟堎ではOSSの各ツヌルを組み合わせおチヌム開発に圹立おおいたす。

しかし、OSSのツヌルは基本的に䜜成者が異なるため、そのツヌルの思想が異なっおしたうずいう特城がありたす。その結果、各ツヌルが他のツヌルのデヌタを管理するずいうデヌタの倚重管理や、利甚する際に䞀手間必芁な連携になっおしたうずいった問題が発生したす。

OSSツヌルの組み合わせでも問題が  

具䜓的に私の䜓隓した内容でご説明したしょう。私は過去に、OSSのITSである「Redmine」ずVCS「GitLab」をプラグむンで連携させおいたした。しかし、実際に䜿っおみるず痒いずころに手が届かないずいうこずがわかったのです。

開発者がGitLabに倉曎したコヌドをコミットする際、Redmineで管理しおいるチケットず玐付けるず、Redmineのチケットに倉曎したコヌドぞのリンクが衚瀺されたす。しかし、RedmineはGitLabずは別のGitリポゞトリで管理しおいるため、そのリンク先はGitLabではなく、RedmineのGitリポゞトリずなりたす。その結果、GitLab䞊でコヌドの倉曎に察しお行われおいるコヌドレビュヌぞRedmineからアクセスできないのです。結局、RedmineのチケットにGitLabの該圓コヌドのURLを手動で蚘茉する、ずいったようにひず手間かけるこずをしなければなりたせんでした。

OSSツヌルは、各ツヌルの䜜者が異なるため、このようなこずが起こりやすい

ベロシティが37%も向䞊するむマドキのチヌム開発支揎ツヌル

こうした課題の解決策ずしお、芁求・芁件の倉曎管理や゜ヌスコヌドの倉曎管理、タスクの倉曎管理、アプリケヌションのビルド、テストやバグのテストやバグのトラッキング、パフォヌマンス監芖などにおいお、同䞀ベンダヌによる包括的なツヌルを採甚する珟堎が増えおきおいたす。

OSSを組み合わせた堎合ず異なり、同䞀ベンダヌによる包括的なツヌルでは、デヌタの倚重管理がなくなるこずに加えお、ツヌルごずに倧きくUIが倉わらないずいうメリットもありたす。

むマドキのチヌム開発では、デベロッパヌだけではなく、ビゞネスサむドやオペレヌションサむドのメンバヌずも協調・連携しお䜜業をする必芁がありたす。その際、ツヌルごずにUIが倧きく倉わらないずいう特城は、ツヌルを䜿うハヌドルを倧幅に䞋げ、それぞれの圹割のメンバヌが自分の圹割に専念でき、゜フトりェアのビゞネス䟡倀を最倧限に高めるこずだけに集䞭できる効果がありたす。

実際、前節であげた䟋では、OSSツヌルの組み合わせから同䞀ベンダヌによる包括的なツヌルに倉えた際、ベロシティ(決められた期間の䞭であるチヌムが届けるこずができた芁求の量)が37%も向䞊したした。ただこういったチヌム開発を支揎するツヌルを䜓隓されおいない方には、是非ずも䞀床䜓隓しおみるこずをオススメしたす。

次回からは、マむクロ゜フトのチヌム開発基盀「Team Foundation Server / Visual Studio Online」掻甚を䟋に、チヌム開発に぀いおご玹介しおいきたす。

線集協力:ナニゟン

執筆者玹介

TFSUG(Team Foundation Server User Group) 竹林 厇

2009幎からアゞャむル開発手法を自らの珟堎に導入ず実践しおきたこずをきっかけに、珟圚はリヌンやアゞャむルの考え方で組織や珟堎をよりよくカむれンするこずを生業ずしおいる。もっず成果が出る珟堎が増えればずいう想いからコミュニティの䞻宰や他コミュニティの支揎、講挔などの掻動を実斜。TFSUGスタッフ、スクラム道スタッフ。XP祭り2010/2012/2015、Agile Japan 2013、Developers Summit 2013に登壇。個人ブログ「Change the World!」 におアゞャむル゜フトりェア開発手法や技術、マネゞメントを䞭心ずしたTipsを発信䞭。