受託開発の構造的問題
受託開発とは、お客様より製品の開発を請け負い対価を頂く開発形態です。
多くの場合、サービスの開発に対する予算が決まっていて、その予算内に収まる様に開発を行う事がPMの仕事となります。
IT業界では古くから人月という単位で開発コストを扱う風習があります。
一人の人間を一月動かすのにいくらかかる。このぐらいの開発規模だと何人必要という考え方です。
多くの異論はあるもののこれに変わる考え方は未だ見つかっていない状況です。
さらに困ったことに、わたし達はは1年に1度年を取ります。
年を取ると、給与はベースアップして欲しいものですが、開発力は案件力によってオーバースペックになったり、加齢とともに下がったりします。
人月ベースの考え方では、同一プロジェクトメンバーで同様のサービス開発を続けていた場合、どこかでコストが予算を上回ってしまい開発を継続できないという問題が発生します。
プロジェクトの錬金術?
わたし達はその様な問題が起きても事業を継続するために開発コストを下げなければなりません。
開発のコストを下げる戦略は以下かと思います。
-
類似する開発を受託する
- コードの流用などで開発コストを下げる
- ただし、類似製品は商品力が弱いため、予算も大幅に下るリスクがある
-
新しい技術を取り入れる
- (学習コスト < 従来の開発コスト)となるような技術を採用する
- 枯れてない技術を採用するリスクは高い
- 大規模案件では人員を集める難易度が上がる
-
単価の安い若いスタッフを正しく教育する
- あるべき姿
- 昔は大規模案件が多かったのでやりやすかった
- 短期・低予算案件では教育が難しい
さて、どの戦略が錬金術でしょうか。
1
は焼き畑なので違いますね。
2
は悪くないですが、丁度よい技術が存在するか、丁度よい技術を選択できるか、といった外的要因に大きく依存するし、そのプロジェクト限りでサスティナブルな戦略ではないですね。
では、3
はどうでしょうか。
人月単位で線表を引く業界で新人を入れたプロジェクトのマネジメントは難易度が高いです。
しかし、実質0人月の新人をきちんと育て、0.2人月のアウトプットを出せるまでに成長させたとしたら、自分が何もしなくても毎月0.2人月稼いでくれる人が一人できます。また、0.2人月のアウトプットを出せるまでに成長した新人は、独学で成長した人間と違い、更なる若手を育ててくれます。
この活動は、コストを下げる活動と言うよりむしろ錬金術と言えるでしょう。
まとめ
PMが実践すべきは3
。単価の安い若いスタッフを正しく教育することかと思います。
※当然1
、2
も実施可能であれば実施した方がよいです。
毎年斬新なWebサービスがリリースされわたし達の「普通」は更新されます。
今あるものは新しく作る必要がなく、全く新しいものか、既存のものに機能追加したものを作る必要があり、顧客の要求仕様は肥大化し続けます。
一方で、個人差はありつつもある年齢から加齢とともに開発力は落ちます。
若手を育てることを放棄するのは緩やかな衰退を意味します。
目先の納期や予算にとらわれ育成に対する時間やコストが捻出できないことが多いかと思いますが、サスティナブルな組織を目指して活動していきましょう。