前回に続き、要求仕様の確定をめぐる話である。納期を守れない最大の理由は、「仕様の確定・凍結の遅れ」と言われている。いかに早く、詳細かつ簡明に仕様を固めるかがプロジェクトの課題である。仕様凍結の遅れは、納期の遅延だけでなく、品質面でもコスト面でも影響が少なくない。

71日目●凍結が遅れなければまず動く

 システム開発プロジェクトが、契約納期と予算を守って成功裏に完結するためには、いろいろな条件が満たされなければならない。なかでも、システム仕様の早期凍結が極めて重要な条件である。経験上、仕様凍結が当初の予定どおりに達成できれば、後はなんとかうまくいくものだ。

 企業へのアンケート調査でも、「納期遅延の最大原因は仕様凍結が遅れたから」と、多くのユーザーが自ら認めている。ベンダー側としても、仕様を早期凍結するには、プロジェクトの開始時点でしっかりと工程を設計し、「いつまでに仕様を決めないと納期が守れない」ということを顧客に訴え、仕様凍結日について顧客と合意しておきたい。同時に、どういう順序で仕様を凍結していけば全体工程が遅れないで済むかをよく考え、提案によって仕様凍結を先導していかなければならない。



72日目●仕様決め延ばせばコスト跳ね上がる

 アラン・M・デービスの『ソフトウェア開発201の法則』によると、要求段階の修正コストに比べ、設計段階の修正は5倍、コーディング段階の修正は10倍、テスト段階の修正は20倍、納入後の修正は200倍になるという。後で直すほど、それまでの工数がむだになるし、テストもやり直すわけだから、絶対数値は別にしても納得できる話である。すなわち、仕様は直すなら早く直し、早期凍結が肝心ということだ。

 ある大手損保では1999年から2000年にかけて、大小合わせて年間400件以上のシステム・トラブルが発生していた。そこで開発手順を見直し、仕様を初期段階で固めるようにしたところ、翌年にはシステム・トラブルは8割減になり、翌々年にはそのまた8割減になったという。それだけ仕様の早期凍結が重要だということである。



73日目●詰めきらぬ仕様で走れば大渋滞

 仕様凍結予定日を過ぎても仕様がまとまりきらない場合、なんとか納期を守ろうとして、ついついいい加減な仕様で開発に着手し、後で問題が出て来たときに対策しようとする事例が多いが、このやり方は極めて危ない。

 ソフトの修正は、ハードに比べ誰にも簡単に見える。だが、多数のメンバーが絡む大規模システムでは、混乱は予想をはるかに超える。ハード以上に困難と考えたほうが妥当であろう。

 逆にきちんと仕様を固めてから開発に着手すれば、当初は工程が遅れるが、回復のスピードは次第に上がる。仕様が確定していれば応援者を入れても十分効果が出るためだ。さらに仕様の全ぼうが見えれば仕様の優先順位も立てやすくなる。仮に全部が間に合わなくても、必要最低限の機能を予定通り稼働させることはなんとかできるであろう。



74日目●決めるべき仕様を先に決めてくれ

 システム全体の仕様を早期に凍結することが、プロジェクト成功の大きな要素である。しかし現実には、大きなシステムの仕様を一気に決めることは、顧客側、ベンダー側ともに体制がそろわないこともあり、なかなか理想どおりには運ばない。

 そこで必要なことは、システムの機能を優先度別に3段階程度に分け、絶対必要な機能から順番に決めていくように、顧客とベンダーが調整することだ。仕様確定のための工程をきちんと決め、顧客と合意を取りながら、しっかりとフォローする。単に「早く決めてください」と請願するだけでは、ほとんど効果のないことは多くの実例が示している。

 こうした仕様決定のアプローチを採れば、必要な機能の早期仕様確定が着実になるだけでなく、優先度を全員が強く意識することから、プロジェクト管理面でもよい効果がでてくる。