開発チームはどちらに作る? 社内vs社外
この記事では、"これまでシステム開発をしたことがない会社さん"や、"これから事業を立ち上げる起業家さん"が、システムを開発する際に、社内に開発チームを作るべきか?社外に開発をお願いするのか?について、考え方を説明します。
■ 4種類の開発の進め方
組織という視点では、4種類の開発の進め方があります。
社内で開発を進める時には、プロジェクト型組織を立ち上げるか、機能型組織を立ち上げるかの二種類の進め方があります。
また社外に開発を委ねる場合には、請負契約と準委任契約という二種類の発注の仕方があります。
■ 社内で開発をすべきか?社外で開発をすべきか?
開発と相容れない文化の強い営業系の会社で、開発チームを社内に作るのは難しいです。開発を成功させるための価値観と、営業を成功させるための価値観は180度違います。もし、営業文化の会社が社内に開発チームを作るなら、社長がマインドを180度かえて、きちんと開発チームを営業文化の圧力から守る必要があります。
営業系の社長が、過去の経営や営業の経験や学んだ理論の中から「正しい」と思うことが、プロダクト開発や技術における意思決定において間違っていることが過半です。ですので、プロダクト開発や技術のことを深く理解している人をプロジェクトの責任者に立て、ヒト・モノ・カネの意思決定権を任せる以上があります。
■ 社内開発はプロジェクト型で
開発チームの組織構造の作り方は、プロジェクト型と機能型の2種類があります。プロジェクト型は、プロジェクトのマネージャーの元、営業から技術からまですべてのスタッフが一つのチームとしてプロジェクトに従事します。機能型の組織では、プロジェクトとは別に、社内の開発を一手に引き受ける開発部が存在します。
新規事業や新しいプロダクトを作る際は、プロジェクト型の組織を作りましょう。特に、プロダクトの全体を考える人、マーケティングを考える人、システムの設計を考える人は、きちんと一つのチームに集めて、かつそのプロジェクトに専任させることが大事です。
機能型の組織で新規プロダクトを立ち上げるのは失敗しがちです。その原因は、各部門に利害とプロジェクトの利害が衝突してプロジェクトの成功からブレやすいのと、プロジェクトのために考えるべきメンバーがープロジェクトを兼任していると思考が散漫になって、企画や仕様策定や設計という点で誤ったジャッジをしがちです。
■ 社外開発は 請負契約か準委任契約どちら?
社外に開発をお願いする場合は、「請負契約」か「準委任契約」の2種類の契約形態が考えられます。
-- 請負契約によるシステム開発
請負契約でシステム開発を外に投げる場合は、あらかじめ発注者側がシステムを明確に定義します。開発会社はシステムの完成に必要なコストを見積もり、開発をしてシステムを完成させて納品します。発注時のシステムの定義と納品されたシステムをチェックする検収を行い不足や差異がなければ、開発会社へ対価を支払います。
-- 準委任契約によるシステム開発
準委任契約でのシステム開発は、明確な定義はありませんが一般的には、社内に作る開発チームを社外に作るイメージです。最初に定義されたシステムの定義(仕様)に対して固定のコストが決まるのではなく、毎月プロジェクトにアサインして稼働する人数に応じてコストが見積もられます。
-- 請負契約 vs 準委任契約
システム開発に慣れておらずシステムをキチンと定義できない発注者側や、そもそもシステムの最終形をキチンと定義できない新規事業のシステムなどは、準委任契約でシステム開発を進めるのがオススメです。
また、インターネット上でサービスを提供する事業などは、初期の開発と同じ熱量をリリース後にも注いで運用をしていく必要があります。このような場合も、準委任契約でシステムの新規開発及び運用開発を進めていきましょう。
-- なぜ請負契約でゴミばかり作ってしまうのか?
請負契約でシステムを発注してもゴミができてしまうというケースがよくあります。その原因は発注者が本来は「システムの定義」をキチンとしていないからです。
開発会社や開発チームが問題なのではなくて、そもそもの「システムの定義」をするプロダクト・オーナーシップもしくはプロダクト・マネージメントという業務が壊れていることが多いです。
こちらの記事を読んでみてください。
■ 新規事業のプロダクト開発は準委任契約で進めましょう
また「社内に開発チームを作る」のは原則避けましょう。未経験者や新卒などのエンジニアは育つのに何年もかかるので短期的な視点では役に立たないどころか足を引っ張ります。ですが、技術的な文化がない会社が、経験豊かなエンジニアを採用することは、現状はほぼ無理です。なぜならエンジニアの採用市場は売り手市場だからです。また採用が難しい以上に、文化が違うとでエンジニアのチームをマネージメントするのが難しく、せっかく採用しても離職が相次ぐケースがあります。
次ぐに社外に開発を依頼する場合も、新規事業のプロダクト開発は、システムの定義が難しいので請負契約による発注は難しいです。また新規事業は進めていくうちに市場や顧客への理解が深まるので、まずは小さくスタートして育てていく開発が適しています。そのために準委任契約による社外の開発会社への発注をオススメします。
■ 準委任契約によるシステムの開発会社
準委任契約によるシステムの開発をしている会社をGoogleで検索してみました。ご参考までに。
-- ソニックガーデン | 納品のない受託開発
納品のない開発やリモートワークで有名なソニックガーデンさんです。
3ヶ月でβ版がローンチできるような進め方をウリにしています。「契約後初月の1ヶ月目のみ、契約を途中解除した場合費用は頂戴いたしません」という自信が素晴らしいです。
-- GiGOOO
経験豊かなメンバーからジュニアメンバーを組み合わせて定額制で開発リソースの提供をするサービスです。うまく副業エンジニアをマネージメントすることで開発コストが低いことが売りです。
-- PROTO DIVER
単純な準委任ではなく定額システム開発のサービスです。月額10万円からの小規模な開発も対応してくれるのが特徴です。
-- PRIME ORDER | フルマネージドな開発チーム
-- SPICYFACTORY 定額制アジャイル開発
-- ラジコード 月額定額制開発
-- ベクティス 定額制アジャイルシステム開発 3pro
-- バーチャル・ラボ
最低契約日数が3人日/月で開発リソースを最低1日単位で提供するサービスです。
-- ウェーブオン | 国内ラボ開発
-- YAX | ラボ契約・ラボ型開発
-- PISE | ニアショア
-- UZUMAKI | ギルド型開発
リニューアル・リファクタリングに特化しているのが特徴です。