一般に、再利用したほうが、コストが安いという論拠が成り立っていて、
そのために、新規に作り直しができず、結局デスマーチになることは
ないだろうか?
再利用が安いとは限らない。
実感ではわかっていても、それを論理立てできない。
今日は、ちょっと、そいつを、論理だてて考えてみたい。
あるシステムにおいて、ある機能を作ると、X人月かかるとする。
この機能は、再利用可能だとする。
再利用すれば、もしかすると、まったく手がかからないかもしれない
(0人月)
しかし、はじめ、再利用可能と思っていたのにもかかわらず、
結合テストのとき、再利用できないと気づいた場合、
それを作るコストはX人月・・・ではない。
後工程にいくほど、工数はかかる。
結合テストでわかると、作成工数にX人月だが、
・周辺のインターフェースの修正が必要かもしれない
・回帰テストも必要になってくる
・その開発期間、テスト部隊を休ませれば、その分お金がかかるし、
休ませないで作るとなると、開発を特急でやることになり、
特急料金(とか、時間外手当とか)がかかる。
ということで、追加料金X+αがかかる。
まったくなにも手間を掛けずにできる(0人月)の可能性はp1
結合テストで発覚する可能性を、pnとすると、
結局コストは確率の期待値として、
p1*0 + pn *(X+α)となる。
実際には、各フェーズで見つかる可能性があるので、
各フェーズにおける確率と、開発費用の総和になる。
この総和と、開発工数Xを比較して、再利用したらよいかどうかということを
決めることになると思う。
しかし、以下のことは言える。
再利用をすればするほど、うまく行った場合は、コストが低下するが、
失敗して、後で、再利用できないで、作り直すリスクは高くなる。