オーストラリアのメルボルンとニュージーランドのウェリントンで3月23日から開催されたSoftware Education SDC(リンク) カンファレンスにおいて、ユースケース、統一モデリング言語(UML)、ラショナル統一プロセス(RUP)に関する本の著者であるIvar Jacobson氏(リンク)がアジャイル開発は「もっと賢くなる」必要があると語った。
Jacobson氏は、IT産業は銀の弾丸を手に入ようとする傾向があり、とても流行に敏感だと述べて、次の例を挙げた:
- 15年前はOO(オブジェクト指向)がすべてだった。
- 10年前はコンポーネント、UML、UP(統一プロセス)だった。
- 5年前はRUPとCMMiだった。
- 2年前はXPだった。
- 今はスクラムだ。
すべて良い要素がある。しかし、どれも私たちが必要なことではない。私たちが必要なことは、賢く働くことだ。 Jacobson氏は「賢いことは、アジャイルであることの進化だ」と言った:
- アジャイルとは、柔軟性に富んで適応性があることだ。
- アジャイルは、簡単で手軽な出発点を提供する。
- 賢いことは、アジャイルを超えるときを知ることだ。
- いつルールに従い、いつ従わないかを知ること。
- いつ一貫性があり、いつ変わるかを知ること。
- いつ成長し、いつ縮小するかを知ること。
Jacobson氏によると、「賢いことは、アジャイル++だ。」 Jacobson氏は続けて、長年に渡って認識してきた数多くの賢い(そして、賢くない)プラクティスとアプローチの例を挙げた。 Jacobson氏が見つけた賢いプラクティスと賢くないプラクティスは以下の通りだ:
- 賢くない人々 - 人よりも重要なものとしてプロセスとツールを見ること
- 賢い人々 - ソフトウェアがプロセスやツールではなく、人によって構築されることを認識し、理解していること!
「ツールバカは、危険なバカではないがそれでもバカだ」 - 賢くないチーム - 個々の責任(要求、分析、設計等)がストーブの煙突のようなグループに編成されたチーム
- 賢いチーム - 枠を超えて協力し合い、作業を引き受ける適度に混ざり合った技術を持つ、小さく(理想を言えば、10人かそれより少ない人たち)自己組織化されたチーム
「ソフトウェアチームは、勝つために必要なすべての能力を持つスポーツチームのようなものだ」 - 賢くないプロジェクト - ウォーターフォールアプローチに従おうとすること。
- 賢いプロジェクト - 重大なリスクをすべて取り除いたことを示して「やせこけたシステム」を構築し、必要に応じてそのやせこけたシステムの上にさらに機能を追加する。
「大きく考えて、多くのステップで構築する」 - 賢くない要求 - 要求をすべて事前に定義しようとすること(ソフトウェア開発で変わらないことは、要求が変わるということだ)
- 賢い要求 - 軽い要求と必要な限りの詳細に関する初期の決定に基づく。要求は交渉の余地があり、優先順位は変化する
「要求の変化にあわせて、プロジェクトをデザインする」 - 賢くないアーキテクチャ - アーキテクチャがないことは、すべて事前に設計しようとすることと同じくらい悪いことだ。
- 賢いアーキテクチャ - かろうじてやせこけたシステムを構築できるだけのアーキテクチャ。アーキテクチャは実行可能なコードでなければならない。
「やせこけたシステムを構築することから始めて、小さなステップで後から筋肉を付け加える」 - 賢くないテスト - 人が2種類に分けられていること - 開発者とテスタ。 賢くないプロジェクトでテスタは、開発者が残した混乱を拾い上げる「ソフトウェア世界の掃除人」だ。
- 賢いテスト - チーム全体が品質に対して合同で責任を持ち、テスタはファーストクラスの住民だ。
「あなたが何をするにしても、したいと思ったことをしたと確認するまで完了していない」 - 賢くないドキュメント - あるプロセスのルールでドキュメントがなければならないと決まっているからといって、ドキュメントのテンプレートに盲目的に書き込むこと
- 賢いドキュメント - 「人々はドキュメントを読まないという自然の法則」を理解する。 絶対に必要なことだけ記録する。
「会話の代わりになる必要不可欠なものに注目する。人々は自分たちで残りを見つけ出す」 - 賢くないプロセス - 絶えず最近の流行に飛びつき、最新のルールブックに応じてやることをすべて変えようとすること
- 賢いプロセス - 大切なものを無用なものと一緒に捨てない
1. 既存の取り組み方から始める
2. 納得のいかない点を見つける
3. 一度に一つのプラクティスを変更する
「人はプロセスに関する本を読まずに本質的なものに注目する。残りは自分たちで見つける。」
賢くなるための重要な要素は、人に注目することだ。Jacobson氏が言うように、「すべてはあなた次第だ。」