Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

内容

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

前半

Slide 8

Slide 8 text

マインドセット

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

モチベーション

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

チームでの課題感

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

チケット駆動開発の導入

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

後半

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

OKR を使ったゴール設定

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

参照した書籍 最短最速で目標を達成する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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

最終的な達成状況の評価

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

やってみてどうだったか

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

今回の取り組み

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

まとめ

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

おわり