チケット駆動開発がまわりはじめるまでの取り組み/okr-tidd-case

5fa4d3c8c505fd20da374c5e933bac0d?s=47 zinrai
September 18, 2020
2.6k

 チケット駆動開発がまわりはじめるまでの取り組み/okr-tidd-case

REDMINE JAPAN 2020
https://redmine-japan.org/

「チケット駆動開発がまわりはじめるまでの取り組み」発表スライド

5fa4d3c8c505fd20da374c5e933bac0d?s=128

zinrai

September 18, 2020
Tweet

Transcript

  1. チケット駆動開発がまわりはじめるまでの取り組み

  2. 自己紹介

  3. 梅原 潤 肩書はなく平社員です。 「さくらの専用サーバ」にて Nomad + Consul によるアプリケーション実行基盤や Prometheus を中心としたメトリクス監視基盤などサービスを支える基盤を作ってま

    す。
  4. 内容

  5. 前半 「チケット駆動開発」導入の話 マインドセット モチベーション チームの課題感 チケット駆動開発の導入 導入しての成果 導入しての課題

  6. 後半 チケット駆動開発だけでは足りない部分を別の仕組みで補った話 課題解決のために欲しい仕組み OKR を使ったゴール設定 チケット駆動開発との組み合わせ ゴールを目指すためのプロセス やってみてどうだったか まとめ

  7. 前半

  8. マインドセット

  9. チームでの目的とゴールの認識を合わせ明文化する 「誰が」「何を」「いつまでに」「どこまで出来ているのか」がオープンになっ ている

  10. 何故そう考える チームで同じゴールを目指して進むことができない どこまで何をするのかわからず混乱する 成果物のイメージがメンバーごとにバラつく 作業の全体が見通せず認識を合わせられない

  11. モチベーション

  12. 2019年3月半ばに入社し、配属となったチームでの違和感が、チケット駆動開発を推 進する原動力になっている。

  13. 「誰が、いつまでに、何をして、どこまで出来ているのか見える仕組みはなさそう」 日次のミーティングは、その日何をしたかは聞き取れるが、それはゴールまでの どの地点なのかはよくわからない 見えないので、状況を都度確認する必要があり、チームメンバーをとりまとめる 人の負荷が高そう

  14. 「人事評価のシステムで、メンバーごとの期待されている役割は明文化されている が、チームで目指すゴールの認識合わせと明文化はされてなさそう」 皆で目的を共有し、それに向かって進んでいくという部分がチームとして弱そう 「自分達の取り組んでることって、いつまでにどういう状態を目指しているんだ っけ?」という声をチームメンバーからよく耳にした

  15. 「ある仕事が個人に割り当てられ、その仕事を一人で行うという状況で、誰かの頭の 中で情報が完結している」 「この人と一緒にやっていってもらいたい」と言われても、「やっていくことと して具体的に何があるのだろう」となってしまった 情報を持っている側にアウトプットしてもらうにしても、記憶を整理しながらの 説明は負荷が高そう

  16. 「チームに馴染めるかは、配属された人のハングリー精神に強く依存してそう」 何かを貪欲に吸収していこうとする精神は必要だと思うが、なにもかもそれに頼 るのは違うのではないかと思う 1から10まで丁寧に教えて欲しいとは思わないが、何もないのは辛い チームに人を受け入れるための準備はしておく必要がある

  17. 「これらの違和感からくる自分の中でのしんどさをなんとかしたい」 たまに見掛ける「前職はこうで、本来はこうあるべきだ」と言うだけの転職組... みたいな構図は非常にダサいし、そうはなりたくないと心に固く誓っている 転職先は前職ではないので、自分が本当に良いと信じたやり方があるならば、そ れを根付かせる取り組みを試行しなければ変化は無い

  18. チームでの課題感

  19. 誰が、何を、どこまでやっているのかわからない 皆の動きが見えるような仕組みはあったほうがよいとは思っている 今まで何度もタスクを管理しようという試みはあったが、手段が先行してしまい 目的を見失ったり、運用ルールがなく主導していく立場の人もいないためそのま ま誰もやらなくなるを繰り返している

  20. 自分が良いと信じている前職でやっていた「チケット駆動開発」を導入し、違和感を なんとかしていく。

  21. チケット駆動開発の導入

  22. チケット駆動開発 BTS のチケットを中心にプロジェクトを運営することです。 Redmineによるタスクマネジメント実践技法 https://www.shoeisha.co.jp/book/detail/9784798121628

  23. チケット駆動開発の基本ルール No ticket, no commit 作業をチケットで管理する

  24. 導入のための戦略 いきなり全員を巻き込まず、チームメンバーの半分くらいを上限に、小さくはじ め、様子をみながら、徐々にメンバーを増やしていく メンバーの行動を観察し「チケット駆動開発」と相性が良さそう、前向きそうな 人を巻き込む 3ヶ月を区切りに次のステップをどうするか決める

  25. 時系列 2019年3月〜6月 一人チケット駆動開発 2019年7月〜9月 チケット管理することに前向きな方がいるかの確認 2019年10月〜12月 自身の作業をチケット化することに慣れる 2020年1月〜3月 チケットをベースにチームメンバーと協力しながら作業を進める

  26. 一人チケット駆動開発 チケット駆動開発がどのようなものであるかを見せられる具体的なものは無かった。 まずは Redmine を準備し、見せられる具体的なものを自分一人でチケット駆動開発 することで、作っていくことにした。

  27. チケット管理することに前向きな方がいるかの確認 監視基盤の整備を進めるにあたり、メンバーの協力が必要なタイミングがきた。 関係者をチケットの担当者に設定し、どのくらい興味を示してもらえるか確認した。

  28. 前向きそうな人 2名 チケットの構造やタスク分解の考え方について質問してきてくれる方がおり、チケッ ト駆動への前向きさを感じた。

  29. 相性が良さそうな人 1名 今日、何に取り組みどこまで出来て、明日はここに取り組む予定で、来週にはこのよ うな状態になっているという報告を理路整然と日次のミーティングで話す方が一人お り、チケット駆動開発がハマるのではないかと思った。

  30. 「チケット駆動開発」を小さくはじめていくことが出来そうだなと思った。

  31. 自身の作業をチケット化することに慣れる 上長に相談 チームに対してのプレゼンテーション 参加メンバーの決定 チケット化する「タスク」というものを理解してもらうためのハンズオン Redmine でチケット駆動開発するためのルールを明文化 Redmine の使い方をレクチャー 週次でのチケット棚卸しを実施

    前の週なにをやって、今週なにをやるのかをチケットをベースに共有する チケット作成の困りごとを共有する
  32. チケットをベースにチームメンバーと協力しながら作業を進める 仕事が自分一人で完結することは少ない。 自分の作業をチケット化するに加えて、チームメンバーにチケットで作業を依頼でき るようになる。 週次でのチケット棚卸しを実施 チームメンバーの協力が必要になる作業を共有する 前の週なにをやって、今週なにをやるのかをチケットをベースに共有する チケット作成の困りごとを共有する

  33. 導入しての成果1 「誰が」「何をするか」「何をしているか」「どこまで出来ているか」がチケットと して少しずつ見えるようになってきた。 日々の開発 チームにくるエスカレーション ベンダーへの問い合せ

  34. 導入しての成果2 手を付けられていないこともチケット化され見えるようになったことで、新たなメン バーを受け入れるときにやっていきたいことを伝える材料として利用することがで き、実際に他チームのメンバーを専用サーバチームに迎え入れることができた。

  35. 導入しての課題 チームとして同じ方向に進むための仕組みはまだ無く、各々が自身の取り組みを チケット化しているという状態で、チームとしての一体感はまだ無い 週次でのチケット棚卸しでは、前の週と今週の範囲でしか動きをとらえることが できず、数ヶ月先のゴールを見据えた動きはできない

  36. 「チケット駆動開発に加えて、チームとして数ヶ月先のゴールを見据えて進んでいけ る仕組みを整備する」

  37. 後半

  38. 課題解決のために欲しい仕組み

  39. チームで目指す方向を示すとができ、具体的な行動をチケットに落とし込めるように したい。 チームで目指すゴールを設定できる チケット駆動開発と連携が可能 方法論を覚えるだけでおなかいっぱいにならない

  40. OKR というフレームワークが目に留まった。

  41. OKR を使ったゴール設定

  42. OKR とは 「Objective(目的)」と「Key Result(主要成果)」という2つの言葉の頭文字を並 べた言葉で、組織やチーム、個人のありたい姿を達成するためのツールです。 最短最速で目標を達成するOKRマネジメント入門 https://kanki-pub.co.jp/pub/book/details/9784761273996

  43. OKR をチームに適用した場合 Objective チームとしてのあるべき姿を明文化する Key Result あるべき姿にどのように近づいているかという達成状況を測定するための主 要成果を3〜5つ程度決める

  44. チームで目指すゴールを Objective として設定し、 Key Result から具体的な行動をチ ケット駆動開発に落とし込めそうな気がした。

  45. OKR の書籍をいくつか参照し、 OKR で課題に対する仕組みを整備していく旨を上長 に伝え進めていくことになった。

  46. 参照した書籍 最短最速で目標を達成するOKRマネジメント入門 https://kanki-pub.co.jp/pub/book/details/9784761273996 OKR(オーケーアール) https://www.nikkeibp.co.jp/atclpubmkt/book/18/P55640/ 本気でゴールを達成したい人とチームのためのOKR https://d21.co.jp/book/detail/978-4-7993-2461-5

  47. 四半期を OKR のサイクルとして進めていくことに決めた。

  48. OKR 設定 チームをまとめる役割、役職の方を混じえて叩き台を作成する 叩き台に書かれている内容に誘導したいわけではない OKR をチームで決めていくための議論のとっかかりとして利用する 叩き台をもってチームメンバーと OKR を決める 叩き台の内容が一切採用されなかったとしても問題ない

    チームで納得した OKR が設定されることが大事
  49. チケット駆動開発との組み合わせ

  50. Key Result から具体的な行動をチケット駆動開発に落とし込む。

  51. 日々の開発は、親子チケットの構成で管理している。 ストーリー タスクの親チケット ゴールを管理するトラッカー タスク ストーリーの子チケット 具体的な作業を管理するトラッカー

  52. None
  53. チケットへの落とし込み OKR 用の対象バージョンを Redmine に設定する Key Result をもとにチームメンバーはストーリーチケットを作成し、対象バージ ョンを設定する チームで集まり、対象バージョンで集計し一覧されたストーリーチケットをベー

    スに取り組むことを各々が宣言する マネージャーはチケットで宣言された取り組むことが、四半期の OKR に合致した ものであるか確認する
  54. None
  55. ゴールを目指すためのプロセス

  56. OKR を設定し、具体的な行動がチケット化されれば、四半期の終わりには OKR を達 成できているという話にはならない。

  57. OKR 達成のためのプロセスを日次、週次でまわし、ゴールに近づいていることを確認 していく必要がある。

  58. デイリーチェックイン チームで毎日集まり、個人でそれまでの1日を振り返り、どのような行動をしたかを確 認し、次の1日をどのように過ごすか共有する。 チームメンバーが進めたチケットを Redmine のカスタムクエリで一覧する 何に取り組み、取り組んだことについての「終わっている」「終わっていない」 を共有する どうタスクにすればよいかわからなかったなどがあれば共有する タスクを進めるために障害となっているものがあれば共有する

    次の日の行動について共有する
  59. None
  60. ブリーフィング チームで集まり、 Key Result の達成状況をふりかえり、これからの一週間の行動を決 める。 祝日を避けるため、毎週火曜日に1時間半 一週間の行動を各々でふりかえりチームメンバーに対して共有する 次の一週間の行動を決める

  61. ブリーフィング 事前準備 ブリーフィングの参加者は、事前準備をしておく。 ブリーフィングのタイミングにて取り組もうと考えている OKR に直結するタスク をチケット化する チケット化したタスクにブリーフィング日を「開始日」に設定する チケット化したタスクに「カテゴリ」 OKR

    を設定する 自身の一週間の行動を KPT でふりかえりテキスト化する
  62. None
  63. ブリーフィング 当日 「ふりかえり」からのアクションを決める メンバー自身がふりかえった Try が妥当かチームメンバーと話し合う メンバー自身がふりかえった Problem に対して Try

    をチームメンバーと話し 合う 次のブリーフィングまでに取り組むことを決める OKR カテゴリが設定されたタスクを一覧する メンバーに次のブリーフィングまでに取り組むことについて、一覧されたチ ケットをベースに話してもらう マネージャーは、メンバーの取り組むタスクを調整する
  64. 最終的な達成状況の評価

  65. 四半期の最終週に1時間半を確保し、 OKR の最終的な達成状況の評価と四半期の「ふりかえり」を実施する。 ( やり方については、まだ手探りな状態 )

  66. 定量評価 感覚的な議論とならないようになにかしらの事実を数字で共有したい。 チームで積んだチケットが四半期でどのくらい進行したか Redmine のロードマ ップで確認 メンバーごとにどのくらいチケットが進行したかチケットを集計し確認

  67. None
  68. 定性評価 OKR としてどうであったかメンバーに KPT を使いテキスト化してもらう テキスト化した内容を各自に発表してもらう 次の四半期にどう生かしていくかの認識をメンバーと合わせる

  69. やってみてどうだったか

  70. 2020年4月〜6月 ( 第1四半期 ) 手探りの取り組みのため「ゴールを目指すためのプロセス」に到達するまでに時間が 掛かった。

  71. OKR 設定、チケットへの落とし込みが完了したのは、5月末 叩き台を作る前段の、チームとしてどうありたいかなどを整理し、明文化するところ からはじめる必要があり、叩き台の作成に時間が掛かった。 チームで OKR を設定することもはじめてのため時間が掛かり、具体的な行動をチケッ トに落とし込みが完了したのは、5月末で、ブリーフィングは3週間ほどしかまわすこ とができなかった。

  72. ブリーフィングの設計に苦労した 参照した書籍をベースにブリーフィングを設計したが、実際にブリーフィングをやっ てみると事前に設計した内容では全然チームにフィットしなかった。 毎週のブリーフィングの結果をフィードバックしチームに馴染むよう内容を修正して いき、四半期の終わりに、ようやくブリーフィングの内容を固めることができた。

  73. Key Result に認識の齟齬が発生した 四半期の「ふりかえり」にて、何を意味していて、具体的な行動として何をしていく のかが曖昧なまま進めてしまった Key Result があることに気が付いた。 次の四半期では、 Key

    Result が何を意味しているのか、具体的な行動はどうしていく のかの認識をチームであわせるようにした。
  74. 2020年7月〜9月 ( 第2四半期 ) 第1四半期の実績があり、0からのスタートではなかった。

  75. ブリーフィングは、7月中旬からはじめることができた 第1四半期の知見のおかげで、OKR の叩き台作成、チームでの OKR 設定を第1四半期 よりスムーズに進めることができた。

  76. 具体的な行動のチケット化が8月中旬まで掛かった 7月中旬から開始したブリーフィングは一部のメンバーとで、メンバー全員ではない。 他部署との調整が必要な開発は、具体的な行動が確定するのに時間を要し、チームメ ンバー全員でのブリーフィング開始は、8月中旬からとなった。

  77. OKR を導入してみての成果 何処を目指しているのかチームで認識を合わせられるようになった 「これって何のためだっけ?」となったとき、明文化している OKR を参照するこ とで目指すゴールを再認識できている OKR とチケット駆動開発の組み合わせにより、四半期に注力するタスクが見える ようになった

  78. OKR を導入してみての課題 「ゴールを目指すためのプロセス」がまわりはじめるまでに一ヶ月半くらい掛か っている 「最終的な達成状況の評価」は四半期に一度なので、フィードバックサイクルが 長く、会議体の設計が固まっていない 「最終的な達成状況の評価」の「ふりかえり」を次の四半期に生かしきれていな い

  79. 今回の取り組み

  80. チケット駆動開発のための取り組みもチケット駆動開発で進めている。

  81. 梅原は、全てのチケットに時間を付けている。

  82. いまのところ梅原だけでいうと稼動が 400 時間くらいと、根付かせるぞエネルギーが 投入されている。

  83. 計算すると2019年3月〜2020年9月までの仕事時間のうち 18 % くらいは、チケット駆 動開発のための取り組みに割いている結果となっている。

  84. やってきた取り組みを忘れないようドキュメント化している。

  85. まとめ

  86. チームへの違和感とチームでの課題感がうまくマッチし、いまのところ、 OKR にてチ ームのゴールを管理し、具体的な動きをチケット駆動開発していくというところに落 ち着いている。

  87. 引き続き、やってみた結果をもとに軌道修正しながら少しずつ形にしていきたいと思 い行動してる。

  88. おわり