受託開発と自社サービス開発の、システム開発の思想の違い

受託開発の場合、XXXという仕様のものを作るとXXX円払いますよという仕事なので、プロセスとしてまず「どういうものを作るか」という仕様を決める必要がある。

この仕様はできるだけ詳細に詰めておく方がよくて、(なぜなら後々曖昧な仕様に漬け込まれて作業量が増えないようにするため)、調べるのに時間がかかってもやっておくべきである。

また、仕様が一旦決まると、今度はそれが聖域になって、決められた時間内にその仕様を満たすものを作るということが契約となり、うまく時間内に収めるというのが目標になってくる。

 

一方で自社サービス開発の場合、多くの人に使ってもらえるシステムを作らなければいけないので、そのサービスにどんな価値が有るかを検証する、というのがまず優先事項になる。

受託開発の場合と違って、特定の仕様のものを完成させるのが目的ではないので、価値の仮説が十分に検証できる範囲で、できるだけコストがかからないように最小のものを作る、というのが目標になる。

 

受託開発方式に慣れている人が自社サービス開発やる場合には、目標が違うということをしっかり意識しながら最適な開発方法を選択していかないと、「しっかりと仕様の細かいところまで検討して、期間の見積もりをして、さあつくろう。」とかやっているうちに、必要最小のものを最適につくるという思想がないから、時間とコストが不必要に掛かって、気づけばなにもできずにキャッシュ切れみたいなことになりうるので、よくよく考えてやる必要がある。