火事場開発モデルとアジャイル開発モデル | それゆけ西表島

火事場開発モデルとアジャイル開発モデル


@IT 開発現場の天国と地獄 第3回 ベテランならホントに安心なのか?

via オレンジニュース

---
顧客は運送会社であったために、長距離ドライバー向けの宿泊施設を持っていました。そこがその日からプロジェクトルームになりました。事実上、要件定義と、設計と、詳細設計、実装を同時にしているような状態でした。最大の効率で構築が行えたのは、本来プロジェクトチームが分担すべき各ロールを2人の人間に集約し、その人間が月間400時間を超える労働時間で対応したからでした。この対応方法に学ぶべきものは何もありませんが、効率が非常に良かったのは事実です。

---

火事場開発モデルとは、すでに納期から遅れている、または納期が遅れそう、という時に、ソフトウェア開発受託側の会社が危機的状況を打開するため、また顧客への言い訳として、エース級の戦力をなりふり構わず投入するというモデルである。

火事場開発モデルとアジャイル開発モデルはよく似ている。しかし、アジャイル開発の根幹の考え方の1つとして、個人を大切にするということがなかっただろうか。火事場開発モデルは、会社に利があれども、個人にはなんの利もないことに気付かなければならない。火事場開発とアジャイル開発は別物である。

プロジェクトが火事にならないようにどうすればいいか、ということを考える人がいるプロジェクトは基本的に火事にならないので、火事になるプロジェクトはほとんどが人材不足、力不足なのである。問題は人材不足なのにプロジェクトを引き受けてしまう会社であり、責任は会社が負うべきなのだ。

一番いいのは、火事場に近づかないことなのだが、世の中のしがらみがそうはさせてくれないことがよくある。そうでなくても、プログラマ側も軽く考えている節があるし、少しばかりのボーナスに釣られてしまうこともあるだろう。

そんなプログラマのための火事場開発モデルでのポイントは、次の2点である。

1.権限を得る-火事場では、発言権を得ないと、本当に身も心もボロボロにされてしまう。社内の別プロジェクトだろうが、社外のプロジェクトだろうが、参加する以上はある程度コントロールできる権限を手に入れなければならない。自分の意見が通らない火事場では、逃げなければ燃えてしまう。

2.納期の仕切り直し-無理なものは無理なので、出来るだけ早く、一秒でも早く、寝ずにやってくれ、と言われても納期は仕切り直しである。仕様は決まっているはずなので、見積もりはそれなりに精度が高いものが出来るだろう。納期の仕切り直しを許さない顧客とか上司とかがいる場合は、いちおう目安としてとでも言って説得を試みよう。それでも無理なら逃げるしかない。

あとは、火事場に入る前に、夜食の提供とか、寝る場所の提供とか、わがままをできるだけ言っておく。言うのはただだ。火事場は入るまでは飴ばっかりで、入った後は鞭ばっかりと覚悟しておいたほうがよい。

それでも一度は火事場を経験してみるのも面白いかもしれないが、諸刃の剣なので、あまりお勧めできない。