Satoshi Haradaの日記

Satoshi HaradaがAgileに関することを書き残していく日記

書籍「アジャイルメトリクス」を読み始めました

本書の概要

www.shoeisha.co.jp

開発に関わる全工程の詳細を定量化し

より強く、より高パフォーマンスなチームへ

 

【本書の内容】

本書はChristopher W.H.Davis, "Agile Metrics in Action",Manning Publications 2015の邦訳版です。

アジャイル開発は、その特性である「反復」によって、経験に基づく継続的な改善に最適な開発手法です。

この手法に、追跡システム、テストおよびビルドツール、ソース管理、継続的統合、およびプロジェクトライフサイクルといったさまざまなコンセプトとツールを援用することで、製品やプロセス、さらにはチームそのもののパフォーマンス改善できる豊富なデータを入手できます。

本書は、そういった実際に生成されるデータを計測し、結果を的確に分析し、効果的な対処法を指南してくれます。

パフォーマンスや進捗度合いなどを定量化することで、経験値による知見だけではなく、より合意しやすいチームへと組織や方法論を改善してくれることでしょう。

 

【読者が得られること】

・プロセスやタスクを定量化できるようになる

定量化したデータから現状を正確に把握できるようになる

・コミュニケーション、生産性、透明性、士気を向上させる

・客観的にパフォーマンスを測定する

なぜこの本を読もうと思ったか

アジャイルが上手くいっているかどうかをどうやったら測ることができるのか、何かヒントが見つかるかもしれないと思ったためです。 アジャイルなチーム開発が上手くいっているかどうかの物差しは、ざっと以下のようなものが思い浮かびます。

  • PBIを実現していくスピード(ベロシティ)
  • スプリントで実現したタスクの数やその見積り数
  • デプロイの頻度
  • デプロイの待ち時間
  • リリースの頻度

しかし、これらの定量的な指標を運用しているチームはまだそれほど多くないように感じますし、ふりかえり(レトロスペクティブ)の場で定量的な値をもとに原因分析や改善Tryが行われることも少ないように感じます。 ふりかえりの場では、定量的な値を用いて改善策を出しているシーンよりも、定性的な印象・感想をもとに改善策を考えるシーンが多いと感じていたのです。

もちろん、ふりかえりは決まったルールがないので定性的な印象からもっとチームがよくなるアイデアが出てくることは尊いことですし、そこから改善が前に進むことも十分にあり得ます。 しかし、そこに定量的な測定値(メトリクス)が加われば、より効果的な改善点のアタリがつけやすくなるのではないかと期待しているのです。

読書メモと感想

対象の章

第1部 アジャイルチームを測定する

第1章 アジャイルパフォーマンスを測定する

