アジャイルモデリング(AM)
公式サイト

エッセイ

アジャイルモデリング(AM)とは何か?

by Scott W. Ambler, Copyright 2001

システムであれ(AMの場合)方法論であれ、何かについて記述するときには、それが何であり、何でないかの両方を記述するべきだと私は強く信じています。  以下の事柄はAMについて述べたものです。

1.      AMは心構えであり、きっちりと定められたプロセスではない。  AMは、アジャイルモデリング時に守る一連の価値、信じる原則、適用するプラクティスから構成されています。  AMはモデリングのスタイルを記述したもので、アジャイル(機敏)な開発を進める際に適切に使えば、過度の単純化や非現実的な期待をすることなく、より質の高いソフトウェアをより早く開発することができます。  AMは開発の詳しい手引書ではありません。統一モデリング言語(UML)のシーケンス図を作成したりユーザインターフェースのフロー図を描くための詳細な手順を知りたいのであれば、Modeling Artifactsのエッセイで紹介するモデリングに関する数多くの書籍の一冊を選んでください。  特に、私のThe Object Primer 2/eを推奨します(もちろん偏った意見でしょうが)。

2.      AMは既存の手法を補足するものであり、完全な方法論ではない。  AMの第1の焦点はモデリングであり、第2の焦点は開発ドキュメントです。  それだけしか網羅していません。  AMの技法は、エクストリームプログラミングやダイナミックシステム開発メソッド(DSDM)、Crystal Clearといったアジャイルな方法論を採用しているプロジェクトチームのモデリング作業を向上させるために使用します。また、プロセスがアジャイルでなくなるにつれ効果は低下しますが、統一プロセスのようなきっちりと定められたプロセスと組み合わせて使うこともできます。

3.      AMは、プロジェクトの利害関係者のニーズを満たすために、効果的に協調作業する方法である。  アジャイルな開発では、プロジェクトの利害関係者とチームを組んで仕事をします。利害関係者はシステム開発において、直接的かつ積極的な役割を担います。  "アジャイル(agile)"に"こちら、あちら"という意識はありません。

4.      AMは効果的であり、どう効果的に行うかを記述したものである。  AMについて読み進むにつれ強く心に迫ってくる点の1つは、AMが効果的であることに最大限焦点を絞っていることです。  AMでは、プロジェクトの利害関係者の投資を最大限に活かすこと、明確な目的を持ち、読者のニーズを理解してモデルや文書を作成すること、現在の状況に対処するために適切な成果物を適用すること、そして、できる限り簡潔なモデルを作成することを主張しています。

5.      AMは、実際に役に立つものであり、学術上の理論ではない。AMの目的は、システムを効果的にモデリングするための、対象となるタスクに関して効果的で十分な技法を記述することです。  私はRonin International(http://www.ronin-intl.com/)の同僚と一緒に、AMの技法の多くを何年にもわたって適用し、さまざまな業界の広範囲な顧客を相手に磨き上げてきました。  さらに、2001年2月に立ち上げたアジャイルモデリングメーリングリスト(http://www.agilemodeling.com/feedback.htm)に参加する数百人の現場のモデリング担当者によって、これらの技法は検証され、議論されてきています。

6.      AMは銀の弾丸ではない。  アジャイルモデリングは、多くの専門家が参加するソフトウェア開発を改善するための、効果的な技法です。  それだけで、それ以上ではありません。  開発に関わる問題をすべて解決してくれる魔法の「がまの油」ではありません。  一生懸命働き、注意をそらすことなく、AMの価値・原則・プラクティスを深く心に留めていれば、開発の効率を向上することができるでしょう。

7.      AMは平均的な開発者向けのものだが、有能な人々の代わりになるものではない。  AMの価値・原則・プラクティスは単純であり、その多くはこれまで何年も実践してきた、あるいは実践したいと思ってきたものかもしれません。  AMの技法を適用するには、水上を歩行する必要はありませんが、基本的なソフトウェア開発のスキルは必要です。  AMで一番困難なのは、広範なモデリング手法を学ばなければならないことです。これは根気が必要な作業です。  モデリングの習得は、始めは難しく感じられ、実際に難しいのですが、一度に1つずつ手法を学んでいけば、十分に可能です。

8.      AMは開発ドキュメントを否定するものではない。  アジャイルモデリングでは、作成および保守に必要な投資を最大限に活かす開発ドキュメントを作成します。  アジャイルモデリングにおける開発ドキュメントは、可能な限り簡潔で、可能な限り簡素化されており、開発対象のシステムに直接関係した明確な目的を持ち、ニーズの分かっている読者が定義されています。  

9.      AMはモデリングツールを否定するものではない。  アジャイルモデリングでは、開発を効果的に行うのに役立つ、プラスの価値を持つツールを使用します。  さらに、仕事を終えるために必要なもっとも単純なツールを利用することを常に心がけます。

10.   AMは万人向けのものではない。  これについては、後に挙げるエッセイを参照してください。

どのようなモデルがアジャイルか?アジャイルモデリングが意味をなすのはどのようなときか?When Are(n't) You Agile Modeling?も参照。

 

参考文献および推奨図書

参考文献のページ(英語)を参照。