システム開発を成功させるために必要な事

1.運用・保守フェーズをメインと捉える

結局のところ、運用・保守フェーズ前に稼げる金額なんてたかがしれています。
売上が10億あがろうが、コストが10億かかっていれば、利益は0です。
だからといって、運用に至るまでは運用するべきシステムを作成するために手を動かさなければいけません。
だからコストが0になる事はありませんし、見積もりが適正化されていれば、莫大な利益を上げるという事もできません。


比較して運用・保守フェーズの期間あたりの売上は開発フェーズに比べて微々たるものでしかありません。
しかし、運用フェーズはそれ以前のフェーズより圧倒的に長期間なことが多いです。
そして、運用・保守フェーズは何も問題が発生していない間はコストが0とはいいませんが、限りなく0に近くなります。
コストが0に近くなるという事は売上の大半が利益になります。


だからこそ、運用・保守フェーズをいかに円滑に送るかが重要になります。


以上の理由から、運用・保守フェーズをメインとして考える必要があります

2.そのために管理しなくてはいけない項目を減らす

管理しなくてはいけない項目をできるだけ減らします。
運用・保守フェーズにそれ以前のフェーズと同じ人が担当するとは限りません。
管理項目が多いと


1.読まなくてはいけない資料が増える。
2.資料をメンテナンスする機会が増える。


といったことにつながります。
ミスの発生する確率が同じだとすると、人が動けば動くほどミスの発生件数が増えます。


1.読まなくてはいけない資料が間違っている。
2.資料をメンテナンスする事を忘れる。


といった事も起こりやすくなります。
しかし、その読まなくてはいけない・メンテナンスしなくてはいけない管理項目が最初から無かったとすると人が動く機会が減りますので、相対的にミスが減ります。
また、動く機会が減るという事はそれだけコストがかからないという事になります。
複雑な事というのは、シンプルが積み重なる事で発生しますので、管理しなくてはいけない項目が少ないという事はそれだけシステムの理解がシンプルにできるようになるという事に繋がります。


管理する項目が減る→やるべきことが減る→トラブルも減る


という事です。

3.管理しなくてはいけない項目を減らすと運用・保守フェーズより前の開発工程にも効いてくる

第2項で「管理する項目が減る→やるべきことが減る→トラブルも減る」と結論づけましたが、この行為は結局運用・保守フェーズだけではなく、それ以前のフェーズにも効いてきます。
やるべきことが減るわけですから、それぞれのフェーズに費やさなくてはいけない労力も減るわけです。
結果的に運用・保守フェーズをメインと捉えて考えた結果、システムのライフサイクル全体が最適化されるようになるわけです。
それは結局のところ、各フェーズの作業が終わった時から、その作業の成果に対する保守が始まっているからじゃないでしょうか。
つまり、システム開発は1歩進んだ時から保守が始まっているという事です。
だから、運用・保守フェーズに効く事は全体に効く事になるのだと思います。

追記:
なんでもかんでも、無理矢理減らせば良いという事ではなく、二重管理をやめたり、管理しなくても良い事も同じレベルで管理したりするのをやめようということです。
結構、ありますよね。