2021年7月 Findy エンジニアリング組織の振り返り
こんにちは、Findy CTO の @ma3tk です。 FindyではFindy Teamsを使ったエンジニアリング組織の分析を行っていたりします。
今回はその一部を公開したいと思います。
目次
エンジニアリング組織として大事にしたいこと
僕らFindyの開発チームは大きく2つありますが、その中でも開発チームで大事にしたいことは、「爆速顧客価値提供」です。
いかに早く課題を見つけ、その課題を爆速で解決していくか、ということを念頭に置きながら開発業務を行っています。
大きな指標: リリース頻度とプルリクの数と時間
大前提として、数値が全てではありません。
あくまで定量指標を材料にしながら、振り返りを行うことを一番大事にしています。
Findyで開発に向き合うために、3つの指標を大きな指標として日々追いかけながらタスクをこなしています。
- リリース頻度
- プルリク作成数
- プルリクマージまでの時間
これら以外にも大事な指標はありますが、3つを見るだけで結構わかる状態になっています。
リリース頻度
リリース頻度がわかると、どれくらいの頻度で課題解決へ向けて進めているのかがわかります。この頻度はなるべく最大化しておきたいと考えています。
大きなリリースを行うと問題解決のために原因特定に時間がかかるため、なるべくリリースを疎な状態にしておくことで因果関係を発見しやすく、もしものときは切り戻しの範囲も少なくて済みます。
具体的に GitHub で以下のようなクエリを書くことで、リリースが行われたプルリク数が確認できます。
is:pr is:merged "release" in:title created:2021-07-01..2021-07-31
弊社の2チームのデータは以下のようになりました。(2021年7月実績、平日数20日)
- 開発Aチーム
- バックエンド: 26リリース
- フロントエンド: 22リリース
- 開発Bチーム
- バックエンド: 20リリース
- フロントエンド: 23リリース
すべてのチームで1日1リリース以上行えている環境になっており、順調に開発が回っている状態と言っていいかと思います。
マージされたプルリクの数
リリースの頻度も大事ですが、1回のリリースにどれだけ修正を追加できるかの平均的な指標としてはマージされたプルリク数も大事になります。
2021年7月の20営業日の中で、868のマージ済みプルリクがあり、
- 週5稼働メンバー 9人
- 週3以下の稼働メンバー 5人
の7月は、平均すると1日1人平均4プルリクマージされる状態になっています。
1人あたりの平均を考えると相当な数プルリクを作り取り込まれている状態ではないかなと思います。
プルリククローズまでの時間
リリース回数とマージされたプルリク数がある程度多い状態だと、このプルリククローズまでも時間が結構短い傾向にあると考えています。
Findyでは…
- すべてのエンジニア: 16.1時間
- 週5稼働メンバー: 11.6時間
でした。土日も含んだ状態なので金曜日に出したプルリクなどは2日分レビューされない状態だったりするので、そういった時間も含めたデータが上記になります。
直近6ヶ月のデータも平均10.4時間でプルリククローズまでいくスピード感で開発できています。
もし課題が出てくる場合には、
- そもそもコミット作ってからプルリク作成までの時間が遅い
- プルリク作成からレビューまでの時間が遅い
- レビューから修正までの時間が遅い
- すべてで遅い
などになってきますが、弊社では1on1などで聞く限り、どれも大きな課題にはなっていない状態です。
これらの機能をFindy Teamsで開発しています
ここまでの情報は、Findy Teamsで開発をしている部分もあり、簡単にデータが取得できます。継続的に測定できるため、自分の指定する期間でデータが取れるようになっています。
もしご興味があれば、こちらまでお問い合わせください!!
爆速顧客価値提供ができるFindyで働いてみませんか?
もしここまで読んでいただいて、少しでも話してみたいという方は是非一度カジュアル面談しませんか?
まだやりたいことがある中でまだまだ成長できる組織です!上記以外にも課題もあります!
是非興味があれば Twitter でご連絡いただいたり、以下より直接ご応募いただいても大丈夫です👍
エンジニアだけでも20人規模で募集しています。是非お気軽にどうぞ〜!