ソフトウェア開発プロジェクが火を噴くパターンは、自分の経験から判断する限り、3つに分ける事ができる。
1、リリースまでに要件を満たせていない。
2、技術課題をクリアできていない。
3、品質に問題がある。
自分が考える原因と、解決方法を以下に列挙します。
1、リリースまでに要件を満たせていない。
【原因】
要件に対する見積が甘かった事で、納期までにソフトウェアが完成しない事が、開発の後半を過ぎた辺りに発覚する事で発生します。
【対処】
・要件に無茶がある場合は、フェーズを切って、初期リリースまでに必須な要件、初期リリースではなくても構わない要件、本当は無くても構わない仕様を分けてリストアップ。
・フェーズを分ける事をクライアントに説明し、初期リリース時に必須だと認識している機能に齟齬が無いか、本当は不要な機能はどれか、クライアントに事情を説明した上で再度認識を合わせ、各フェーズの実装内容とリリース時期を調整する。
・クライアントへ誠実に事情を説明し、クライアントにとっての損害を最小限に抑える為に、対応可能な選択肢の中で、今後プロジェクトをどう進めれば良いか、建設的な議論を行う必要があります。
2、技術課題をクリアできていない。
【原因】
技術課題をクリアできない事が開発後半で明らかになるのは、ソフトウェア開発プロジェクトにとって最も致命的です。その為、要件定義段階で最も優秀な人材を投入し、見積の範囲内で実現可能な技術方式を決め、プロジェクトが開始されたら早々にプロトタイプの開発を始める事が重要ですが、これを怠ると本トラブルが発生します。
【対処】
・プロジェクトに参加しているメンバーの中で、最も優秀な人員を投入し、引き継ぎを行った上で、改めて実現可能な技術方式とプロトタイプの作成をやり直します。
・プロジェクトのメンバーでは解決不能と判断される場合は、外部の優秀な人材を投入します。
・クライアントへ誠実に事情を説明し、クライアントにとっての損害を最小限に抑える為に、対応可能な選択肢の中で、今後プロジェクトをどう進めれば良いか、建設的な議論を行う必要があります。
3、品質に問題がある。
【原因】
>要となる設計書が無かったりメンテナンスされてなく、必須のテスト仕様書を作成せずに開発を進める事で、納品までに最低限のテストが行われず、納品後に品質の問題が発生します。
【対処】
・要となる設計書をちゃんとメンテナンスし、それに基づいたテスト仕様書を用意します。
・何をインプットすると、どういうアプトプットが返って来るのか、精度の高いシナリオテスト仕様を作成し、テストを実施します。
・各入力欄に対する限界値分析を行い、限界値テストを実施します。
コメント