チケット駆動開発をチームメンバーに展開する 前編
#ssmjp Advent Calendar 2020 14日目の記事です。
お話する時間は無かったので、 「チケット駆動開発がまわりはじめるまでの取り組み」では、 チケット駆動開発の導入にて取り組んだことについて、 「こんな流れで進めていきました」くらいで終わってしまいました。
それぞれの取り組みについて、どのように考え、 どう進めていったかについて書いていると結構なボリュームになりそうな気がしたため、 前後編に分けることにしました。 今日は、「チケット駆動開発」の導入のため取り組んだ前半の内容について書きました。
チケット駆動開発がまわりはじめるまでの取り組み
https://speakerdeck.com/zinrai/okr-tidd-case
チームの規模
マネージャーとチームメンバー(私を除く)を合わせて9名
マネージャーと相談
マネージャーとの 1on1 にて、 入社して半年ほど経ち、チームメンバーの印象を伝えました。
- A さん
- チームミーティングで発信される情報がほとんど無く、何をしているのかが見えてこない
- チケット駆動開発という以前の課題がありそうに感じており、巻き込んでいくのは相当に大変だと思われる
- B さん
- 自分の動きを正確に情報発信していて、発信している情報は、そのままチケットに落とし込めるくらいの粒度になっているように思う
- たぶんチケット駆動開発と相性が良い
- C さん
- 人のフォローにまわることを多く観測した
- 私の作ったチケットに対して、歩み寄ってくれている前向きな反応がある
- チケット駆動開発をやっていけそうな気がしている
- D さん
- 新卒で今年入ってきたばかりなのに、業務を貪欲に吸収しながらすでに結果を出していて凄いなと感じた
- 自分が会社員はじめたときは全然こんなではなかった
- 自身のタスクを Github にてチェックリストで管理しているようだが、チェックリストでは過程を記録できないところに悩んでそう
- E さん
- 半年間ほとんど接点がなくてよくわからない
- F さん
- アウトプットのスピードは尋常ではないが、そのスピードを持ってしても捌けないくらいに、いろいろなことに係わっているような印象を受けた
- 何かを大量に抱え込んでそうな雰囲気は感じるが、それが何なのかは見える形になっていないのでよくわからない
- 入社時に一緒にやっていってもらいたいと言われたが、本人の頭の中にしかないので今でもよくわからない
- チケット駆動開発によって見えるようにならないかなと思っている
- G さん
- チームミーティングにて発信している情報から、既存のサービスの運用まわりを一手に引き受けてそうな印象を受けた
- 開発の比重は少なそうに見えている
- H さん
- 別チームの業務がメインかつ、物理的な距離があるため「チケット駆動開発」巻き込むためのコストが高いと感じている
- いまのところ「チケット駆動開発」に巻き込もうとは考えていない
上記を伝えた結果、概ねマネージャーが思っていたことと同じであるということがわかりました。 いきなり全員を巻き込む気はなく、段階的に巻き込んでいこうと考えていることを伝え、 マネージャーからの同意を得ることができ、チケット駆動開発の導入を進めることにしました。
「チケット駆動開発」に対する自身の考えをプレゼン
一人チケット駆動開発をやっているところは見せていましたが、 自分が今までどういった経験をしてきたので「チケット駆動開発」が良いと思っているのか、 いつも何を考えて、どう行動しているのかについてチームメンバーに話したことはありません。
いきなり「チケット駆動開発はじめます」ではなく、 まずは自身の考えをチームメンバー全員に対して発信し、反応を見ることにしました。 全員に納得してもらいたいというような期待はありません。 チームの中から数名の反応があれば充分です。
「 チケット駆動開発に対する自身の考え 前編 」や 「 チケット駆動開発に対する自身の考え 後編 」に書いたこと、 チームの現状、「チケット駆動開発」によって期待される効果などをプレゼンしました。
「タスク」というものが何かについてのハンズオン
前職では、 Redmine を使ったチケット駆動開発に対しての インプットやフォローは無く、見様見真似からはじまりました。
同じような苦労はしてもらいたくないなという思いから、 別部署や転職してきた方に対して、 チケット駆動開発のインプットやフォローを自主的に行っていました。
チケットは、親子、親子孫の構造で管理されています。 教えるときに、いきなり親子、親子孫のチケット構造を説明するのはハードルが高いなと感じていました。 チケット化している「タスク」と呼んでいるものが、いったい何者なのかという説明からはじめ、 何か日常にある状況と対比できるような題材はないだろうと常日頃から考えていました。
ある日、よく本の貸し借りをしていた同僚から借りた 「 ユーザーストーリーマッピング 」 を読んで、これだと思いました。 「5章 あなたはもうやり方を知っている」にて、 「タスク」が何者であるかをポストイットを使いハンズオンしながら順を追って説明していて、 親子、親子孫のチケット構造とも対比できそうな内容が書かれていました。 これは自分が求めていたもので、 いつかこの内容を使って「タスク」や「タスク分解」について、 考え手を動かしてもらうハンズオンしようとネタとしてストックしていました。
その機会は新卒社員の研修という形ですぐにやってきました。 「 ユーザーストーリーマッピング 」をベースに ハンズオンの内容を作成し、新卒社員に対してハンズオンを行ったところ、 「 なぜ「チケット駆動開発」を導入できそうと思ったのか 」に 書いたように、ものすごいスピードでチケット駆動開発を吸収していった新卒社員が一人いました。
ハンズオンの参加者が「ユーザーストーリーマッピング」の内容を読んで、 「タスク」についてどう考えたのか聞くことができ、 それをもってポストイットを使いながら実際にタスクを分解してもらっていき、 「ここはまだタスクが分解できそうだね」というような話ができました。
前職にて、自分の中に感触があったので、 現職でも、ここからはじめてみようと考えました。 チームメンバー全員に参加してもらい、 チームメンバーを2,3人ずつに分け、 数回に分けて1コマ1時間のハンズオンを実施しました。
前職、現職、趣味の活動にて、合わせて十数人に対して行いましたが、 内容が理解できない、ハンズオンにて用意した題材についての 「タスク」を全く分解できていない人は、今のところいません。 このハンズオンを実施したことにより、 「参加者が劇的にチケット駆動開発できるようになったか」と言われるとそんなことはありません。 チケット駆動開発は実践しながら、各々に腹落ちしてもらう必要があります。 ただ、一つのチケットに、いろいろな話が混ざってしまっている、 親子でこのように構成するとよいかなと意識するきっかけ作りにはなっているように感じます。
「 ユーザーストーリーマッピング 」 をベースにしたハンズオンは以下のようになっています。 ( 参加者には、事前に「5章 あなたはもうやり方を知っている」に目を通しておいてもらいます。 )
- 「タスク」とは何だったのかについて、1人に質問する
- 教材を読んで、私が何をしようとしているかについて、1人に質問する
- 今日の最終的なアウトプットはどのようなものになるかについて、1人に質問する
- 「過去のある1日を振り返る」というストーリーでハンズオンを行うことを伝える
- 具体的には、ポストイットを使って、その1日のタスクを書き出し、グルーピングするということを伝える
- なるべく動きが多い1日をピックアップして欲しいと伝える
- それぞれ、タスクを書き出すある1日について宣言してもらう
- ポストイットにタスクを書き出してもらう
- ポストイットに書き出したタスクを一人ずつ左から右に時系列に並べてもらう
- 途中の状態のポストイットを写真に収める
- 5.1.3 に従い一人ずつ「一連のタスクをサマリーレベルのタスクにまとめる」
- 5.2.1 に従い一人ずつ「見落した細部を埋めてもらう」
- 参加者からコメントを貰う
- 成果物のポストイットを写真に収める