「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」を読んだ感想

先週「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」を読み終えたのでメモ。VOYAGE グループの開発の裏側にある様々な苦難が生々しく書かれていて、とても読んでいて楽しかったです。

本書を知った(買った)経緯など

本書のことは、ピクスタ CTO のやさいちさん(@_yasaichi)と和田さん(@t_wada)がやられている Podcast「texta.fm」で知りました。

翔泳社が手掛けいている IT エンジニア本大賞でも「技術書部門大賞」として選ばれています。
IT エンジニア本大賞 2021

この本を買おうと思ったのは、最近開発とビジネスサイドの距離を縮めつつチームで良いプロダクトを作っていくことに関心があり、その辺りのヒントが本書で得られそうに思ったからです。

サポーターズ

書き出すとキリがなさそうなので、「サポーターズ」のセクションを読んだ感想などを書いておきます。

サポーターズは就活生と企業をマッチングするサービスで、僕が就活生のときもよく使っていました。特に「支援金」がもらえるという点が結構噂になって、当時僕の周りの就活生も結構使っていた記憶があります。
自分も使っていたサービスだったので、その開発の裏側がどういったものだったのか興味がありました。

一から作り直す意思決定

サポーターズは 2012 年に始まった歴史あるサービスで、本書では一からサービスを作り直す過程がインタビュー形式で描かれていました。作り直しを始める前は、「部屋のドアノブを回すと風呂の底が抜ける」サービスだったそうで、コードを修正した時の影響反映を予測できなかった。

サービスを一から作り直しする選択肢は魅力的に見えるが、工数もかかるし結果的に余計苦しくなるということもあると思います。

作り直す意思決定に決定的だったのが、DB が痛んでいたこと。例えば真偽値の意味で 0 か 1 が返ってくるはずなのに 2 が返ってきたりなど。

こういった話を聞くと、上記の例にならないように DB に制御をかけることの重要性を感じました。数ヶ月前のレビューで Boolean カラムにデフォルト値を設定していなかった点に関して、指摘を受けたのを思い出しました。
Boolean 型のカラムを追加するときは必ずデフォルト値を設定しよう - Qiita

MVP としてリリース

リリースの仕方も興味深かったです。サービスのコアとなる機能だけに絞り込んだ最小限のプロダクト(MVP)としてまずはリリースし、その後に様々な機能を付け加えていったそう。MVP について理解が得られたのも開発とビジネスサイドの信頼関係があってこそなのだろうなと思いました。

また就活は季節もので 1 年ごとにユーザが入れ替わるという特性を生かして、入れ替わりのタイミングでリリースをしたりなどの話も面白かったです。こういった点でも、ビジネスの背景を開発が理解していることは大事だなと思いました。

ビジネスサイドとの距離を縮める

サービスを作り替える前に、ビジネスサイドに現状と未来についてヒアリングをしたり、取締役に開発会議に出席してもらったりしたそう。「事業としてこれから何をやっていきたいか」など、未来についてもヒアリングしたという話が興味深かったです。確かに事業をどういった方向に進めていくかまで把握しておくと、お互い共通の前提で会話ができるので良さそうだなと思いました。

ビジネスサイドとのコミュニケーション

ビジネスサイドからの機能要望には「なんで?」と返す。この辺のコミュニケーションはとても難しいと思う。全て突っ返してしまうと角が立つので、要望の裏にある背景とかを追っていくのが大事だと思う。