システム開発方法論
ソフトウェアを効率的に開発する方法はないか。そう思っていろいろ調べてみるとよさそうな本に出会う。
SOFTWARE FACTORIESソフトウェアファクトリー
- 作者: ジャックグリーンフィールド,スティーブクック,キースショート,スチュアートケント,マイクロソフト,Jack Greenfield,Steve Cook,Keith Short,Stuart Kent,野村一行
- 出版社/メーカー: 日経BP社
- 発売日: 2005/12/17
- メディア: 単行本
- 購入: 5人 クリック: 95回
- この商品を含むブログ (36件) を見る
この本で新しかったのは、ソフトウェアを工場化し、コンポーネントの再利用を促進するために、①まず工場を作ること(プロダクトライン開発)、②その工場の中で、製品を作ること(プロダクト開発)を明確に分けることを提唱している点だ。
①は、いわばフレームワークやWebサービス、デザインパターン、ライブラリなどをうまく組み合わせて、その製品を作るために最適化された土台を作るということである。この重要性を認識して、SIプロジェクトに適用している例がどれだけあるのだろう。
また、アスペクト指向で横断的な関心事を分離し、プログラマにはコンポーネント開発にのみ専念できるようにすることや、DIによって、コンポーネントの疎結合性を高めるといった考え方も重要だと思う。
本書でも触れられているが、今後オフショア開発が進んでいくときに、オフショア化による品質の問題というのは、これである程度解決されるのではないだろうかという期待がある。①を作ったうえで、②をオフショア化し、最低限の品質を担保するというのは有効ではないか。
プロジェクトをマネジメントする上で、技術の力によって効率性を追求するというのは、一つの重要な手法である。最新技術がゆえ、メンバーがキャッチアップするのにコストがかかる、技術的に未成熟であるなどの問題はあったりするが、そういったリスクを覚悟の上で、長期的に見て何が一番効率的かという視点を持ちたい。
しかし、この本は2005年に出ていたのか。チェックが遅いな。。。まあ、そのときは入社もしていないから仕方がないといえばそうだが。この辺は完全に勉強不足なので、今後勉強していくことにしよう。