未経験者歓迎!知識ゼロからシステムエンジニアを目指す

システム開発の難しさ その5(まとめ)

「システム開発の難しさ その4」からの続き

 


顧客が説明した
要件

プロジェクト
リーダーの理解

アナリストの設計

プログラマの
コード

営業の表現、約束

プロジェクトの
書類

実際の運用

顧客への請求金額

得られたサポート

顧客が本当に
必要だったもの

 

出典:ニコニコ動画 顧客が本当に必要だったもの

 

どうすればよかったのか?

このように、「顧客が本当に必要だったもの」を実現するのは非常に難しいのです。

 

実際、この寓話が示す罠にハマって失敗したり、デスマーチに陥るプロジェクトは後を絶ちません。

 

システム開発の本質的な難しさは、関係者の意思疎通(コミュニケーション)にあるのです。

 

必ずしも、開発側の分析力や技術力の不足だけが原因ではありません。

 

それでは、どうすればよかったのでしょうか。

 

回答の一つとしては、「顧客が本当に必要なもの」をあらかじめしっかりと分析して顧客と合意すると共に、プロジェクト関係者の間でそれを共有すること、があげられるのではないでしょうか。

 

正しいゴールが設定され、共有されていれば、全ての関係者がそれに向かって作業すれば良いだけなのです。

 

しかし、現実には、その「正しいゴール」を見極めるのが最も難題だったりします。

 

特に、予見可能性の低いビジネス分野においては、全関係者が一丸となって「誤ったゴール」に向けて邁進する、という羽目になる可能性は高いのです。

 

また、過去の開発・運用経験や他者の成功事例に引きずられて、現在解決すべき独自の問題を(無意識に)それらに無理やり当てはめて解決を図ろうとする恐れもあります。

 

このようなことを避けるために、最近では「アジャイル開発」と呼ばれる手法が提唱されています。

 

「アジャイル開発」とは、機能を一つずつ完成させて短い期間でリリースしていき、その度に顧客からフィードバックを受けて方向修正していくという開発手法です。
こうすることで、「顧客が必要としないシステム」を作ってしまうリスクを減らしていくのです。

 

アジャイル開発については、詳しく解説している本が出版されていますので、時間があれば読んでみてください。

 

 

PR


 このエントリーをはてなブックマークに追加 

PR


HOME スマホアプリ開発ブログ SE入門講座 プログラミングスクール フリーSE案件サイト SEおすすめ書籍