第1部・第1章の読書メモ

  • フィードバックループ(収集・測定・対応・反復)の中でメトリクスを活用することで、コミュニケーションを改善する
  • メトリクスとは、アプリケーションのライフサイクルから得られるデータ
  • アジャイルチームの測定は、立場の違いによって何を良いとするかが異なるので難しい
    • 同じ道を走っていても、良いとする物差し(車のメーター)が異なる
  • 異なる物差しのまま良いかどうかの会話はできない。そのため、同じ物差しで見れるようにデータを変換することでコミュニケーションのギャップを埋める必要がある
    • アジャイルのメトリクスはツールであり、そのツールを用いてコミュニケーションをとることが大事
  • アジャイルメトリクスを理解する上で問題になりやすいポイントがある
    • アジャイルのメトリクス測定の定義は複数の考え方(思想)があり、混乱しやすい
    • アジャイルはプロジェクトではなくプロダクトに集中するので、ガントチャートのようなプロジェクトにフォーカスするツールは不向き
    • データがあちこちに散らばっているので、統一して表示できていない
  • フィードバックループの最初の一歩はデータ収集
    • プロジェクト管理ツール(Jiraなど)からデータ収集
    • ソースコード管理(GitHubなど)からデータ収集
    • ビルドシステム(CI,Jenkinsなど)からデータ収集
    • システムモニタリングからデータ収集
  • フィードバックループの次の一歩はデータの分析
    • 何を分析すべきか(重要なことは何か)を理解するために、マインドマップを利用する
    • データを可視化する
  • 実践しよう!
    • オープンマインドでいること
    • 物事をポジティブに考えること
  • オーナーシップ
    • 賛同を得る
      • データ収集やメトリクス把握は1人で始めることもできるが、理想的にはチームと協力して全員が共通認識を持っているのが望ましい
    • メトリクス否定派
      • 自身の仕事が測定されることに非協力的な人もいる
        • 未知への恐怖、支配者への恐怖、コントロールの欠如などが背景にある
      • ポイントは、自分自身の測定は自分自身で行うべき
        • 外部の人間やシステムから良し悪しを指摘されるべきではない
      • よくある反発
        • そもそも、人は測定"される"のが好きではない
          • 自分がすすんで提供するか、人から測定されるかの違い
        • メトリクスはプライバシーの侵害?
          • ではない。改善の一手法
        • メトリクスがプロセスを重くしている?
          • 逆。メトリクスはプロセスを改善する方法を特定するのに役立つ
          • 手動でメトリクスを作成している場合は、メトリクス収集とレポート作成は自動化したい
        • メトリクスは難しくて時間がかかりすぎる
          • 本書を読もう!

第1部・第1章の感想

  • メトリクスと聞くと堅いイメージがあるが、メトリクスを活用してコミュニケーションを改善してほしいというメッセージが示されているのは意外だった
  • アジャイルチームの測定が難しいのは、立場の違いによって何をよいとするのかが異なるためというのはその通りだなと思う
    • スクラムでいえば、Dev/PO/スクラムマスター/ステークホルダーという立場の違いで、何を良いとするか・そのために何を見たいかが異なってくる
    • そのため、一言に「チームの状況を見えるようにメトリクスの整備をしよう!」と言っても、立場の違いで見たいもの・見えるようにしたい背景が異なるために、一筋縄には進まないことが多い
  • メトリクス否定派に言及しているのが印象的
    • メトリクスと聞くと拒否反応を示す人が少なからずいるのは、日本に限った話ではないのかもしれない
    • メトリクスと聞くと「重厚」「大変そう」「動きが遅くなりそう」というイメージを私は持ってしまうが、本書はメトリクスはプロセスを改善する方法を特定するのに役立つと明言している。

この先を読み進めるのが楽しみです。

RSGT2023から私が感じ取っていたこと

今年も開催されました、RSGT2023。

私が初めてRSGTに参加したのはRSGT2021からです。今回が3回目の参加なのですが、参加したい理由がだんだんと変わってきたような気がします。

1回目は「よくわからないけど有名な人がたくさん集まるみたいだから参加してみよう」、2回目は「登壇したい!」、3回目は「参加者の方々と交流を深めて今年1年の勢いをつけたい」といった感じに変化してきました。

セッションの感想やイベントレポートはたくさんの方々が書いていますので、私はちょっと違った視点から今回のRSGTで感じ取っていたことを書き残しておこうと思います。

RSGT2023から私が感じ取っていたこと

なぜ私はRSGTに参加するのか

  • とても魅力的なセッションが組まれていて、私自身もたくさんのセッションを視聴したのですが、私個人としては「セッション視聴はRSGT参加目的の1/4くらいかもしれない」と思うのです
  • 1番の目的は登壇者や参加者の人と交流すること
    • RSGTのGはギャザリング
    • ギャザリングは集会という意味
    • セッションを見るだけであれば、録画で見ることはできる
    • その場で同じ興味関心がある人たちと場を共有する「ギャザリング」は、参加しないとできない
  • なので、私としてはセッションの視聴も「ギャザリング」のための手段の一つだと思っています

