
はじめに
こんにちは、プラットフォーム開発グループの菊地(@_tinoji)です。
この度、ニーリーがFindy Team+ 利用企業の中で特に開発生産性が優れた企業として「Organization Award Medium Division」を受賞いたしました。

ニーリーがFindy Team+を導入したのは今年の3月のため、導入から5ヶ月で表彰していただいたことになります。
まだ利用期間も短く、多くの取り組みができたわけではないのですが、これから開発生産性に力を入れていきたい企業・チームの知見となればと思い、本記事では行った施策の一部を紹介させていただきます。表彰の基準となったのは「開発生産性スコア」というもので、おそらくそれに大きく寄与しているであろうデプロイ頻度と変更リードタイムの2つについて取り上げてみます。
受賞式に参加させてもらった自分が代表して記事を書いていますが、Findy Team+を導入して可視化の取り組みを行っていたのはQAチーム(特に@ysekii_)、後述のトランクベース開発への移行を主導したのはSREチーム(特に@2357gi)、そして何より実際に生産性高く開発を続けたのは開発チームの皆さんです。この場を借りて感謝を申し上げます!!
デプロイ頻度の向上: トランクベース開発への移行
まず、デプロイ頻度に一番大きな変化を与えたのは、フィーチャーブランチ開発(Git-Flow)からトランクベース開発(GitHub Flow)への移行です。
3年ほど前まで、ニーリーでは「隔週に一度、深夜0時からしかリリースできない」というなかなか(?)キツイ制約のもと開発を行っていました。
現在ではSREチームの活躍により、計画停止を伴わないリリース(社内ではゼロダウンタイムリリース、通称”ゼロリ”と呼ばれています)ができるようになっています。詳しくは↓のnoteをご覧ください。
ゼロリによって大幅にリリースがしやすくなりデプロイ頻度が爆上がりしたのですが、それでもまだ大きな課題が残っていました。
それが「相乗りリリース」の存在です。
ゼロリによって毎日リリースができるようになったのですが、ゼロリの際はstagingブランチから切った1つのreleaseブランチを使う関係で、他のチームも同じ日にリリースしたい場合は一緒に(= 相乗り)releaseブランチに差分を入れなくてはいけないという運用が標準化していました。

この相乗りリリースがなかなか厄介で、コミュニケーションコストはかかりますし、全チームが準備完了になるまでreleasableな差分も寝かせる必要がある、つまりフロー効率にも悪影響を与えていました。Slackのやりとりを見てもらえれば想像がつくと思うのですが、相乗りリリースは概ね1日1回が限度なので、リリース頻度は1回/dayが現実的な上限になってしまいます。
この課題を解決するため、一部のチームでトランクベース開発の試験導入を行い、全チームで標準化したのが3月になります。Findy Team+を導入する前に着手していたことなので、計測・可視化によってこの施策に行き着いたというわけではないのですが、結果としてこの取り組みが最もデプロイ頻度に大きな影響を与えました。

もちろんまだまだ伸び代はありますが、少なくとも「チームごとに好きなタイミングに自由にデプロイできる」という状況が実現したと言えます。
変更リードタイムの短縮: レビュー待ち時間の削減
もう1つの大きな変化が、レビュー待ち時間の削減です。
Findy Team+で可視化されたデータからサイクルタイム全体の伸び代を探す中で、明らかに「オープンからレビューまでの平均時間」が長いことが分かり、試しに1つのチームで改善を目指すことになりました。
先に結論から行きますと、改善に動き始めてから約4ヶ月の成果がこちらです。

最大で60時間ほど待ちがあったのが、6月末には1時間台まで短くなっています、、!すごい。
あまりにも変化が大きいので、今さっきこのチームのリーダーに「かなりの色々な施策の積み重ねよね?教えて!」と聞きに行ったんですが、どうやらFindy Team+のデータを共有して、速くレビューすることを心がけよう!と言っただけのようです。
もちろん他の色々な要因が徐々に解消していったという事情(実際このチームでは複数メンバーのオンボーディング中だったり、粒度の大きい開発プロジェクトが走っていたりしていました)はあるにせよ、施策としてやったことがこれだけというのは、いかに意識面のアプローチが重要なのかを思い知らされます。
ここまで変わると他のサイクルタイムにしわ寄せが来そうですが、改善中の期間でそういったことは起きず、合計サイクルタイムもFindy Team+内の評価でHigh〜Eliteで維持されていました。
まとめ
〜導入から5ヶ月でスピート受賞した取り組みについて〜 なんて大げさなサブタイトルを付けてしまったので(笑)、結局やったのはトランクベース開発とレビューの意識付けかよ、、と思われるかもしれませんが、個人的にはそこに重要なインサイトがあると思っています。
つまりは「当たり前のことを当たり前にやるのが、結局めちゃくちゃ生産性に効く」ということです。
「なんかウチの会社も受賞できる気がしてきた」と思っていただけたのであれば、僕の作戦は成功です。さぁFindy Team+を導入しましょう(笑)
最後に、今回のような取り組みを一緒に盛り上げてくれる仲間を募集中です!ニーリーは今マルチプロダクト化が急速に進み出し、どんなポジションでもチャレンジングな課題が待っています!ぜひお気軽にカジュアル面談にお越しください!!!
↓僕とのカジュ面はこちらをポチッと。
youtrust.jp
↓CTO三宅とのカジュ面も気軽にどうぞ!
youtrust.jp
コメント