The Dragon Scroll

Be just and fear not.

何のためのアジャイルか。

「滝に打たれて、心はアジャイル


この言葉がずっと頭から離れていない。
オブラブで平鍋さんがアジャイル開発元年というセッションで使った言葉です。
滝というのは、ウォーターフォールのこと。


アジャイルが良い、アジャイルをやりたいと心では思いながらも、現実には
そうはいかない、従来どおりのウォーターフォール開発をしなければならない。
心にアジャイルを宿すことは忘れない。
なんだか悲壮ですね。
しかし、実際はそういう方が多いのではないでしょうか。
私もその一人です。


平鍋さんのセッションではウォーターフォールアジャイルの比較の
説明が印象に残りました。


ウォータフォールは、ビジネスとITが分断された状況で、
・ビジネス→ITは、発注
・IT→ビジネスは、納品
という関係にある。
この関係を半年から三年という長いスパンで持続させるため
その間にビジネスからの要求が劣化する可能性がある、
つまり、作った頃には問題が変わってしまって、使われないシステムに
なってしまうと。


一方、アジャイルは、ビジネスとITが一体となった、OneTeam。
ミッションとリスクを、ビジネスとITがお互い共有する状況。
これにより、ビジネス側は、早期サービスを開始することができ、
その効果をすぐに確認することができる。
ITの側もテクノロジ、開発に徐々に慣れていくことができる。
ビジネスとITが学習しながら成長していくと。


短い期間で、要求が変わる、あるいは、試行しながら要求を定めていきたい場合などは
アジャイル開発がはまると感じている。
例えば、BtoCのネットサービスが上げられそうだ。
エンドユーザの反応(フィードバック)を見つつ、つぎの仕掛けを考えていく、
サービスを進化させていくビジネスの形態。
そもそも、ToBeが経時的に進化していくようなビジネスに、ウォーターフォール
開発が当てはまるだろうか?


業務アプリケーションはどうか?
Wiegersの定義する機能要求レベル*1の要求は頻繁に変わる可能性がやはりある。

要求開発と要求管理

要求開発と要求管理

ユーザ要求*2も、ToBeが見えていなければ、同様と考えられる。
しかし、ビジネス要求*3は、異なると思っている。
この部分が頻繁に変わるようでは、そもそもそのプロジェクトをやる意義はどこにあるのか?
という話になりかねない。
(短期間に変わるような問題、課題を、そもそも解決する意義があるのだろうか。)


ユーザ企業に所属するとある方の言葉を今でも覚えている。


「僕達は、決めたいときに決めたいんだ。今、決めたいわけじゃない。」

*1:機能レベルの振る舞いに関する要求

*2:システムが実現すべきWhatに関する要求

*3:Whyを示すもの。なぜそのシステム開発を行うのか、その要求。