コストとスケジュールについての想定問答集(暫定)
先日、ふとこんなことをつぶやきました。
これから始まるであろうやり取りに向けた理論武装するたびに、「人月の神話」と「ピープルウェア」くらいはソフトウェア売ってる会社の営業だったら読んでおけと言いたくなるな。
— あべさん@一人アレグザンダー祭 (@mao_instantlife) 2015, 10月 8
ここで「ヨメヨオラ」とただ言うだけでは、あの人たちの言う「開発もビジネスサイドに寄り添って(俺たちは歩み寄らないけど)」というのと何にも変わりません。
見積もりや開発プロセス、内容に関することでこの本の内容を共通理解として持っていれば話が早いことは多々ありますが、一応技術書の棚にある本です。普通に手にとってもらえるとは思えません。そうであるならば、これらも参考にしながら、よくある質問に対して重要なエッセンスを短い時間でつかんでもらえるような想定問答集を作ってみようじゃありませんか、というやつ。無茶言われた時の心の準備。
そもそも理解しようとする気の無いやつは知らん。勝手にしてくれ。
よくある質問
Q.高いんだけど?
A.同じ前提条件だったら下がりません。ご予算は?
ここまでくると「人月の神話」とか関係ないですけど。ってか、自分たちでできないから専門職に任せてるのになんで高い安いの判断ができるんだ、と。
大体見積もりは前提を変えながら出しなおしたりするので、単に下げろと言われることはまずないですな。そういうところは即刻やめた方がいいと思います。
Q.人数N倍すれば1/Nの工期になるよね?
A.コストとスケジュールは厳密な相関関係があるわけではありません。
確かに、分割されたタスクが 作業者の間でコミュニケーション(意思疎通)を測らなくても、作業が分担できる
部分については人数を増やすことが対策になります。ですが、開発に関するタスクのすべてがそのような依存関係から自由なものではありません。また、分割がそもそもできない連続的なものもありますし、分解できたとしても、そのボリュームにもムラがあります。もう一つ大事なことは、そのように分割できる局面が全体から見ると部分的でしかないということです。
投入する人数と反比例したご期待通りのスケジュールには残念ながらなりません。効果が部分的すぎてコストに見合わないかもしれません。
Q.残業すれば納期早くなるよね?
A.お客さんに謝らなきゃいけない回数が増えますよ?見積もり価格増やさないといけないですよ?
残業とか休日出勤とか、通常勤務以上にコストかかるんですよ?知ってましたか?1日8時間残業なしでスケジューリングできる想定での見積もりなので、残業と休日出勤前提だと大体コストを2倍から3倍くらいに見積もっておかないといけません。
というか落ち着きましょうか。そもそものスケジューリングが残業と休日出勤前提だったら、想定外のことが起きたときに吸収する余裕がありません。「そんなことにならないように計画を」とか言いますけど、大体それを持ってくるのはお客さんに迎合するあなたです。計画に余裕を持たないとあなたの信頼が死にます。
Q.品質が高ければテストいらないよね?
A.品質は担保しないと証明されません。
テストしないと ま、ちょっと覚悟はしておけ(関白宣言)
みたいな状態でずっと行くわけで、それでどうやって品質が高いことをお客さんに証明するんでしょうかねえ。
設計ちゃんとしてれば誰でもできるんでしょ?
A.そこまで細かい設計書くのとレビューと品質担保にかかるコストが増えるんですけど?
人に任せるにはそれなりの準備があるんですよ。伝えるだとか確認するだとかっていうコミュニケーションのコストって相手がアレであればあるほど跳ね上がっていきますし。コストを下げたければ、設計書みたいな中間コストを徹底的に圧縮することだと思いますです。仕事をスケールアウトしたかったらコストは下がらないと思ってください。
そういうこと考えるくらいだったら優秀な人を新しく雇った方がよほどできること増えると思いますよ?
まとめ
書いててつらくなった。要するに「無茶なことにイエスと言うな」というだけの話なんですが。。。まだ実際に言わなきゃいけないような状況にはなってないのが幸いです。