システムが以前よりも複雑化している現在,多くの開発者やユーザーは,「仕様変更がある程度起こるのは仕方がないこと」と前向きに受け止めてはいる。だが一方で,仕様変更によるコスト超過などが原因で,プロジェクトが失敗に陥ることが非常に多い。仕様変更によるトラブルを極力防ぐにはどうすればよいのか。現場担当者の知恵から解決法を探ってみた。

 「設計書の50%に手を加えなければならないほど仕様変更が続出し,収拾がつかなくなってしまった」。NTTデータ東北の太田雅典氏(法人システム事業部 第一開発担当課長)は,数年前に手がけたある出版社の広告管理システムで,開発中に起こった仕様変更のトラブルを振り返る。このプロジェクトでは,設計が一通り終わり,実装(プログラミング)フェーズに入ってから,データベース(DB)の構造や,帳票出力用の計算式,他システムとの接続インタフェースなど,システムの根幹をなす仕様の変更を次から次へと要求された。その結果,赤字すれすれの状態に陥ったが,太田氏は何とか納期に遅れることなくプロジェクトを完遂させた――。

 このトラブルの最大の原因は,「ユーザーとのコミュニケーション不足」であると太田氏は分析している。

 NTTデータ東北側にあったコミュニケーション上の問題は,「ユーザーと仕様変更に関する取り決めを事前にしていなかったこと」や,「設計書の内容をしっかりユーザーに説明できていなかったこと」にある。そのため,後になってユーザーから「そのような説明は聞いていない」と言われるなど意識のすれ違いが起こってしまった。さらに,現場の開発者が,ユーザーからの仕様変更要求を「分かりました」と安易に受け入れてしまい,歯止めが利かなくなってしまったことも大きかった。

 一方,ユーザー側にも問題があった。設計フェーズで取り決めた仕様が,実は関係者全員のコンセンサスを得たものではなかったのだ。このため,「あるユーザーが出した変更要求が,後になって別のユーザーにひっくり返されてしまった」(太田氏)という。

昔からある問題がますます難しく

 「仕様変更は,ホストの時代からあった問題」(NEC システム技術統括本部 シニアエキスパート 加藤一郎氏)だが,その一方で,最近はシステム構築の現場を取り巻く状況がどんどん変わってきている。「ビジネス(仕様)のない状態でシステムの構築を始めることが増えている」(アイ・ティ・イノベーション 取締役 コンサルティングマネージャー 能登原伸二氏),「情報システム部門に業務知識が不足し,エンドユーザーをうまくコントロールできない状態になってきている」(富士通 産業・流通ソリューションビジネスグループ マネジメントセンター 担当部長 芝原輝夫氏)という具合だ。

 こうした変化に伴い,多くの開発者やユーザーは,「仕様変更はどうしても起こるもの」として前向きに受け止めている。とはいえ,仕様変更要求のすべてを受け入れることはできない。もしもそうしてしまうと,コスト超過や納期遅れなど,プロジェクトが失敗に陥る危険があるからだ。

 残念ながら,仕様変更を誰もがうまくさばけるような“方程式”は,今も昔も変わらず存在しない。そのような中でも,システム開発現場の担当者は,さまざまな工夫を凝らして仕様変更に取り組んでいる。仕様変更の要求をうまくさばき,プロジェクトを成功に導くための糸口を,現場担当者の工夫やノウハウから探っていこう(表1)。

表1●仕様変更を巡る九つの問題点
表1●仕様変更を巡る九つの問題点