shoota works

数字で振り返るFindyでの一年

Photo by Dietmar Becker

プロローグ

前職でエンジニアリングマネージャーとして働いていた自分は、とても困っていました。
開発チームのマネージメントの難しさ、チームへインプットする情報の取捨選択、プレイングマネージャーとしての時間の少なさ。
どれも未体験のものばかりで、毎日が試行錯誤の連続だったように思います。
何をしたらいいのかわからない、なにかをする時間もない、そんなひよっこの EM を助けてくれたのがFindy Team+でした。

ユーザーとしてのプロダクトへの感謝と開発速度への驚きから、「使う側から作る側」になりたい気持ちが高まって、2023 年 1 月よりファインディに入社し、一年が経ったので振り返っていこうと思います(2 ヶ月遅れで)。

過去の振り返りはこちら


数値で振り返る開発の一年

スタッツ(開発アクティビティ)の実数

まずは 1 年間の主な開発アクティビティを並べてみてみたいと思います。
計測は例によってFindy Team+が自動で収集してくれたものを転記しています。

スタッツ年間の計測値
プルリク作成数948 件
マージ済みプルリク数929 件
コミット数3,758 件
レビューしたプルリク数1,118 件
プルリクに対する自分のコメント数1,890 件

年間で作成した PR は 1000 件の大台には届かずでしたが、入社直後にアプリケーションの内容把握などの時間も考慮すると上々の数値かと思います。
PR のマージ率は 929/948 なので 97.99%となりました。マージしなかったものは主に CI の検証のための PR や、偶発的に大規模なコンフリクトが起きて branch を切り直したほうが早い場合などだったと記憶しています。
いずれにしても 50 本に 1 本くらいはマージしない PR を作っていたようです。

レビューについても PR 数、コメント数ともにそこそこ多くなりました。
自分の PR に解説やメモ書きを残してからレビュワーをアサインするようにしているので、コメントはチームの中でも多め可と思います。
また年の後半くらいからはチームのフロントエンド開発のリードとしての役割もあり、レビューアサインされていなくてもコメントを残したりするシーンがしばしばあったので、その影響もあってレビューした PR 数も多くなったように思います。

プルリクエスト作成数の推移

ファインディでは 1 日に作成する PR 数をパフォーマンスのひとつの目安としてみて目標を立てたり、振り返りをしたりすることが多くあります。
Findy Team+では個人・チームのそれぞれについて様々な指標を計測できますが、PR 作成数はそれらの指標や開発生産性を支える中心的な指標ではないか、いう考えです。
参考:「プルリク作成数がセンターピン」

そこで 2023 年に作成した PR (上記の 948 件) をどのくらいのペースで作ってきたのかを時系列で眺めてみました。
pr 2023

1 日の中でミーティングがあったり実装方法の検証に時間がかかる日もあるので、PR 数が 0〜2 件程度の日もありました。
しかし少なくても 1 日に 4 件程度の PR を作成できているようで、調子の良い日は 10 件を上回る日が 4 日ありました。

別の分析画面で稼働日あたりの平均 PR 数を確認してみましたが、やはり平均 PR 作成数は 4 件でした
コンディション分析

どれくらいの PR を作っているのか分布が気になったので Team+の API のデータを加工して、「1 日に作成した PR 数」の頻度もだしてみました。

1 日に作成した PR 数頻度
0 件18 日
1 件18 日
2 件32 日
3 件45 日
4 件51 日
5 件40 日
6 件16 日
7 件14 日
8 件6 日
9 件5 日
10 件2 日
11 件2 日

やはり3〜5 件が多く、年間の半分程度の日数がこの範囲に収まっていました。
4 件目が作りきれなかった日は 3 件、その次の日は作りきれなかった 4 件目の途中から始まるので 5 件、というパターンが多いように思います。

リードタイム

次はオープンからマージまでの平均時間と、PR 作成数の移動平均のグラフをみてみます。

lead time

まず PR 作成数の移動平均についてです。
先程のグラフでは実数でしたが、今回は移動平均なのでどれくらいのペースで作っているのかを傾向としてみることができます。それなりに上下動があるようにも見えるかもしれませんが、おそらくかなり変動が小さい方だと思います。
この 1 年でいろいろな開発をしてきましたが、「何やっててもだいたいいつも安定して PR を出す人」という評価ができるのではないかと思います。
また 9 月の後半から一段下がった状態が続いていますが、このあたりはかなり難解なリファクタリングを進めていたので、どうしてもハイペースに PR を出せる状況ではなかった期間でした。このあたりがもっと早く進められていたら、年間 1,000PR も達成できたかもしれません。

オープンからマージまでの平均時間もかなり安定して推移しているようにみえます。
実際に計測してないと伝わらないと思うのですが、ここまで変化が少ないのはかなり珍しい方だと思っています。
マージまでに平均時間の変化は凪の安定っぷりです。

ただ 12 月に入ってからは少し伸びがちになっていて、この原因ははっきりとはしないのですが、

  • 年末特有の差し込み、割り込みがあってレビュータイミングがずれやすかった
  • 社内外のイベントやメンバーの有給休暇が多い時期でもあるので、影響した
  • 開発チーム全体の組織改善を少し始めていた影響

などいくつかの原因がありそうです。


振り返り

2023 年は Findy で自分のちからを大いに発揮できたと思います。
自分の開発は Findy Team+ のフロントエンド開発のみに集中していますが、2023 年 11 月時点で Team+の累計コミット数が最多のコントリビューターになることができました。入社後の約 11 ヶ月弱でもっともフロントエンドリポジトリに commit をしたことになり、なかなかに感慨深いものもあります。
(※ 脱モノリスをはじめた 2020 年 12 月からの累計コミット数)

型のリファクタリングをしたり、UI Component を分解したり、運用が瀕死になっていた Storybook をメンテしまくったりと、機能開発以外にも定常的に細かな修正を進めてこれたおかげだと思います。
また、ファインディはスピードを意識した開発インフラが整っており、自分の力を発揮するためのブースターとして働いています。

2024 年は更にスピードとパワー、量と質の両面で仕事をしていきたいものです。