プロジェクト管理
開発プロセス
アンチパターン
ソフトウェア開発

成功する開発と、そうならなかった開発とを違いを生じさせてしまうものは、時間という開発資源をどう失ってしまうかにもよっている。

時間という開発資源を失ってしまう典型的な例を述べる。

  • 事例:「資料をきちんとPowerPointにまとめてからにしよう。」
    • たいがいの場合、そのPowerPointは、上司に説明するためだけのものであって、成果物として管理される必要のあるドキュメントではなかったりする。
    • その分野の判断を適切にできる人の場合だと何もPowerPointになっていなくても判断できるものです。
    • 少しでも早く状況をつかんで判断を加速するためには、PowerPointにする必然性はないのです。
    • PowerPointが目的なのではなく、適切な判断を早くすることこそが重要なのです。
  • 事例:「仕様を十分に確定できないうちはコードを書くな。」
    • 何をどう作るべきか、頭の中で完璧に最終実装の仕様を設計できる人はいますか?
    • 「プログラミング作法」の中でもCSVファイルのパーサーを作る話が書いてあって、最初の実装は捨てられるものだという趣旨のことが書いていました。
    • 実装しだしてみれば、何が必要かが見えてくるものです。
  • 事例:「話は十分に整理ができてから持って来い。」
    • 話はいきなり十分明確になるわけではありません。少しづつ情報が集まってくる中で、問題点が見えてきたり、解決が見えてきたりします。
    • 話が十分明確になるのを、だれが見ても明確になるのを待っていたら、そのときはいつまでもやって来ません。
    • 例:熱力学の第2法則が十分に明確になったのはいつと言えますか? あなたの上司を含めて「だれが見ても明確になる」のはいつですか?
  • 事例:「うまくいくかどうか十分な根拠がない話をもってくるな。」
    • 新しいアイディアは「うまくいきそうな気がする」アイディアであって、「うまくいくことが確かめられた」アイディアではない。
    • 「うまくいくことが確かめられた」アイディアは相談する必要がない。
  • 事例:「自分の仕事なんだから、とにかく自力で解決しよう。」

    • 必要なのは組織としての成果です。
    • 手助けをもらうことで早く結果を出すことが組織として重要です。
  • 事例:「他のチームのメンバーに話を伝える前には、必ず自分のチームのリーダーを通せ。」

    • 両方のチームのリーダーは、技術的な問題を自力で解決できるほどに、その分野に研ぎ澄まされていますか?
    • うまくいくか、いかないかわからない話を、リーダーを通して話を通してもらう気はしますか?

このような事例が、開発において重要な時間という資源を失ってしまうのです。
技術開発は、他社との競争です。
早く判断できること、それができない開発チームは、他社との開発競争に勝つことができません。
開発が1年遅れることで必要になる開発資金はいくらですか.
そのことを意識して開発してください。

日本の大企業が、技術の優位性をどんどん失ってきている理由の1つは、時間という開発資源の重要性を気にしていないことではないかと私は疑っています。


時間という開発資源が重要な理由:

 ある製品の発表が1ヶ月延期になったとしましょう。そうすると、その開発に関わっている人すべての人件費の1ヶ月分の費用がかかります。必要な施設や設備の分も1ヶ月分の費用がかかります。クリティカル・パスの1ヶ月は、それだけの分だけコストを増加させてしまうのです。
 あなたがクリティカル・パスにいる場合、大声を上げて助けを求めてください。
 あなたの1ヶ月の遅れで発生するコストは、開発に加わっている人数分の倍だけ大きくなって影響します。
 でも、社内で3人が1ヶ月協力してくれる場合には、3人月のコストアップで済むし、開発の期日を守ることができます。
 ですから、時間という開発資源を大切にし、大声で助けを求めてください。 

時間という開発資源が重要な理由(追記):

 時間という開発資源をきちんと管理できているのかどうかという点は、そのプロジェクトに対する評価で重要な項目です。予算管理がきちんとできているかと同様に重要視されます。ですから、時間という開発資源を、ここに示したような事例で時間という開発資源を失わないでください。

 日本企業のパソコン事業の多くは、時間という資源を無駄にしてしまった。事業を断念するか、事業を売却するにいたっています。信頼のブランドという過去の栄光に頼りすぎて、どうやって事業を成長させるのかについて、その企業の外の人にいる人に対して価値のある戦略を何ひとつとらないままになってしまって、時間という開発資源を失ってしまっているのです。