セッションを試聴しながら、同時にギャザリング(集会)しているとはどういうことか?

  • 同じセッションを見にきた人が自分以外にもいるんだ・同じ興味関心がある人がいるんだという一体感
  • セッション中もdiscordで参加者が反応や感想をリアルタイムに投稿するライブ感
  • セッション後は、登壇者と意見交流することも…
  • 参加者同士で「あのセッション見た?どうだった?」と意見交換をする

セッション以外にも、参加者同士で交流(ギャザリング)するための仕組みがたくさん仕込まれているのがRSGT

  • まず、3日間の日程の前日にDay0という形でオンラインで交流するためのイベントが用意されている
    • Day0で交流した方と、その後オンサイトの会場でお会いできた
  • 美味しいランチパックの提供も、美味しいものを食べながらコミュニケーションをとってほしいという運営からのメッセージだと思う
    • アジャイルにも、美味しいご飯やお菓子を囲みながら交流しようというtipsあったよね。確か
  • そして、その最たるもの・結晶がDay3のOSTだと思う

OSTがギャザリングの結晶だと思う理由

  • OSTって何?は良いスライドがあるのでそれを見てほしいのだけど、OSTの議題は参加者が提示して、その議題に興味がある人が自主的に集まって議論する
  • Day1〜2までの間で発表を見たり参加者同士で交流して、自身の中に蓄積された知識や疑問点をアウトプットする時間がDay3のOSTだと思う
    • 故に、OSTは最終日のDay3に設定されているんだと思うんです
  • これって、野中郁次郎先生のSECIモデルに則ってるんじゃないかと勝手に思っています
    1. 登壇を見て、知識を自らの中に落とし込む(内面化、形式知暗黙知
    2. 登壇者や参加者との交流を通じて、知識を共有する(共同化、暗黙知暗黙知
    3. OSTで自らの考えを表明したり付箋に書き出す(表出化、暗黙知形式知
    4. OSTで他の人の意見も聞き、自らの知識と他の人の知識も組み合わせて何かしらの結論を導き出す(連結化、形式知形式知
  • このように見ると、セッションを視聴するだけだとSECIモデルの内面化までしか該当しないので、ちょっともったいない!
  • セッションから得られた知識を新たな知識(自身にとって役に立つ・実践できる知識)に変換するには、SECIモデルの共同化・表出化・連結化まで進め、そしてそれを繰り返し繰り返し回す必要がある
  • RSGTはこのSECIモデルが回るように意図的にイベント設計されてるんじゃないかと、自分は思うんです

https://www.brains-tech.co.jp/wp-content/uploads/2021/10/secimodel.png

そしてDay3のキーノートへ

  • OSTが終わると間髪入れずにDay3のキーノートが始まるのですが、その内容は「参加者の行動を促す」ものになっているのが印象的
  • これもSECIモデルの内面化にループさせるための意図した仕掛けなのではないかと、自分は勝手に思っています
  • RSGTが終わっても学んだことを学びで止めず、自らの現場に持ち帰って実践してもらおう・新たな知識を生み出すSECIモデルのループを回し続けてもらおうというメッセージだと私は思うのです

1年後にまた会おう

  • RSGTが終われば、各々の現場に戻って各々の現実に引き戻されます
    • だけれど、RSGTの場で回した学びのループをその勢いのまま自らの現場で何か試みるのが良いでしょう
  • もしかしたら、現場で知識のループを回し続けるのが難しいと感じたり、ループの勢いが落ちるようなこともあるかもしれません
    • ですが、RSGTで知り合った・交流した仲間がいます。相談できる仲間がいます
    • 1年に一度、そんな仲間たちと交流することで知識ループを再度加速させる。それが私にとってRSGTに毎年参加したくなる理由なのだと思います

そんなこんなで、今回もRSGTの場でたくさんの「勢い」をもらったので、これを糧に2023年も走っていこうと思います。