【原理原則16】 機能要求は膨張する。コスト,納期が抑制する

【基本的な考え方】
 限られた「期間」と「コスト」の中で必要な「機能を実現」して、初めて評価されるということを忘れてはいけません。システムの開発においては、実現する機能とコストと納期のバランスが重要ですが、このバランスを保つのは非常に困難なことでもあります。プロジェクトメンバーはともするとシステム開発に没頭し、本来同時に達成すべきコストと納期をおろそかにしがちです。自分の家を建てるときには予算や引っ越しの時期との折り合いをつけるのに、システム開発では自分の懐が痛まないので、どうしても機能>コスト・納期の関係になりがちです。また、多くの場合、システム開発のコストは実現する機能ではなく、工数に比率しますから、どのくらいの作業が残っているのかをきちんと把握しながら、機能との折り合いをつけて作業を進める必要があります。このバランス感覚をプロジェクトメンバー全員が持っていなければ意味がありません。
 新規ビジネスほど不確定要素が多く、ビジネス環境や事業戦略の大きな変化が予想されるため、システムも初期投資をおさえて、段階的に大きくしていくことを考えなければなりません。プロジェクトの背景や目的に応じたシステム化の範囲を検討し、「ついでにこの範囲も」という考え方は本来の目的を見失うので絶対に避けましょう。
 要件の検討は、工程の進捗に応じ、自由に発想する段階と、現実的にMUST要件に絞り込む段階を使い分ける必要があり、要件がある程度の粒度詳細化された段階で、優先順位付け、コスト評価・リスク評価を行い、予算や期間などのプロジェクトの制約の中で絞り込む必要があります。
 納期が守れないと単にペナルティなどの経済的損失だけでは済まされず、社会的信用すら失われることもあります。その場合は、段階的システム稼働の提案など、確実に実現できる機能に絞り込むことも必要となります。
【行動規範】
・発注者は、必要最低限のシステム構築からスタートする。
・発注者は、要求を抽出する段階と、要件として絞り込む段階を分ける。
・発注者は、要件の優先順位付けをする。
・受注者は、納期限界を超える開発量と判断したら、段階的稼働を提案する。