SI開発で再利用が必要なのは部品ではなくチームだ。
この半年、巨大なシステムの開発で学んだことの1つは、
SIという業態の中で再利用が必要なのは、部品ではなくチームであるということ。
チームに蓄積するノウハウや暗黙知こそ再利用するべきで、
案件の度に体制の伸縮を繰り返すやり方では、いくら部品化や共通化を進めたって効率もへったくれもあったもんじゃない。
部品の再利用は確かに可能で、非機能的な部品やフレームワークは活躍するんだけど、
ドメインオブジェクトのレベルでの再利用はやはり難しいし
そもそも部品やフレームワークは使いどころを知っていて、設計や試験を省力化するところまでやってこそだと思う。
システム開発の工程の中で、製造工程はどう考えても一部分であって設計+試験が圧倒的に長い。(保守期間はもっと長い)
設計や試験に効果を発揮するのは、部品よりもチームだ。
例えば、僕らの現場ではSOAにも取り組んでいて、権威と呼べるような人たちがその設計をやってもいるけれど、再利用性が進んでいるとは言えない。
しかし、一度苦楽を共にしたチームで新たな案件に挑戦すると、充実した成功体験を得ることが出来る。
チームを再利用する上で、気をつけておかなくてはならないのは、「革新を取り入れること」だと思う。
組織が小慣れてくると、どうしても今までのやり方に依存してしまう。
進化しない組織は、死ぬ。
これは歴史が証明してるし、経営学的には今や常識みたいなもんだ。
「部品の再利用」を起点にすると、部品のブラッシュアップは自己矛盾した考え方になるが、
「チームの再利用」を起点にすると、
部品も過去の経験を元にどんどんブラッシュアップするべきだという考え方にすることができる。
それこそが、組織やプロジェクトにとって、また長く付き合う顧客にとって、必要なことではなかろうか。