経営と開発をつなぐ架け橋に。事業成長を加速させるツクルバの開発生産性指標の活用方法とは?
中古・リノベーション住宅の流通プラットフォーム「cowcamo(カウカモ)」などを展開する株式会社ツクルバでは、エンジニア組織における個人の振り返りや組織の課題発見に、エンジニア組織支援クラウド「Findy Team+」を活用いただいています。
今回は、ツクルバで執行役員CTOを務める野沢さんにインタビュー。「Findy Team+」を導入した理由や開発生産性の可視化によるベネフィット、「Findy Team+」上で見えた実際の数値の変化などについてお話をうかがいました。
目次
「カウカモ」と「ウルカモ」、2つのサービスを中心に開発
――まず最初に、野沢さんの主な経歴や現在の役割について教えてください。
野沢:もともとは大学で建築学を専攻して、新卒では不動産の営業をしていました。そこからエンジニアにキャリアチェンジし、業務システムやソーシャルゲームなどの開発に携わっていました。一貫してバックエンドの領域で、アプリケーションとインフラまわりの構築や運用をしてきています。
その後、スタートアップでいくつかのサービスを開発、事業譲渡、最終的にはチームごと別会社に移籍する形になりました。それが前職の株式会社Sun Asteriskです。そこではITコンサルタントのような立場で、日本の企業様のフロントマンとして、ベトナムのエンジニアとの橋渡しやプロジェクトマネジメントを行っていました。
ツクルバには2018年、バックエンドのエンジニアとして入社しています。最初は、基盤整備などを通して事業部付きの開発チームを横断的に支援する、チームトポロジーでいうイネイブリングチームにあたるチームの、立ち上げと実行を担っていました。そのチームの解散後、バックエンドのテックリードを務め、エンジニアリング統括室長を経て、現在は執行役員CTOをしています。
――開発組織の規模や体制について教えていただけますか?
野沢:規模としては、正社員と業務委託を合わせて10名弱の小さな組織です。「カウカモ」と「ウルカモ」という2つのユーザープロダクトがメインで、その裏側にある業務プロダクトの運用も行っています。「カウカモ」はWeb版、iOS版、Android版があり、全体としてプロダクト7つほどを10名弱で見ている体制です。
――開発組織では、どのようなミッションを掲げられていますか?
野沢:弊社の開発組織でミッションとして掲げているのは、システム資産の生産性向上を通して、事業成長を実現させること。事業成長の実現においては、競争優位性の確立が重要だと考えています。そして、その競争優位性を開発組織としてどう担うかですが、生産量の向上に再現性を持った組織にすること自体が、競争優位性だと思っています。
事業の重要指標における業界平均的なものを、システムが関与することで上回ることが実証できれば、競争優位性と捉えています。その競争優位性を生むために、エンジニアのメンバーが尽力しながら事業成長の実現を目指していくことが、開発組織のミッションになっています。
――事業とのつながりを強く意識したミッションですが、そこに悩む開発組織も多い印象です。御社ではメンバーの皆さんにも、そうした意識が文化として浸透していますか?
野沢:そうですね。実際に施策に取り組むときに、どんなリターンがあるのかが話に上がることが多いです。例えば、どのプロダクトのバックログアイテムを消化するかという話をするタイミングで、全部の見積もりをして、リリースの納期を概算で出すとオーバーしてしまうことがわかったとします。
それで、1ヶ月後に出すならスコープをこれくらい削る必要があるけど、リターンが2割減ってしまう。リターンが減るのは良くないし、ユーザー価値も届きにくくなるから、2週間ずらして全部出そうとか。そういった対話がプロダクトマネージャーとエンジニアの間で行われています。
生産量の向上に高い再現性を持った組織を目指す
――開発生産性の計測に取り組んだきっかけや背景について教えてください。
野沢:生産性を改善するための施策は、さまざま存在すると思います。ただ、そういった施策は世のベストプラクティスであっても、自分たちの組織でどれくらい有効なのかというと、やはり環境や組織に依存するところがあります。
そうしたなかで計測をベースに試行錯誤できる基盤がないと、どのプラクティスが自分たちの環境に合っているのか、良し悪しの判断がしにくい。そのため、生産性の指標を計測できるようにすることが必要だと考えていました。
組織のマネジメントにおいて、改善アクションの成果を評価できれば、施策単位の有用性判断の精度が高まるし、それをチームが理解して行えれば再現性が上がる。そういったところのマネジメントは不確実な部分が多いと思っているのですが、そこの再現性が得られれば、それはすなわち組織的な優位性になると考えているので、計測に取り組むという意思決定をしました。
――「Findy Team+」を導入する以前に、内製ツールをもちいた計測などは行われていましたか?
野沢:導入前は、あまり込み入った計測はしていなかったです。月次でデプロイの内容を振り返ったり、プルリクエストやイシューの棚卸しをするタイミングで、時間がかかっているものを確認したりなど、最低限のことはしていましたが、一般指標での計測は行っていませんでした。
どの指標を使うのかを設計するのが一番難しいと思っていて、競争優位性の証明を念頭に置いた場合、一般指標でないと比較できないと考えていたんです。「他の組織や業界平均と比べて、数字が高いからより良いパフォーマンスを持ったチームだ」というのが、一つのわかりやすい競争優位性の証明だと思うのですが、独自の計測手法を使っていると、それが難しくなってしまいます。
Four Keysの考え方が世に出てきて、それにどう取り組んでいくかについては、ぼんやりとマネジメント上のアクションの1つとしてありました。ただ、この組織の人数で、自前でつくって対応するほどのコストをどこまで払うべきか、というのは常々思っていたところでした。
――「Findy Team+」の導入を決めた理由について教えてください。
野沢:先ほどお話したような、一般化された管理指標をレポーティングしてくれるところが、まず選定理由の1つです。特にFour Keysとアクティビティの指標は、私の観測要求をまさに満たしてくれるものでした。
加えて、連携した翌日から、過去も含めて時系列で分析できるスピード感がすごくうれしかったですね。個人、チーム、組織全体と分析軸が工夫可能で、幅広く試行錯誤できそうだと思ったところも、選定理由の1つでした。
――開発生産性の計測を通じたゴールはどのように設定されていますか?
野沢:計測後のアクションを含めたゴールとして設定したのは、生産量の向上に高い再現性を持った組織を実現することです。数値の変化をポジティブケースとネガティブケースで考察し、生産量の向上に寄与する環境やチームの状態に、どんな要素があるかを抽出できるように試行錯誤してきました。
そのポジティブケースを広範囲で再現させるために、採用するのかアサインを変更するのか、システム戦略として改善プロジェクトを立ち上げるのか、といった内容を予算化して、年次計画などに生かしています。
(引用:Speaker Deck)
――OKRやKPIとして設定されている指標があれば教えてください。
野沢:下記のようなミッションツリーで、稼働人数と1人当たりのアクティビティを掛け合わせたシステム生産量を、アウトプットとして私が責任を持つ形としています。この各所をKPIとして、例えばアクティビティ全体と、そのなかでも特にデリバリーへの影響度が強いマージ済みプルリク数を追って、今期は10%アップを目指しましょうと。それに対しての進捗を、経営チームに報告する運用をしています。
開発サイクルとして、リリースのタイミングを固定化している領域もあるので、デプロイ頻度やリードタイムについては、今期は維持できればOKとしています。アクティビティ側を上げることでの生産性向上と、採用計画を含めた稼働人数から、「年次の終わりにはこれくらいの生産力になっている」という目標を置き、それに向けた組織や生産力の拡大を責任を持って進めています。
(引用:Speaker Deck)
経営と開発、それぞれの領域に対して理解を得ていった
――開発生産性の計測について、社内ではどのように理解を得ていきましたか?
野沢:経営と開発組織、2つの領域について考える必要があると思っていました。経営領域に対しては、「この計測基盤があることで再現性を得られるから、ミッションとして掲げている組織的な競争優位性を実現できるんだ」というところで理解を得に行きました。一般化された管理指標がなぜ有用なのか、競争優位性の証明に観測基盤がいかに有用なのかといった部分ですね。
加えて、非技術領域の専門職や執行役員の人たちから、私に対して「こういう指標を10%アップして」と言えるようにもなる。こういったエンジニア組織状態をブラックボックスにせず牽制関係をつくることの意味や、レポーティングになぜ意味があるのかといった部分を、競争優位性というゴールにつなげて説明することで承認を得ました。
もう一方の開発組織の方には、「システム改善やアーキテクチャ変更をしたいとき、どう正当性を証明するかって難しいよね」という話をしました。数値の変化をうまく見せることで、システム戦略の予算を正当性を持って獲得することができる。そのために、みんなの数字を見させてもらいたいし、組織全体での変化を説明可能にするために使わせてほしい、という話を取っ掛かりにしました。
そして、まずはCTOの責任指標として先行活用していくことを宣言し、エンジニアの全体定例での数値の共有と、ポジティブケースやネガティブケースの振り返りを始めました。そこでマネージャーが運用する際の疑似体験を通して、「確かにこういう説明をすると、予算が取りやすいのか」と納得してもらう。すると、ポジティブな反応が返ってくることが多かったので、そういった形で巻き込んで理解を得ていきました。
――「Findy Team+」の運用にあたって、ここまでにお話いただいた以外にも、何か意識されていることはありますか?
野沢:運用方針として、個別指標をメンバーに渡したり、その改善を目標にしたりすることは、基本的にしていません。ただ、1on1で相対比較のために使うなど、育成観点での利用であれば全然問題ないと思っています。
個人に短期的な変化を促すこともできると思うのですが、「Findy Team+」を使っていると数字の浮き沈みが大きいので、それにあまり振り回されてほしくないなと。なので、メンバーには興味があれば見せていますが、最初からみんなに公開することは、あえてしていません。
最も注力しているのは、開発組織を改善する施策を行ったうえで、成果観測と考察によって、何が有効なのかを知る部分。例えば、アサイン変更によって組織の生産性がどう変化するのか、どのようなチーム設計だと効果があるのか。iOSのリアーキテクチャをした前後で、変更行数やサイクルタイム、プルリク数にどんな変化があったのかなど、運用方針としてはそうした部分を見る目的が強いです。
――メンバーの育成観点では、どのように活用されているか教えていただけますか?
野沢:過去の自分や、ハイアウトプットのプレイヤーとの相対比較に活用しています。個人の行動量に変化が出ているかを確認したり、マネージャーが育成アプローチをする際に背中を押す材料に使ったりすることも多いです。
例えば、「ハイアウトプットのプレイヤーはどういう行動をしていると思う?」といった質問を数字から投げていくと、プルリクの粒度が違うなと気づいたりします。そこから派生して、さまざまな数字を比較していくなかで、自分の行動をどう変えてもらうか。育成面では、定性的な話だけでなく、数字の変化や差分とセットで伝えることで納得感を持ってもらいやすいと思っています。
個人のアクティビティは、上がり続けるというよりも一定の上限があると思いますが、ベースのアウトプット感がそろうと、チームのテンポがすごく変わります。チームのテンポが出ると、全体のアクティビティが相乗効果的に上がっていく。アウトプットのテンポの最低ラインを求めることは、ジュニアを含めた育成マネジメントのなかでは、再現性がありそうだなと感じています。
逆に、ハイアウトプットのプレイヤーに対しては、「一定以上出ていれば大丈夫」という活用の仕方をしていて。どちらかというと、システム改善の施策をしてくれたことで、チームにどう変化が返ってきたかという、チーム単位でのフィードバックをするために使っています。
――スクラムマスターの方も活用されているそうですが、どのように使っていただいていますか?
野沢:スクラムマスターの場合は、組織施策を取り入れたときに、その前後で生産性がどう変化するかを見ています。例えば、レトロスペクティブで改善アクションを取り入れようという話が出て、チームでやっていることが増えたとき、その期間の指標を比べてアウトプットに表れているのか、そこには見えていない数字が上がっているのかなどを考察します。
そうやって指標の変化と、その時間軸で何の組織施策をしたか、スクラムのアクションを増やしたかなどをセットで話して、組織の経験学習に役立てる。これも再現性を得るために有用だと思っています。
かけた予算が生産性として返ってくることが説明できる
――開発生産性を計測することによるベネフィットを、どのような部分で感じていますか?
野沢:経営メンバーとの握りのなかでベネフィットを感じています。システム改善のプロジェクトにおいて、以前までは定性的な話になることが多く、採用計画以外では具体的な達成率をほとんど話すことができなかったんですね。
それが計測によって、エンジニア組織外から見たときの、組織状況の認識のズレが少なくなりました。目標達成の確度が低いときに、どんなアクションを打っていくかという対話が、深掘ってできるようになったのが嬉しいところです。
――チームメンバーの意識や行動に変化を感じる部分があれば教えてください。
野沢:それについては、あるエンジニアの嬉しいエピソードがあります。そのメンバーが、アーキテクチャの改修プロジェクトをより推進したいと考えていて、そのアプローチの一つでSaaS導入を検討したいけれど、月額費用の妥当性をどう説明しようかと悩んでいたんです。
そうしたなか、「アクティビティの変化を根拠に、月額費用の費用対効果を説明したら、妥当性を理解しやすくなりますか?」と彼から提案してくれて。数字変化による概算の費用対効果があると、組織としての意思決定はスムーズになります。「ぜひやってください!」ということがあったんです。
SaaSを用いた生産性の改善は、エンジニア同士であればイメージしやすいですが、それを予算に変えて組織での承認を得ようとすると、説明することの難しさが一気に跳ね上がります。メンバーが組織としての費用対効果を意識して提案や申請を上げられるようになったら、以前よりも改善プロジェクトが進んでいくはず。組織を動かすために使うという意識の変化は、嬉しいところだと思っています。
――「Findy Team+」上で、実際に数値として変化が現れた部分はありましたか?
野沢:これは特定のメンバーのアクティビティの変化ですが、10月からチームのアサインを変えたところ、アクティビティが2~3倍になっています。チーム設計の変更に対して、どれくらい変化が起きているかが見てとれる事例ですね。これがなぜ起きたのかというと、DevOpsへの投資量の違いによる、獲得しているケイパビリティが多い現場だったからというのが、振り返れた事はすごく良かったです。
もう1つは、iOSのアーキテクチャ改善の事例で、実施後に変更行数が大きく減りました。改修する範囲が明確になったり、今まで2つの技術が混在していたものが整理されたりしたことで、過去と比較しても大幅に改善されていることがわかります。それに伴って、変更のリードタイムにも良い影響が見えてきていて、これがレビューする範囲が少なくなったことによるものなのか、今振り返りを進めているところです。
アーキテクチャの改修は、iOSエンジニア2名を3ヶ月くらい確保するので、予算上は数百万単位になります。それによってアクティビティがこれくらい変化し、生産性として返ってきていると説明ができるようになったのは、すごく良いことだと思っています。
今後は事業KPIにつながる生産性の可視化を深めていく
――取り組みを進めていくなかで、難しかったポイントはありましたか?
野沢:ゴール設計が一番難しかったですね。実際に仮説探索できるくらいの変化量が見てとれるのか、先行指標だと思っているものが本当に先行指標になるのかなど、やってみなければわからない部分がいくつもあったので、それを実証していくのは難しいポイントでした。
個別の指標を上げることだけを目的にせず、なぜそこを最初にやったかというと、施策の有用性や再現性を得るために必要だと思ったからです。あえて成果が見えにくい概念検証のようなところから進めていったので難しかったですが、一定の効果が出てきたのは良かったなと。施策のために何を考えればいいか、少しずつ見えてきたので良かったと思います。
――開発生産性の計測に関して、今後トライしていきたいと考えていることがあれば教えてください。
野沢:現状はシステム改善のために予算をいくら使って、物的生産性の指標でリターンがどれくらいという話ができるようになりました。今後は、その先の事業により深く入っていくところにトライしたいと考えています。付加価値生産性の領域を捉えるために、開発組織の外にも広く見ていくところは、弊社もやっていこうとしています。
例えば、一定のアウトプットが出せていることをベースに、じゃあ8割のスコープで時間軸を早めてリリースするとリターンが上がるのか、それを数字で説明するとどういうことなのか等。物的生産性の計測と共に、プロダクトとしてのデリバリーの計測へと拡大することで、どうROIが高いチーム設計に生かすのか。仮説検証チームは、あえてその部分は別にいいと示唆出しするのかとか。そういった事業KPIにつながる付加価値生産性の可視化を、今後は深めていきたいと思っています。
――それでは最後に、御社の組織のアピールポイントや、一緒に働きたいエンジニア像を教えてください。
少人数で最大の価値を、長く多く必要とされる資産を生み出したいと考えています。
外から見えるところから見えないところまで、事業にまつわるあらゆるものを開発・運用しており、ビジネスとユーザー価値の両方を意識しながら自分たちの技術で課題解決することを愚直にやっているチームです。
課題解決の実行力を高めるために、不動産に関連したマーケティング・営業・戦略・記事編集・物件評価・ユーザー体験等と向き合う概念が多岐に渡るので、業務や体験はどんな構造でなりたっているのかを意識することや、利用者のこと理解することが好きなエンジニアにマッチする環境だと捉えています。
ここまでお読みいただき、本当にありがとうございます。
現在ツクルバでは Androidエンジニア(テックリード) を募集しております、ご興味を持っていただけたら是非お話させてください!
――野沢さん、ありがとうございました!
※現在ツクルバでは、エンジニアを募集しています。
※「Findy Team+」のサービス詳細は、以下よりご覧いただけます。 https://findy-team.io/service_introduction