2014年6月11日、アトラシアンのプロジェクト管理ツール「JIRA」および「JIRA Agile」に関するセミナーが、販売パートナーであるリックソフト株式会社の主催で行われました。
セッション1:これからのソフトウェア開発でのプロジェクト管理の展望~アトラシアン製品の価値
セッション1は、アトラシアン株式会社エバンジェリストの長沢智治氏による講演です。長沢氏はこれまで、Rational software(のちにIBMに買収)やマイクロソフトでソフトウェア開発現場の効率化業務に長く携わっており、ソフトウェア開発の変遷について、極論だと前置きしつつ次のように説明しました。
ビジネスモデルとソフトウェアの関係
ウォーターフォールモデルで行ってきた開発は、ゴールが明確なため要件定義がしやすく、技術と方法論が確立されており、経験を積んだ人材も確保できるプロジェクトが主な対象です。仕事のやり方はチームというよりも個別対応あるいは分業で行い、その管理方法は統制型(後述)になります。
しかし昨今のように、ビジネスモデルを確立するときにテクノロジありきで考えると、ゴールが明確にならないまま開発をスタートする必要があったり、次々と現れる新しい技術についていけない、方法論もこれまでのようにはいかない、そして経験のある人材はなかなかいないという状況になりがちです。こうなると過去に実績のあるプロジェクトの活用、つまりゼロから作るよりも市販ソフトウェアをカスタマイズして導入するほうが効率が良いということになります。
このような時代に未知のプロジェクトに対応していくためには、やり方を変える必要があります。短い期間でビジネスゴールを設定し、やりながら改善し、デリバリーし続けることで経験を積み、次に生かすというやり方です。いわゆる継続的デリバリーと言われるもので、アジャイルモデルはこういうやり方が非常にマッチします。重要なのは、人材(People)・やり方(Process)・技術(Technology)の3つのバランスを考えながら、ビジネスゴールにマッチするソフトウェアを作り続けることです。このときのプロジェクト管理方法は不確定要素が多いため、チームを組んだ自律型(後述)であることが望ましいでしょう。
プロジェクトの管理は統合型から自律型へ
統制型マネージメントでは、プロジェクトマネージャがすべてを知っていて、開発者はそのマネージャの指示に従って開発を進めます。マネージャがすべてを知っているので、個々の開発者の管理ができ、開発者は割り当てられた仕事に集中できます。
一方、自律型マネージメントは、プロジェクトマネージャが知らないことがあることを前提に、チーム全員で補い合う形をとります。また、マネージャが全員の管理をすることが難しいため、開発者自身でできることは自分で管理します。マネージャは困っている開発者のフォローに回ることで、チームの成長をうながす役目を担ってもらいます。
統制型から自律型への移行には、マネージャが一括して管理していた「要件定義・見積もり・タスク出し・進捗・説明責任・フォロー」といった仕事の“権限の委譲”が発生します。たとえば「見積もり・タスク出し・進捗」の作業をチーム全員に分担させることで、マネージャは本来の「説明責任・フォロー」などに注力できるようになります。
自律型への移行は環境を整えてから
ここまでの話を理解できたとしても、いざ実践するとうまくいかないというのが現実だと思います。そこで必ず考えてほしいのが「環境を整える」ということです。
前述のとおり、これからの開発で大切になるのは、短い時間で成果を出してフィードバックを得ることです。これまでのように「企画・計画・開発・ビルド・デプロイ」の各段階を一つ一つ終わるまで時間をかけていくというやり方は難しくなっています。これからは各段階同士のつながりが重要になり、その動きが常に追える状態にしておかないとチームとして自律した管理をすることはできません。
アトラシアンでは、「企画・計画・開発・ビルド・デプロイ」の各段階に役立つツールを提供しています。チームコラボレーションツールには「Confluence」。リアルタイムで開発状況の変化を知ることができるチャットツールの「HipChat」。開発の計画やバグトラッキングには「JIRA」、それにアジャイルモデルでの開発をサポートするアドオンの「JIRA Agile」。ソースコード管理には「Stash」や「Bitbucket」による分散バージョン管理。継続的インテグレーション(ビルド・テスト・デプロイ)には「Bamboo」といった具合です。これらは各段階に対応したツールになっていますが、それぞれのつながりを追えるしくみが備わっています。
また、ツール個別ではなくソリューションとして提供を始めたものとして、「Agile Ready」と「Git Essentials」の2つがあります。前者は「Confluence+Confluence Team Calendar(アドオン)」と「JIRA+JIRA Agile(アドオン)」のセットで、どちらかというと企画に最適化したソリューションです。後者は「JIRA+JIRA Agile」「Stash/Bitbucket」「Bamboo」のセットで、開発者のワークフローを明確にするためソリューションです。
長沢氏は、マネージャとチームとでマネージメントのあり方をどんどん変えて今のビジネスにあったソフトウェア開発を行うために、アトラシアン製品を使って環境作りをしてほしいとまとめました。そして最後に、こう付け加えました。
「導入したとしても最初は汚い環境になってしまうことが多くありますが、最初はうまくいかなくて当然です。うまくいかないからといって辞めてしまうのではなく、現状がこういうものだという認識に使ってください。どこがうまくつながっていないかがわかれば、改善できます。」
セッション2:「JIRA」「JIRA Agile」デモによる活用紹介
セッション2はリックソフト株式会社の樋口氏による「JIRA」および「JIRA Agile」の製品デモです。プロジェクト管理によく使われるツールとしてMicrosoft Excelを引き合いに出し、共有データのバージョン管理機能やコミュニケーション機能がないことによる共同作業の弱さを指摘されました。そのうえで、JIRAの優位点であるコミュニケーションをからめたアジャイルモデルでの開発の進め方がデモンストレーションされました。
また、JIRAの操作性をよりわかりやすくした「JIRA Service Desk」についても、非エンジニアを含んだ共同作業も進めやすいことをデモを交えて紹介しました。
最後に、プロジェクト管理ツールを使うメリットを次のように示してセッションは締めくくられました。
- プロジェクトメンバーのコミュニケーションツールになる
- プロジェクト状況をリストやグラフによって可視化できる
- プロジェクトのナレッジ・データベースになる
- ソースリボジトリ、ビルドツールとの連携により修正理由が明確になる
まとめ
東京駅近くの50名ほどが入るミーティングスペースは、プロジェクト管理ツールに関心を持つビジネスパーソンで満席になりました。質疑応答では、導入済みのプロジェクト管理ツールからの移行の仕方といった具体的なものが多く、参加者の意欲の高いセミナーとなっていました。