ソフトウェア開発プロジェクトにはどうして遅延が生じてしまうのか
ソフトウェアの開発プロジェクトでは当初定められていた納期に間に合わず、想定外のコストがかかったり訴訟に発展したりするのがつきものです。どうしてソフトウェア開発プロジェクトで遅延が起きるのかを、ソフトウェア開発プロセスの第一人者であり、IEEEのフェローでもあるトム・デマルコさんが解説しています。
All Late Projects Are the Same
(pdf)http://www.systemsguild.com/pdfs/DeMarcoNov2011.pdf
ベル研究所に勤めていたデマルコさんは1960年代の初め、ハードウェアエンジニアからソフトウェアエンジニアに職を切り替えました。そして「ソフトウェアがいかに難しいか」を思い知らされたとのこと。また、そのことをプロジェクトマネージャーに分かってもらうのも難しいことだったそうです。
1990年代には、デマルコさんは訴訟のサポートを仕事にしていたとのこと。訴訟というのはつまり、「プロジェクトが納期に間に合わず、お金が費やされたがソフトウェアは完成していない」という失敗した状況を扱うもの。時には発注元、またある時には受注元から仕事を受け……とさまざまな仕事を受けたそうですが、結局どの訴訟でも儲かったのは弁護士とデマルコさんだけだったようです。
数々の訴訟を見る中で、デマルコさんは失敗がクオリティの低さや応答時間の長さ、インターフェースが使えないなどではなく、全て「遅延」に関連したものだと気付いたとのこと。さらにデマルコさんは記事の中で「そうしたプロジェクトはパフォーマンスが問題だったのではなく、見積もりに問題があるという点ですべて同じものだ」と述べた上で、「多くのプロジェクトで全く見積もりが行われていない」と指摘しています。
また、デマルコさんは「遅延したプロジェクト全てに共通しているのは、始めるのが遅すぎたということだ」という一文を紹介した上で、始めるのが遅くなる理由を3つ述べています。
1. 実行可能で望ましい物だと競合が証明するまで誰もプロジェクトを始める勇気を持っていない
2. もしプロジェクトを十分早く立ち上げた場合、その時に世の中に存在する需要よりも多くの費用がかかるという問題に直面する
3. 機会の窓が閉じるまでにプロジェクトを完遂する必要があることを誰も認識していない
特に1つ目の理由は正しくビジネスの失敗であると言えます。ソフトウェアの開発者による失敗ではなく、実行可能で望ましい物だと見抜けなかったマーケティングの失敗です。さらにデマルコさんは「競合と同等の製品を素早く作成できなかったソフトウェア開発者についてのノイズをバラまくことは、実際に起きたことや責任を負うべき人を見失わせる」と述べています。
また、デマルコさんはプロジェクトの利益が小さすぎるのも問題だとしています。例えば推定費用の10倍の収益が出るプロジェクトであれば、実際の費用が推定費用の倍になっても誰も気にしませんが、収益が推定費用よりも10%ほどしか高くない場合は悲惨なことになります。「ソフトウェア開発者達がスケジュール通りにできないのは何が問題なんだ?」という考えに執着するのではなく、「どうしてこんなに小さい利益のプロジェクトをスタートさせたんだ?」と聞いてみる必要があるとのこと。
記事の最後でデマルコさんは「別の誰かの失敗のせいでソフトウェア開発者達が非難されているのが問題だ」と締めくくっています。
・関連記事
ドラクエXはこうして作られた、大規模ゲーム開発におけるマネージメント方法 - GIGAZINE
数々のエンジニアリングチームを導いた人物がマネジメントの中から学んだ教訓とは? - GIGAZINE
「ペン・値札・懐中電灯」という3つの道具でマネジメントの極意を学ぶ - GIGAZINE
これがNASA流の仕事術、「プロジェクトマネージャーが守るべきルール100」が公開される - GIGAZINE
Googleによるシステム開発・維持管理ノウハウをまとめた本が無料公開中 - GIGAZINE
・関連コンテンツ