« 1回のリリースは100回のレビューに勝る | トップページ | システム開発に必要な役割 »

2009/08/13

ソフトウェア開発はオーバーヘッドが大きい

ソフトウェア開発に従事して思うことは、色んな意味のオーバーヘッドが多いこと。

顧客の要望を聞いてから、設計してプログラムへ実装するのに結構時間がかかる。
顧客の要望を聞いた日から、実際に顧客がシステムを確認するまでに、かなり時間がかかる。

設計者と開発者、開発者とテスト担当者の間では、システムの理解度、業務の理解度に距離感があり、その差を埋めるためのコミュニケーションはかなりのオーバーヘッドが生じている。
実際、朝会やふりかえりはそのための時間なのだが、それ以外でもレビューなど、色んなコストがかかっている。

そして、「人月の神話―狼人間を撃つ銀の弾はない」の話のように、人を注ぎ込むほど、実は開発速度は上がらないという矛盾がある。
また、昨今のような短納期の開発では、開発者の出入りが激しく、チームビルディングが非常に難しくなっている。
ソフトウェア開発は、技術力のある人にすごく依存している。

ソフトウェア開発は製造業のように、リソースを注入すれば、生産性が劇的にアップするわけではない。
むしろ、破壊的イノベーションを奨励して、そのイノベーションから生じる技術革新の方がはるかに生産性が高くなる。

ソフトウェアはすごく繊細だ。
他の産業よりも、コミュニケーションコストがはるかに高いのではないか?

レビューやソースインスペクションだけでなく、ペア設計、ペアプログラミング、本番リリースをペア作業など、一緒に作業することは実は重要だ。
理由は、欠陥の防止だけでなく、システムの設計思想を共有しやすくするためにあるからだ。

二人による共同作業でコストがかかることを恐れてはいけない。

|

« 1回のリリースは100回のレビューに勝る | トップページ | システム開発に必要な役割 »

プロジェクトマネジメント」カテゴリの記事

プロジェクトファシリテーション」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: ソフトウェア開発はオーバーヘッドが大きい:

« 1回のリリースは100回のレビューに勝る | トップページ | システム開発に必要な役割 »