Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

zinrai
September 18, 2020
4.9k

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

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

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

スライドの詳細をテキストに起こした内容は下記を参照
http://d.zinrai.info/public/posts/okr-tidd-case/

zinrai

September 18, 2020
Tweet

Transcript

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

    View Slide

  2. 自己紹介

    View Slide

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

    View Slide

  4. 内容

    View Slide

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

    View Slide

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

    View Slide

  7. 前半

    View Slide

  8. マインドセット

    View Slide

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

    View Slide

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

    View Slide

  11. モチベーション

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  18. チームでの課題感

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  37. 後半

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  49. チケット駆動開発との組み合わせ

    View Slide

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

    View Slide

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

    View Slide

  52. View Slide

  53. チケットへの落とし込み
    OKR 用の対象バージョンを Redmine に設定する
    Key Result をもとにチームメンバーはストーリーチケットを作成し、対象バージ
    ョンを設定する
    チームで集まり、対象バージョンで集計し一覧されたストーリーチケットをベー
    スに取り組むことを各々が宣言する
    マネージャーはチケットで宣言された取り組むことが、四半期の OKR に合致した
    ものであるか確認する

    View Slide

  54. View Slide

  55. ゴールを目指すためのプロセス

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  59. View Slide

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

    View Slide

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

    View Slide

  62. View Slide

  63. ブリーフィング 当日
    「ふりかえり」からのアクションを決める
    メンバー自身がふりかえった Try が妥当かチームメンバーと話し合う
    メンバー自身がふりかえった Problem に対して Try をチームメンバーと話し
    合う
    次のブリーフィングまでに取り組むことを決める
    OKR カテゴリが設定されたタスクを一覧する
    メンバーに次のブリーフィングまでに取り組むことについて、一覧されたチ
    ケットをベースに話してもらう
    マネージャーは、メンバーの取り組むタスクを調整する

    View Slide

  64. 最終的な達成状況の評価

    View Slide

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

    View Slide

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

    View Slide

  67. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  74. 2020年7月〜9月 ( 第2四半期 )
    第1四半期の実績があり、0からのスタートではなかった。

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  79. 今回の取り組み

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  85. まとめ

    View Slide

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

    View Slide

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

    View Slide

  88. おわり

    View Slide