下記に留意すれば役にも立たないシステムはだいぶ減るし、エンジニアがプログラミングを行う妨げも減ります

つまりはエンジニアを正しく活用できないからダメなシステムが出来るってことを焼き直しているだけだ。簡単に言えば、理由なんてそれだけでしょ? この議論をもっとしていきましょうよ。なぜシステムがクソなのかじゃなくて、何故エンジニアをマネジメントできなかったのかという方向にさ。
エンジニアのマネジメントをどう行えば最適なのかは難しいけれど、下記に留意すればずいぶん違う。

・要望と仕様の区別がつけられないなら、安易に業者に発注するな。変更管理が破綻する。
・仕様の策定者と実装者は同一人物にすること。上流だけのSEは不要です。
・工程間のフィードバックが取れないやり方を活用するな。空中分解するだけだ。
・要望を設計に落としこめるアーキテクトを活用しろ。このコストをケチるな。
・安易に価格を値切るな。いずれ品質が問題になる。

この5つに留意すれば、クソの役にも立たないシステムはだいぶ減るし、エンジニアがプログラミングを行う妨げも減ります。断言します。

引用元:http://gkojay.tumblr.com/post/179184716584