現場の状況を目に見えるようにする 反省レポート

ちょっと前に新卒システムエンジニア見習いを集めた開発演習があり、ホワイトボードによる情報共有を試してみたのですが、いろいろやらかしてしまったのでその振り返りを行いたいと思います。
 
この反省は、今月参加したアジャイルサムライ横浜道場の「現場の状況を目に見えるようにする」で伺った意見を元に作成しています。
 

忙しい人向けの要約

・現場の状況を目に見えるようにするとは、チーム全体の進捗状況の共有・相談したり、メンバーが次にどんな仕事をすればいいか指示を仰がなくても判断できるようにすることなどを目的に、情報を整理し、容易に現在の状況を閲覧共有できるようにすることです。
 
見える化を推進するとき留意するべき点として、
 ①掲示する内容はシンプルに保つこと
 ②現場の現在の状況を常に反映すること(この情報古い!ということをなくす)
 ③掲示しただけで満足しないこと(チームが見える化する意義を理解し見える化した情報を確認・活用してもらわなければ意味がない)
 が挙げられます。
 
・開発演習での見える化に挑戦した反省として、
 ①メンバーが見える化する意義を理解していなかった
 ②開発進捗状況の共有に有効利用できなかった。
 ③作成したTODOに関して、一つ一つの仕事の粒度が大きく、進捗状況の変更がほとんど行われなかった(この情報最新じゃない!な事態が起こっていた)
 
 が挙げられ、その結果使われない仕組みとなっていました。
 
・以下のような改善案が考えられます。
 ①メンバーに対する見える化の意義の説明を事前に行い、共有すること。
 ②毎朝の進捗状況の確認時に、全体の進捗状況(工程が遅れているか、進んでいるか)を更新・共有しスケジュールに対する認識共有やアクションを共同で考える
 ③タスクの粒度をチームメンバー全員で相談して決定することで一日以上進捗がないように見えるタスクを作らない(タスクの内容を細かく分解する)、タスクの開始日時と終了までにかかる時間の見積もりを記入することでチームメンバーがタスクの遅れに気づけるようにする。
 

現場の状況を目に見えるようにする とは

・ホワイトボードや電子タスク管理システムを使って開発中のコミュニケーションに必要な情報を共有すること
 
・個人個人が現在行っている作業、作業の進捗状況であったり計画から見てどれくらい進捗しているかであったり、チームのルールや大切にすると決めた価値観などを貼っていく
 
・一人の人に管理を任せるのではなく全員がオーナシップをもって情報の更新管理を担当する必要がある
 

なぜやるのか、やると何を解決するのか(教科書的には)

・チームがやるべき仕事をTODOリスト形式でリストアップすることでどんな仕事が残っているかを一目瞭然にできるので、メンバーが次に何をすればいいかを指示を仰がなくても理解できるようになる
 
・それぞれの仕事の進捗状況が可視化することでどこが遅れていてヤバいか・リカバリする必要があるか理解できる
 
・仕事の透明性が増す(良くも悪くも成果がはっきり見える)ので、仕事に対する責任感が増す
 

実際にやってみたこと

・ホワイトボードにチームメンバーの名前と今何をしているか、やっている仕事の進捗状況(未着手、着手、完了)を記入してもらうことにした
 
・変更を加えたソースファイル、変更を加えた人の名前、変更を加えた理由を記入してもらった
 

うまくいかなかったこと

・書籍の登録機能を作る、といったレベルでTODOを作っていたが、いつまでも進捗が着手から終了に変化せず進捗の変化がわからない(現在の進捗状況がわからない)
 
・ホワイトボードに情報を書き出すことの意義やメリットが浸透しない
 
・チーム全体の進捗の確認に使えていない
 

勉強会で聞いた事例やアドバイスをもとに反省したこと

①メンバーに対してなぜ見える化を行う必要があるのか見える化を行うことでなにをチームが得ることができるのかに対する十分な説明がなかった
 
見える化を行った時の一つ一つのタスクの粒度が大きすぎ(実装に1日以上かかるレベル)、開始日時と予想消費時間などの情報がないため、進捗の確認という目的を果たすのに不十分な見える化であった。リーダーのみがタスクを作成していたため、他のメンバーが一日で終えることのできる作業の見積もりを誤っていた(自分が実装すれば3時間で終わるけど、ほかのメンバーが実装すれば1日以上とか)。
 
見える化した情報を、開発全体の進捗が遅れているのか、進んでいるのかの共有に活かすようなミーティングをしていなかった。結果チーム全員でフォローや対策を考えるツールとして使用できなかった。
 

反省点を改善するためにできそうなこと

①メンバーにたいしてなぜ見える化を行う必要があるのか、開始前に資料などを配布して説明する機会を設け、目的や効果、個々人がやるべきことに対する合意を得る
 
見える化を行う際のタスクの分割をチーム全員で行うことで進捗のリアルタイムの確認という目的を達成できるレベルにタスクの粒度を分割する。開始日時、予想消費時間などの情報を記入する。
 
③毎朝の進捗確認の共有に使うことで、計画の進みや遅れを全員で共有しプロジェクトの状況確認に利用する。