「Agile Conference Tokyo 2010」で見た日本のアジャイル開発最前線

#3セッション3「ツールを使ったアジャイル」&適用事例「楽しくプロセス改善」

セッション3「Going Agile with Tool」

マイクロソフトの長沢氏によるセッションでは、アジャイル型開発へのツール適用のポイントと、アジャイル型開発に有効な「Visual Studio Team Foundation Server 2010」の機能を紹介しました。

より導入しやすくなったTFS

長沢 智治 氏
(マイクロソフト(株⁠⁠ エバンジェリスト/
シニア プロダクト マネージャ)
長沢 智治 氏(マイクロソフト(株) エバンジェリスト/シニア プロダクト マネージャ)

マイクロソフト(株⁠⁠ デベロッパー&プラットフォーム統括本部のエバンジェリスト・シニア プロダクト マネージャである長沢智治氏は、セッション「Going Agile with Tool」を行いました。このセッションは、アジャイル型開発へのツール適用のポイントと、⁠Visual Studio Team Foundation Server 2010(以下、TFS⁠⁠」という選択肢の存在を知ってもらうことを目的としたものです。

長沢氏はまず、ツールの活用で期待できることは地味なコストの削減であり、そのためにはホワイトボードなどのアナログなツールの活用だけではなく、ツールのIT化によるさらなる効率化も必要であるとしました。実際にアジャイル型の適用により「Visual Studio 2008 Beta 1」を開発した結果、前バージョンである「Visual Studio 2005 Beta 1」と比較してバグの数が1/10になり、また延期を最小限にとどめるなどスケジュールの改善に2倍以上の効果があったといいます。

また、開発インフラを統合しアジャイル型および複数国のオフショア開発を実施したMSN Japanの事例では、15分かかっていたコードレビューが1分未満に、28分かかっていたリリースビルドは4分にと、大幅な効率化を実現しています。大幅な効率化の実現に大きく貢献したTFSは、以前はサーバにのみ対応していたのがWindows Vistaおよび7といったクライアントOSにも対応し、またJavaやEclipseにも対応しました。5~10分でインストールでき、管理が容易であることが特徴となっています。また、MSDNサブスクリプションでは、TFSサーバライセンスとCAL(Client Access License)が付属するほか、TFS単体のパッケージも提供しています。

使い慣れたExcelを活用したWorkbookを標準提供

TFSが高効率である理由のひとつとして、長沢氏はアジャイル計画ツールがExcelに対応していることを挙げました。プロダクトバックログ用Workbook、スプリントバックログ用Workbook、またスプリントごとのトリアージWorkbook、懸案事項Workbookと、Excelを活用したWorkbookが標準提供されることで、TFSからデータを抽出して数値計算やグラフの作成を行うなど、使い慣れたツールによる強力な意思決定やチームの位置疎通が可能になります。

プロダクトプランニングにおいては、プロダクトバックログ用のクエリを標準搭載しており、ユーザストーリーの新規作成や変更を行うことができるほか、優先順位やストーリーポイントの見積もりも行えます。また、スプリントプランニングでは、スプリントバックログ(イテレーションバックログ)で、プロダクトプランニングにおいて作成したユーザストーリーをタスクに分解したり、チームがコミットを行うことができます。コミットできない場合には、他のストーリーから再選択することもできます。

スプリントの実行では、チェックイン、常時接合レポートと開発作業とTFSがシームレスに連携し、変更セットとタスクの追跡など完了タスクの完全な記録を行います。レポートやダッシュボードでの進捗の追跡も可能です。これらはVisual StudioのほかEclipse、Web Access、Excelで実施が可能です。また、ふりかえり支援としてチームポータルのwikiでの共有が可能になっており、サンプルガイダンスも提供します。

テストの操作を自動記録、再生や自動実行が可能に

テスト駆動開発(TDD)においては、新たにテスト影響分析機能が追加されました。これにより、変更を行った際の影響の範囲などを容易に確認できるようになっています。また、マルチモニタ対応やキー操作でのコード文字サイズ変更などといったペアプログラミング支援や、チェックインポリシーや効果的にコードを共有できる「シェルブ」などといったコードレビュー支援も搭載しています。常時結合においても、自動ビルド環境をウィザードで容易に構築できるなど負荷の軽減に有効な機能を搭載しました。あらゆるアプリケーションに対応し、テスト自動実行と結果の収集が可能になっています。

受け入れテスト駆動開発(ATDD)では、テスト操作の自動記録に対応しています。これによって、テストの内容をビデオで確認することが可能になり、どの操作が原因でエラーになったのかがわかるようになりました。また、テスト操作が自動記録されるため、2回目以降のテスト操作を自動実行することが可能になっています。以上のようにTFSはアジャイル型開発のさまざまな局面において活用でき、効率化とコストの低減を実現します。TFSを含むVisual Studio 2010の魅力はWebサイトで動画を交えて解説しており、各種評価版も無償ダウンロードにて公開しているため、ぜひ利用して欲しいとして長沢氏はセッションを締めくくりました。

国内事例紹介「アジャイル始めの一歩~小さく始めて大きく広げるプロセス改善~」

NECソフトの飯田氏によるセッションでは、同氏がアジャイル型開発に興味を持ち、自ら情報収集など行い実際にアジャイル型手法により開発を実践したという導入事例を紹介しました。

アジャイル型開発を「まずはやってみた」

飯田 治行 氏
(NECソフト(株⁠⁠ 主任)
飯田 治行 氏(NECソフト(株) 主任)

NECソフト⁠株⁠の主任である飯田治行氏は、セッション「アジャイル始めの一歩~小さく始めて大きく広げるプロセス改善~」を行いました。このセッションは、NECソフト静岡支社でNECの統合運用管理製品「WebSAM」の開発を行っている飯田氏がアジャイル型開発に興味を持ち、自ら情報収集など行い実際にアジャイル型手法により開発を実践したという導入事例の内容となっています。

2012年までにソフトウェア開発プロジェクト全体の80%でアジャイル開発方法論が利用されるといわれており、実際に導入した結果、生産性、品質、リリース期間短縮、費用削減において高い割合で「向上した」という印象を持たれているアジャイル型開発。しかし、管理の仕方が分からない、開発の仕方が分からない、みんなの気持ちが分からないといった問題によって、なかなか踏み出せないのが現状です。

そこで飯田氏は、あれこれ悩む前に大きく構えず、まずはやってみることにしたといいます。管理の仕方が分からないという問題については自分で1ヵ月ほど勉強し、チームでも2週間の勉強会を行いました。開発の仕方が分からないという問題については、やりながら考えることとしました。運良く手頃なプロジェクトが見つかったことも要因のひとつです。また、みんなの気持ちが分からないという問題については、とにかく仲間を信じることにしたといいます。

結果は大成功、そして何より「楽しかった」

運良く見つかった手頃なプロジェクトとは、11KL規模、開発期間2.5ヵ月、開発メンバー11名により、Javaで作成するWeb3階層モデルのシステムでした。社内の研究プロジェクトであり、商用システムの開発ではないためいろいろと試しやすく、コントロールしやすいというメリットもありました。まずはウォーターフォール型開発のうち、詳細設計、コーディング、単体試験の部分にアジャイル型を適用し、これらのイテレーションを繰り返すことにしたといいます。さらに張り切ってテストファーストや継続的インテグレーション、ペアプログラミング、コードの共同所有、スタンドアップミーティング(朝会⁠⁠、リファクタリング、振り返りといったプラクティスも実践したのです。

プロジェクトの進行には、見積もりの出し方をはじめ、品質管理の方法が分からなかったり他グループの理解が得られないといった問題も発生しました。しかし、見積もりは従来通りとし、品質管理には独自の基準を設け、他グループの理解については「気にしない」こととしました。その結果、生産性は従来の1.5倍に、バグ数は従来の半分に、スケジュールは1週間前倒しで完了するなど、予想以上の効果があったのです。

アジャイル型開発を実践した印象をメンバーに聞いてみると、⁠みんなと話すことが多くなった」⁠自分のソースを見られることが気にならなくなった」⁠個人の作業ではなく、チームの作業になった」⁠テストがつらくなくなった」⁠仲良くなった」といった答えがあり、リーダーである飯田氏は、メンバーがやっていることがよく見えたことや、開発中でも常に作ったものが動いているのが確認できることでの安心感があったといいます。そして何よりも「楽しかった」という印象が強く、それはさまざまな面で向上心につながったのです。

成功したら自慢することで、アジャイルが大きく広がる

最初のチャレンジが大成功を収めたことで、2回目のプロジェクトもすぐにアジャイル型で行いました。しかし2回目は自社製パッケージ製品であり、30KL規模、半年の期間で8名のメンバーでの開発と規模が大きくなり、スケジュールも予算もなんとかギリギリで達成したものの、疲労困憊したという結果に終わりました。飯田氏はこの結果について、調子に乗っていたこと、背伸びをして身の丈以上のプロジェクトに手を出したことなどを挙げています。それでも、イテレーションの効能によってスケジュールの遅れを把握しやすかったことや、新人4名をペアプログラミングにより指導することで高い教育効果が得られたことなど、アジャイル型開発による効果も確認でき、そしてやはり「楽しかった」という印象を持ったといいます。

飯田氏はこれらの経験から、アジャイル型開発の導入には「適切なパイロットプロジェクトを探す」⁠ルールは進めながら考える」⁠一部の期間、一部のモジュール、一部のプラクティスなど、まずは部分適用する」⁠データは必ず残す」ことが重要であると結論づけています。そして、成功したら発表して自慢することが重要だと飯田氏は言います。発表することで仲間が集まり、助けてくれる人にも出会えます。飯田氏も社内の生産革新事例発表大会で発表したことで、⁠NECソフト アジャイルコミュニティ」という草の根活動が発足、さまざまな業務、職位、地域の29名が参加しています。ここでは合宿や勉強会、会社訪問、ワークショップ、オリジナルソフトウェアの作成、発表などを行い、その結果、社長との対談も実現したのです。

社長との対談で飯田氏は熱い思いをぶつけ、やがてアジャイル型開発が当たり前になる時代が来るとエールもいただいたといいます。この対談がきっかけとなり、アジャイル社内標準化計画が本格始動し、アジャイル開発検討ワーキンググループも発足しました。最後に飯田氏は、現場のスタッフに対し「勇気を持つことでみんながハッピーになる。楽しいエンジニアライフを創りましょう⁠⁠、また管理者や経営者に対し「現場のチャレンジを応援してあげてください。きっとすごい力を発揮してくれます」というメッセージを伝え、セッションを締めくくりました。

おすすめ記事

記事・ニュース一覧