天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

【オンライン開催】Four Keysで改善する開発生産性〜データ・モバイル・フロントエンド〜に参加してきた

uzabase-tech.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

今回は「Four Keys」をテーマに、スキマバイトアプリ「Timee」を提供するTimee社とソーシャル経済メディア「NewsPicks」を提供するユーザベースの2社の合同勉強会を行います。 「Four Keys」を軸にデータ、モバイル、フロントエンドの各領域でチーム改善に向き合う2社の取り組みにご興味のある方、是非ご参加お待ちしております。 質疑応答のお時間もございますので、講演者に対する質問もお待ちしております!

会の様子

セッション1〜モバイルでもエリートDevOpsチームを目指そう〜

最初に石井さんから話がありました。

LeanとDevOpsの科学では、ベロシティで生産性を測るのはアンチパターンだという話がありますが、石井さんのチームではベロシティの水増し(=信頼をなくすような行動)もしないし他チームと比較することもしないので、しばらくはベロシティで生産性を測り、リアーキテクチャーの効果測定などもしていたということでした。

ただし、ストーリーポイントの基準を変えることが難しいのには課題を感じていたそうで、Four Keysで生産性を計測するように変更したそうです。
Four Keysで生産性を計測するようにした結果、PRを小さくする技術が身についたり、リリース作業にかけるコストが0になったり、テスト自動化の仕組みが整ったり、Slackでスタンプを押すとリリースができるような仕組みになったりと、良い効果が多数あったそうで、結果的にFour Keysに変更してよかったと思っているということです。

なお、Four Keysの指標はFindy Teams上ですべて金メダルになっているということでした。

セッション2〜フロントエンド開発における、デプロイ頻度を上げるためのテスト設計と仕組みづくりのヒント〜

続いて、デプロイ頻度を上げるためにどのようにテストの整備をしているのか?という話が飯田さんからありました。

飯田さんのチームでは、「それぞれの接続部分で互いに認識差異がなく、疎通や安全性の担保ができていること」「それぞれの責務が全うできていること」*1の2つの状態が成し遂げられているようにしているということで、具体的にはNewRelic/MagicPod/型定義/Visual Regression Testing/Unit testを用いているということでした。

また、このような状態を継続できるように、

  • Webプロダクトを普段触っていないメンバーでもミスなくメンテできる習慣をつける
  • 開発中にテストが自動で回るようにする
  • 各テストの責務を定義して管理する

の3つを意識しているということでした。
また、週に一度のレトロスペクティブでUnitだけではなくDivision全員でふりかえることも生産性に寄与していると考えているいうことでした。

セッション3〜Four KeysによるDataOps改善の第一歩〜

最後に石井さんから、DataOps改善のためにFour Keysをどのように活用しているのか?という話を聴いていきました。

Four Keys計測は、PRの開始〜終了と、ストーリー作成開始〜レビュー完了までの2観点で取っているということで、GitHub/Notionのデータを参考に計測しているそうです。
また、具体的な実装としてはDORAチームの実装を利用しているということでした。

実際に運用してみると、あるリポジトリだけリードタイムが異様に遅いことがわかったり、リードタイムを短縮するためにPRを抑えることを合意したりすることができたそうです。
また、データが可視化された直後は、「ふーん」くらいの感想になりがちだったものの、ある程度の期間眺めていると重要な指標やデータの見方が分かるようになったそうです。

データ基盤における安定性に関しては、まだ何も仮説を見つけることができていないので、今後の課題としているということでした。

会全体を通した感想

実際に運用している様子や具体的な実装が聞けた点が非常によかったです。

また、最初はなんとなく効果がわかるくらいの状態で運用を始めてみて、実際に運用しながらどのようにしていくとよいのかを確かめていったという過程の話は、ここ最近のFour Keysに対する盛り上がりならではのトレンド感があって、面白かったです。

*1:両方とも実際はもっと具体的な項目に落ちている