ギリガン島からの脱出

Jeff Atwood / 青木靖 訳
2007年6月18日
 

スティーブ・マコネルの書いた開発プロセスで良くある誤りのリストと、その付録のケーススタディを年に1度くらいは見直しておくと助けになる。私が前にも同じ話しをしているようだったら止めてほしい。

「ねえマイク」トーマスが言った。「プログラムを今日引き渡して、それを『機能完成版』だと言うことだってできる。だけど仕上げをするのに、そのあとたぶん3週間 くらいかかる」。マイクはその「仕上げ」というのが何を意味しているのかトーマスに尋ねた。 「それぞれのページに会社のロゴがまだついていない。それから代理店の名前と電話番号をページの下の方に出すことになっているけど、それもやってない。なんかそういった細かいことだよ。重要なところはすべてちゃんと動くようになっている。99パーセントできているんだ」

ソフトウェアの古い諺に言うように、「タスクの最初の90パーセントには90パーセントの時間がかかり、そして最後の10パーセントにはさらに90パーセントの時間がかかる」のだ。

良くある誤りのケーススタディを読むのは気が重い。America's Most Wantedに出ている事件の再現を見るようだ。それは誇張されてはいるが、自分でこれまで目にしてきたソフトウェアプロジェクトにおける病理のほとんどすべてが、奇妙なくらい正確に要約されている。

これはマコネルがギリガン島になぞらえている現象で、難破者たちは毎週島から脱出するための新しいクレージーな方法を試みるのだが、結局彼らは島に押しとどめられることになる。

ソフトウェア開発との類似点が見て取れないというなら、ソフトウェアプロジェクト失敗の長く惨めな歴史について、もう一度語らせてもらうことにしよう。良くある誤りが良くある理由は、それが魅惑的なためだ。それらの罠に引っかかった時、意識してそのことに気付くよう努める必要がある。スティーブが以前インタビューで話しているように。

ソフトウェアプロジェクトの成功がかかっているのは、いくつかのことを間違わずに行うことではなく、ほとんどすべてのことを正しくやるということなのだ。

これが、マコネルのラピッドデベロップメントで解説されている36のよくある誤りの1つひとつを、今、頭に焼き付けておく必要がある理由だ。

人に関する誤り プロセスに関する誤り 製品に関する誤り テクノロジーに関する誤り
  1. モチベーションを損なう
  2. 個々人の能力の低さ
  3. 問題のあるスタッフが放置されている
  4. 英雄主義
  5. 遅れたプロジェクトに増員する
  6. 騒がしくゴミゴミした環境
  7. 開発者と顧客の衝突
  8. 非現実的な期待
  9. プロジェクトへの効果的な支援の欠如
  10. 関係者を取り込めていない
  11. ユーザからのインプットがない
  12. 実質的なことよりも政治が上に来ている
  13. 願望的思考
  1. 過度に楽観的なスケジュール
  2. 不十分なリスクマネジメント
  3. 外注先の失敗
  4. 不十分な計画
  5. プレッシャーの元で計画することをやめる
  6. プロジェクト準備段階の時間を無為に過ごす
  7. 上流工程をはしょる
  8. 不適切なデザイン
  9. QAをはしょる
  10. 管理者によるコントロールの欠如
  11. 収束を急ぎすぎる、あるいは頻繁すぎる
  12. 必要なタスクが見積りから漏れている
  13. 後で挽回する計画を立てる
  14. ひたすら狂ったようにコーディングする
  1. (必要以上の機能が盛り込まれた)金ぴかの要求仕様
  2. 機能の膨張
  3. (必要もない新技術を使いたがる)開発者の金ぴか好み
  4. 押しつ押されつの交渉
  5. 研究的な開発
  1. 銀の弾丸シンドローム
  2. 新しいツールや方法論に過度の期待をかける
  3. プロジェクトの途中でツールを切り替える
  4. ソース管理が行われていない

経験を積んだ開発者と経験のない開発者の違いが何かというと、経験を積んだ開発者には誤りを犯している時にそれと分るということだ。同じ事はソフトウェアプロジェクトやプロジェクトマネージャについても言える。ソフトウェアプロジェクトを進めるとき、よくあるプロジェクトの 間違いのリストを意識して読み返さないなら、それらの間違いのどれかを今犯していそうかどうかもわからないだろう。

誤りを犯すことは避けられないにしても、同じ誤りを繰り返すのは避けられることなのだ。犯す誤りがすべて新しく、前に見たことがないものになるよう努める必要がある。スティーブ・マコネルはブログで良くある誤りをいくつか新しく取り上げており、これは10年目にしての聖典への追加ということになる。

スティーブはまた、我々読者からのフィードバックを求めている。彼は良くある誤りについてアンケートをしていて、参加者を募っているところだ。ソフトウェアプロジェクトについて何らかの経験があるなら、是非協力するといい

ソフトウェア開発は本当に分の悪い戦いだ。しかしこれまでのプロジェクトで他の多くの人たちが犯しているのと同じ誤りを避けることができたなら、島から脱出することだってできるかもしれない。そのことを時々思い返すのはいいことだと思う。

 

home  rss  

オリジナル:  Escaping From Gilligan's Island

© Copyright 2007 Jeff Atwood. All Rights Reserved.