IT業界の見積もりの特殊性、外れて当たり前な事情
プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!
これ読んでてふと思い出したんですが、IT業界(特にWeb系)特有の見積もり事情というのがあります。
未経験技術に挑むことが多い
プログラミングの特殊性ではなく、IT業界のスピード由来の特殊性です。
言及先ブログでは「製造ではなく設計なのだ」と言っていますが、設計ですらなく調査から始まるケースが多いと思います。
他社もやってるし、たぶん実現可能だからスタートしよう、さあ見積もって。
みたいな、よくよく考えたら狂ってるとしか思えない状況が結構発生するのです。
どこをどうすれば実現できるのか、どうやるのが正しいのかも、フワフワしたままゴーサインが出ます。
どうしてフワフワしながらスタートするのか
普通なら完全に調べてから始めるのが当たり前ですが、ITの常識が変わる速度や、新機能が出る速度が速すぎて、作ってるうちにどんどん刷新されていくわけです。
なのでマゴマゴしていたら、調べているうちにレガシーになってしまいます。ある程度あたりを付けて特攻するのは致し方ない気がします(※IT内でも信頼性が重要になってくる界隈では少しだけ話が変わりますが)
調査フェーズ、設計フェーズ、製造フェーズ
調査・分析フェーズというのは、「さあ作るぞ」というところより前の状態で、不確実性が高いです。(不確実性コーン - Google 検索 の左側)
IT特にWeb系ではこの調査フェーズを内在したままプロジェクトが走るので、それはもう不確実です。
コンサル業務や要件定義業務に近いでしょう。
コンサル業務は不確実性をどうコントロールしているか
受託会社で働いたことがある人は覚えがあるかもしれませんが、受託開発でも開発業務とコンサル・要件定義業務で契約を分けていることがあります。
不確実性が高い方は、一括請負ではなく時間払いのケースが多いのではないでしょうか。例えば1人張り付きで1ヶ月100万円など。成果物ではなく労働力の提供ですね。
これによって見積もりが外れてもお互いに損をしない仕組みができています。
そう考えると、IT特にWeb系で、不確実性が高い案件をやるときはやはり張り付き月幾らで契約した方が理に適っているのかもしれません。
って、そういえばソニックガーデンってそういう会社でしたね。
まあただの再確認でした。