外注依存で生まれた3つの課題
デジタルマーケティングの全ての領域に対する、コンサルティング、開発・実装、運用・実行の提供を行う電通デジタルは2018年、広告プロダクトの運用支援ツール開発に向けて内製開発組織を設置した。これまでも広告配信実績データの可視化基盤の運用で、エンジニアが数名割り当てられていた。しかし、ベンダーコントロールや社内調整に手いっぱいで、開発の大半は外部パートナー企業任せだった。そのため、同社の技術スタックはパートナー企業の技術スタックとほぼイコールの状態でその技術戦略はなかった。
当時はコンサルティング業務に従事しており、後の内製開発組織の発足でメンバーとして合流することになる技術畑出身の河内修氏は、彼らが抱えていた課題を3つ挙げる。
1つは、初期の要件(依頼内容)でそのままデリバリー・リリースされる点だ。パートナー企業は依頼どおりに開発しているだけなので、それ自体は問題ない。しかし、当該スコープの課題の範囲内で設計され、そのまま進んでしまう。結果、実は存在するシステム間の依存関係を見落としたり、将来の戦略を考慮せずに進んでしまうことが多かった。実際、なぜか不定期に落ちるバッチAがあり、Aが落ちるとまったく関係ないはずのバッチBも落ちるという現象もあり、「原因を特定する仕組みもなかったので、しばらく悩まされた」と河内氏は振り返る。
2つめは、運用側が使い方を把握できないようなものが発注、設計されがちな点だ。例えば、ある外部システムのデータを取り込みたいとの依頼を受けて、それがどんな使われ方をするか分からないままにパートナー企業はデータを取り込むデータベースを設計。しかし、用途が明確でないシステムはほぼブラックボックス状態で、仕様が分からないと利用も運用もできないといった状況が発生していた。
3つめは、外部システムの障害を天災として扱う以外の手段がない点だ。開発の知見が内部エンジニアにほとんど蓄積されていないため、障害が発生したら「アンコントローラブルだからしかたがない」とか、あとは起きないように祈るだけになってしまっていた。「技術スタックが弊社側に蓄積されていれば、『天災』が起きる度に技術的備えを増やしていき、より強固なシステムを構築できるはずだ」(河内氏)
こうした課題を解消し、顧客向けのデータ活用プラットフォームの開発や、社内の戦略プロダクトの開発を内製で主導できるよう、内製組織が発足された。メンバーは、広告配信プラットフォームに関わっていたメンバーに加えて、河内氏含むエンジニア経験者や中途採用のエンジニアが合流する形で構成された。
だが、課題に取り組む前に、やるべきことがあった。それは、内製開発組織の存在意義を共有することだ。
同氏たちは、なぜ内製組織が必要なのかを定期的にコアメンバーでブレーンストーミングし、働きたい組織像を明確化。そして、その組織像をさまざまな形で部内外と共有するようにした。
「開発組織の本来あるべき姿を開発メンバーで共有できていないと、各所で開発依頼の要求を代案や優先順位も考えずに開発するだけの『脳死した生産工場』に陥ってしまう。そうすると以前作ったものと似たようなものを再生産してしまうなどの悪循環も発生しがちだ」。こういったあるべき姿など重要なことほど露出回数を増やすべきと考える河内氏は、例えば開発組織のすべてが分かるハンドブックを作成して公開する、期初の活動計画発表で部内外に開発組織のあるべき姿を発信するといった活動を、今でも積極的に行っている。