失敗しないシステム開発
システム開発は規模に関わらず工期が大幅に伸びたり、実現すべき機能が削減されてしまったりといわゆる失敗するシステムも多数あります。これらの失敗の原因は主に3つあると言われています。1つは要求定義をする際に不完全だったり、要望とは違うシステムを開発してしている点です。要望は発注者の意見を聞いた上でまとめられますが、文書になっていない部分で意思疎通がとれておらず、機能がたりなかったり、要望と違う機能を実装していたりと問題が発生することが多いです。
また、この段階で見積もりを作りますが値引きのしすぎなどで人員確保が難しくなってしまう場合も多いようです。2つ目は内部設計のミスです。内部設計ではシステムをモジュール程度まで分割して作成します。各モジュールはプログラマ1人もしくはチームで作成することになりますが、モジュール間のデータの受け渡しがよくなかったり、そもそも間違っている場合も多いようです。
また、コーディングは外部に委託する企業も多く、意思疎通がうまく取れていない場合にも仕様書どおりのモジュールができていなかったり、パフォーマンスが出ないことが多いようです。そして3つ目は機能変更に弱いチームの場合です。発注後に機能変更が行われる場合はよくありますが、コーディングのチーム編成の見直しがうまくできていなかったり、コーディング能力が足りない場合には機能変更にうまく対応できずに工期が遅れる原因となってしまうことが多いようです