overflowにおけるカテゴリーの選択と計測方法
私達の組織では、以下の3つのカテゴリーを重要指標として運用を行っています。
- Satisfaction and well being
- Communication and collaboration
- Activity
これら3つを選択した背景には、現在我々は組織としても拡大し、提供しているプロダクトの機能が増えていることから、単に行動量やパフォーマンスのみに着目した運営ではなく、より総合的な視点から組織の健全性や持続可能性を追求したいという思いがあります。
それぞれのカテゴリーを選択した理由は以下の通りです。
Satisfaction and well being
メンバーが長時間労働することで得た一時的な成果よりも、健康的な状態で継続可能な成果を発揮してほしいため、このカテゴリーを選択しています。チームメンバーの満足度やウェルビーイングを定期的に計測し、そのフィードバックを組織の改善に活かしています。
Communication and collaboration
フェーズとしても単にリリースを増やすだけでなく、その機能を更に磨き上げるプロセスが求められています。そのため、議論とコラボレーション活動の頻度や質が非常に重要です。このカテゴリーを選択することで、チームメンバー間のコミュニケーション活動状態を把握し、業務の再配分、プロセスの改善を行っています。
Activity
フェーズが変わっても、安定的に機能リリースを行い、チームとしてもパフォーマンスを上げ続けることは最重要です。このカテゴリーを選択することで、Four Keysやプルリクエストのサイクルタイムを元にした定量的な計測を行い、チームのアクティビティを改善しています。
これらは、我々の組織のフェーズや文化を反映して選択しています。
次に、各カテゴリーの具体的な運用例について詳しく説明します。
Satisfaction and well beingカテゴリーで行っていること
Satisfaction and Well-beingのカテゴリーでは、コンディションサーベイを実施しています。
四半期ごとに次の項目を含むコンディションアンケートを送付します。
- 業務難易度
- タスク量
- 会社、プロダクトを勧められるか
これらの情報は、個人が特定されるような内容の開示はせず、チームでの平均値や全体スコアを元に定量指標にプロットして微妙な影響を観測するような形で運用しています。
また、不定期ではありますが、開発者アンケートも導入しています。これはコンディションだけでなく以下の項目も含んでいます。
- 日々の業務でのルーチンワークや負担になっている事項
- オンボーディングの所要時間やその満足度
- 会社のツールのサポート状況
これらの情報を、定期的にアンケートを通じて収集し、SREのタスクとしてレビューします。それにより、ペインポイントやトイル(冗長な作業)の数の減少が他のカテゴリーにどのような影響を及ぼすかを検証しています。
Communication and collaborationカテゴリーで行っていること
Communication & Collaborationカテゴリーでは、自社サービスが提供する機能を用いて、月に一度のKPT時間にメンション・被メンションの分析とコミュニケーション相関図による組織の状態把握を行っています。
メンション・被メンションの分析では、個々のメンバーがSlackで送受信するメンション数を基に、個人やチームのコミュニケーション負荷を可視化しています。
これにより、特定のポジションや個人に過度の負担がかかっていないかを確認し、必要に応じて人員の追加や業務の再配分、プロセスの改善を行っています。
コミュニケーション相関図での分析では、メンションを元にした関係をプロットすることでコミュニケーションパスを可視化しています。
これにより、チーム内外の情報交換の流れや頻度を把握し、新メンバーがチームに参画した後の状況を観察します。
その結果をもとに、チーム内で適切なコミュニケーションが取れているか、必要な情報にアクセスできているかを確認し、オンボーディングプロセスの改善を行っています。
Activityカテゴリーで行っていること
Activityカテゴリーでは、Four Keysやサイクルタイム分析結果を用いた定量的なモニタリングと、スプリントレトロスペクティブや月に一度のKPT時間での振り返りを実施しています。
Four Keys分析では、マクロ的な観点から、チームのリリースサイクルや変更障害の状況を確認します。この分析によって、チームが良い状態にあるのか、それとも改善が必要な状態にあるのかを大まかに把握します。
指標に悪化の傾向が見られる場合は、状況をより詳細に分析します。その中で、サイクルタイム分析が重要な役割を果たします。
サイクルタイム分析では、チーム全体のサイクルタイム、つまり実装開始から完了までの時間を把握します。サイクルタイムが特に長いタスクを詳細に分析し、開発タスクが大きすぎてビッグバンリリースを引き起こしていないか、またはレビュー時間が不当に長いといった問題が発生していないかを確認します。
例えば、レビュー時間が継続的に長くなっている場合は、それが引き起こされる原因を特定し、運用ドキュメントの整備やレビュー時の整理方法などの改善策を検討します。
さらに、個々のメンバーのパフォーマンスも確認します。チームの平均値に比べて明らかに工程の時間を多く取ってしまっているメンバーがいれば、その背後にある原因を特定し、解決策を見つけるためのヒアリングを行います。特定のメンバーが過度に時間を消費している理由を理解することで、そのメンバーをサポートし、全体の生産性を向上させるための具体的なアクションを決定することが可能になります。
このように、我々はFour Keys分析とサイクルタイム分析を組み合わせることで、より詳細かつ包括的な視点からチームのパフォーマンスを評価しています。
そして、これらの分析結果をもとに、定期的な振り返りを通じて組織全体としての改善を、イテレーションを回しながら続けています。