開発組織の発展を4つの段階に分け解説
では、どのように開発組織が発展していったのだろうか。月澤氏は、黎明期・内製化の初期・中期・後期と大きく4つの段階に分けて、その具体的な様子を解説した。
「開発部の黎明期には、本当に社内に人がいませんでした。最初なので、アイデアを形にして、実際にユーザーさんに使ってもらって、受け入れられるか必要なものか検証することに注力していました」
開発プロセスは、ほとんどウォータフォールに近い形だった。社内で仕様書をちゃんと書いてデザインもやって、それをベトナムのオフショア開発会社で30名くらいで開発してもらった。最終的に、自社で手動で動作確認して、ちゃんと動けばリリースする形でやっていたという。
「最初の小さなアイデアを形にするところは、ウォータフォールはそんなに悪くないんじゃないか、むしろウォータフォールでも良いんじゃないかと私は思っています。ユーザーもプロダクトもない段階で0からアジャイルを回すのは結構難しいので」
この頃、代表が自分でプロダクトオーナーをやっていたような形だった。建設業界で培った知識やアイデアを元にプロダクトに落とし込んでいって、要件検討から仕様書作成・開発・テストまで半年くらいかけてリリースしていたのだ。
「この頃は、リリースするのが最優先でした。そのためベトナムのエンジニアの誰がどのくらいで開発しているのか、作業の定量化や品質の定量化はできていませんでした。デプロイまでのリードタイムも不安定で、リリースまでは数ヶ月スパンになっていました」
開発の内製化に着手し、初めて社内エンジニアでプロダクトを改善
こうして世の中にアプリとしてリリースしたので、ここからは実際のユーザーである日本の建設業界の人たちの意見を聞いて、細かな改善をすばやく出していきたいと考えていた。「私が参加したのは、内製化初期の中間か後半ぐらいだったと思います。メインの人材マッチングアプリは世の中にもう出ていて、それ以外にB2B向けのサービスや正社員採用のサービスなど新しい機能をリリースしていた時期でした」
この時期は、開発は相変わらずオフショアがメインになっていて、バグ修正や小さな改修などの一部を社内メンバーで対応している状況だった。そのため、大型の新規開発などはウォーターフォールで、細かいUI改善などはアジャイルで開発するというハイブリッド開発になっていた。アジャイルでは、Backlogでチケットを管理して、一応スプリントを区切って開発していた。
「営業やカスタマーサクセスなどの社内から改善案が上がってくるほか、職人さんや工事会社の人にインタビューして集めた要望をスプレッドシートに集約して優先度を付けて、それをチケットにして社内のエンジニアが2週間のスプリントで開発するといった形になっていて、それ以前の数か月に比べると改善速度は早くなっていました」
ただし、スプリントと言っても、2週間で見積もっていたのに実際には3週間かかりそうとなったときに、「じゃあ3週間にしよう」と全部できたらリリースするといった感じでスパンは安定していなかった。
「リリース頻度が多くなり、世に出る機能やサービスが増えたこともあり、品質の面では低下していました。今までと同じように手動でテストして、ちょっと動いたらオッケーみたいな感じでリリースしていたので、最終的にはバグがめっちゃ多くなるみたいな感じになっていました」