大規模プロジェクトにアジャイルを適用する方法−1The Rational Edge (28)(4/4 ページ)

» 2004年09月29日 12時00分 公開
[Philippe Kruchten,University of British Columbia]
前のページへ 1|2|3|4       

まとめ:大規模アジャイルを成功させるポイント

 以上、チームのサブセット(コードの疑似完全性を生み出すところ)のためにアジリティで理想的な状況作りを目的とする大規模プロジェクトが、チームで構成されたチームや、チーム間の効率的なコミュニケーションを確保することと、小規模プロジェクトでチームごとに期待される外部インターフェイスをインプリメントすることを主な目的とする補助チームによって徐々にまとまっていく様子を解説してきた。いままでのポイントを個条書きにしてみよう。非常に規模の大きいプロジェクトは以下のように進められる。

  • チームの隅から隅までをカバーし、アーキテクチャチーム、管理チーム、あるいは統合チームをコミュニケーションの接点として利用するコミュニケーション
  • チームレベルおよびチーム間レベルにおけるスクラムなどの促進および解決手法
  • チームレベルおよびチーム間レベルにおける構築とリリース
  • チームレベルおよび全体レベルで管理される問題とリスク
  • すべてのチームが全体の同じリズムに合わせて作業することが好ましい

 これを成功させるためには以下のような要因が重要になる。

  • 補助チーム(アーキテクチャおよび統合)は、ほかのチームの補助に徹し、その逆になってはならない。開発チームを可能な限り効率的にすることが役割であるため、補助チームは外部とのコミュニケーションやリソースによって開発チームのニーズに可能な限り迅速に対処しなくてはならない。例えば、顧客やほかのチームとのコミュニケーションなどが考えられる。
  • コード開発に携わるチームは、完成システムという究極の目的に留意する必要がある。これは自分のチームの目的、パフォーマンス、スケジュールなどより優先される。インフラに携わるチームは、自分たちの顧客、つまりほかのチームのニーズに敏感でなくてはならない。
  • 文書化や形式化 (「儀式度」とも呼ばれる)は徐々に取り入れ、組織が効率的になるタイミングと場所に限定する必要がある。
  • チームを超えたコミュニケーションや依存を最小限に抑えるようチーム構造を構築する場合はアーキテクチャが重要になる。

 プロジェクト全体は、システムに関する判断を下せる有能で裁量権もある顧客担当者と迅速にコミュニケーションが取れなくてはならない。プロジェクトにはコード、テスト、およびテストスイートを短時間で処理できるよう管理し、変更管理をサポートするパワフルなツールが必要だ。そして、どのプロジェクトでも同じだが、最も重要な要素は技術力と意欲のある人材である。


【謝辞】
 この解説は、2003年2月に開催されたCanadian Agile Workshop in Banffの参加者との会話、2003年3月および2004年3月のUSC提携調査論評、そしてRational Software Corporation(現IBM Rational)のGary Pollice、Walker Royce、Joe Marascoや、NRCのHakan Erdogmusによる社内論評が大いに役立っている。

【参考】

▼H. Erdogmus著、「Let's Scale Agile Up」、Agile Times, vol. 2、2003年刊、6-7ページ
▼P. B. Kruchten著, 「The Rational Unified Process」: An Introduction, 2nd ed. 2000年Addison-Wesley刊
▼A. Egyed, B. W. Boehm、D. Port、 M. Abi-Antoun共著、「Guidelines for the Life Cycle Objectives (LCO) and the Life Cycle Architecture (LCA) Deliverables for Model-Based Architecting and Software Engineering (MBASE)」、USC Los Angeles校、USC Technical Report USC-CSE-98-519, 1999年刊
▼P. Kruchten著、 「The 4+1 View Model of Architecture」、IEEE Software, vol. 6、1995年刊、45〜50ページ
▼M. Beedle、K. Schwaber共著、「Agile Software Development with SCRUM」、2002年Prentice-Hall刊
▼L. Brownsword、P. Clements共著、「A Case Study in Successful Product Line Development」、Software Engineering Institute、Technical report CMU/SEI-96-TR-035、1996年刊
▼K. Toth、P. Kruchten、T. Paine共著、「Modernizing Air Traffic Control Through Modern Software Methods」、38th Annual Air Traffic Control Association Conference、テネシー州ナッシュビル:ATCA、1993年刊
▼P. Kruchten著、「Iterative Software Development for Large Ada Programs」Proc. Ada-Europeカンファレンス、スイス、モントルー、vol. LNCS 1088、A. Strohmeier, Ed.:Springer-Verlag, 1996年刊、101〜110ページ
▼P. Kruchten、C. J. Thompson共著、「An Object-Oriented, Distributed Architecture for Large Scale Systems」、Proc. of Tri-Ada'94、ボルティモア、1994年11月:ACM、1994年刊
▼P. Kruchten著、「The Software Architect, and the Software Architecture Team」、Software Architecture, P. Donohue, Ed.、1999年、Kluwer Academic Publishers刊、565〜583ページ


本記事は「The Rational Edge」に掲載された「Scaling down large projects to meet the agile “sweet spot”」をアットマーク・アイティが翻訳したものです。

「The Rational Edge」バックナンバー
前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