GeekFactory

int128.hatenablog.com

システム開発においてその場で確認しながら進められることの重要性

受託開発という一品モノを作るプロセスは本質的に非効率であり、その非効率性をどうやって改善するかを議論したい、というのが昨日のエントリの主張です。外注 vs 内製というワイドショーはナンセンス。タイトルの付け方がかなり恣意的だったかもしれませんね :-)

ITシステムの要件や仕様を伝達するには文字や図面では不十分で、口頭による説明を要することが本質的な原因ではないかと思います。この原因を解決するには、文字や図面で表現するのを頑張る、もしくは発注側と受託側を(物理的にも組織的にも)近づけるという方法があるでしょう。

受託開発が抱える本質的な非効率性に関する考察 - GeekFactory

一品モノを作るプロセスでは、人間の学習コストが無視できないほど大きくなります。すべてをドキュメント化して、ドキュメントを渡せばモノが出てくるような、工場のようなやり方では破綻しますよ。

興味深いご意見を頂きました。

システム開発でも同じではないかと考えている。

ただ、仕様化が決定的に遅れているという印象をもつ。

ハウスメーカーは設計と施工を同一会社で行うことが多いので、その会社毎の方式で進められる。

建築家と施工屋の場合でもほぼ決まった何種類かの図面を使って仕事を進めている。

しかし、家の場合でも完全に仕様化できているわけではない。

図面に書き表せないことがたくさんあり、その場で確認しながら進めていることも多い。

それでもシステム開発よりは仕様化が進んでいる。

受託開発は本質的に効率が悪いのか - 神崎コンサルノート

システム開発ではインフラ構築が建築に近いと思います。製品を組み合わせて方式を決めることが設計なので、ソフトウェア開発よりも仕様化は進んでいるように思えます。ただ、発注側からは非機能要件が見えづらいという別の問題を抱えています。これは別の機会に書きます。

ソフトウェア開発で仕様化が難しいのは、ソフトウェア自体の複雑さに起因すると思います。また月並みな意見になってしまいますが、歴史が浅くてノウハウの蓄積が少ないためかと。

上記で述べられている、「その場で確認しながら進めていること」は重要な鍵になると私は思っています。システム開発でも、仕様の決定者と実装者がその場で確認しながら作業を進めることで、仕様の学習コストを下げて非効率性を取り除けるはずです。