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

カンバン入門

 カンバン入門

PFI セミナー 2016/10/13
Movie: https://www.youtube.com/watch?v=1AnBScrT51s

Bf7ce9b68bbb0058721906b4db15b9b5?s=128

Kei Shiratsuchi

October 13, 2016
Tweet

Transcript

  1. カンバン⼊⾨

  2. ⾃⼰紹介 •  ⽩⼟ 慧 (Shiratsuchi Kei) •  Preferred Infrastructure(2016年4⽉⼊社) – 

    Ruby on Rails エンジニア •  スタートアップ経験 –  前職:メガネのECサービス(⼀⼈⽬のエンジニア) –  前々職(新卒):レコメンデーションエンジン開発 •  ⼤学時代 –  複雑ネットワーク •  趣味 –  妻とポケモンGO(130種) –  ⼩説(舞城王太郎)
  3. Table of Contents •  カンバンとは? •  なぜ? •  カンバンを作ってみる • 

    カンバンを運⽤してみる •  カンバンの流れを管理する •  まとめ •  プラクティス
  4. カンバンとは?

  5. カンバンとは?

  6. カンバンの構成要素 ワークフロー 作業項⽬ アバター

  7. なぜ?

  8. 導⼊前のチームの状態 •  チーム⼈数: 10+α⼈ •  動いている案件が多い •  携わっているプロダクトが多い •  会議体

    –  毎⽇のスタンドアップミーティング –  週⼀度の定例ミーティング
  9. 課題感 •  全体を把握する⼈が忙しくなると、回らなくなる –  個別の作業は進むが、全体の取りまとめで⼿こずる –  リリースの直前でバタバタする •  (⼊社したての私の課題感) 動いている話が多く、脳に乗らない

  10. 動機 •  チームでもっとスムーズに仕事を進めたい •  「いま忙しい?」って聞かれたくない –  暇なわけない •  「いま忙しい?」って聞きたくない – 

    すぐ本題に⼊りたい
  11. 参考図書 •  「カンバン仕事術」 •  https://www.oreilly.co.jp/books/9784873117645/ •  原著 “Kanban in Action”

    –  Marcus Hammarberg and Joakim Sundén –  アジャイルコンサルタント & Spotifyのエンジニア
  12. カンバンを作ってみる

  13. カンバンの作り⽅ 1.  ワークフローを定義する 2.  作業項⽬を定義する 3.  アバターを配置する 「カンバン仕事術」1章を参照

  14. 1. ワークフローを定義する そのうち やりたい 未着⼿ 着⼿中 レビュー中 チームに 出した 確認待ち

    完了 レビュー 待ち 社外に 出した
  15. 1. ワークフローを定義する •  仕事がチームに⼊ってくるところから、出て⾏くところ まで、すべてのステージを特定する –  本での例: Todo、分析、開発、テスト、受⼊、運⽤待ち、本番 •  完璧を⽬指さない。やりながら改善

    •  顧客に価値を⽣み出すまで仕事は完了しない •  ワークフローを⾒える化する
  16. 2. 作業項⽬を定義する •  作業の説明 –  ユーザストーリーを使う? –  「やるべきことを思い出せる 短い説明であれば、なんでも良い」 • 

    付箋の⾊ –  開発▪、案件▪、その他▪、緊急▪ •  タグ –  [製品名]、[顧客名] など •  開始⽇、終了⽇ •  書き損じは破って捨てる
  17. 3. アバターを配置する •  Slack のアイコンを貼り付けた マグネット –  付箋に直接書くと、どんどん ⼈が増えていき、つらい • 

    マグネットの数が重要(後述)
  18. ポイント:⾒える化 •  ワークフローの定義で、仕事がどう進むかがわかる –  暗黙的なフローをチームで議論して、全員が同じよ うに仕事を進めることができる •  作業項⽬をワークフローに並べることで、どこがボトル ネックになっているか把握できる

  19. ポイント:⾒える化 •  情報ラジエーター(発信物)になる –  情報を常にアップデートし、関係者が誰でも必要な 時に参照できるようにする –  「誰が何をやっているか」「どれが終わったのか」 質問する必要がない

  20. ポイント:常に更新できるようにする •  ⾒る価値のある状態を保つ •  更新コストを下げる –  アクセスしやすいホワイトボードで作る –  デジタルはコストが⾼い →

    「情報冷蔵庫」 •  最初から綺麗に作りすぎない –  ワークフローの更新を気軽にできるように •  物理&⼿書き最強
  21. カンバンを運⽤してみる

  22. WIP の導⼊ •  WIP = Work in Process –  同時に作業している作業項⽬の数

    •  WIP を減らす •  「コイン渡しゲーム」で解説
  23. コイン渡しゲーム •  作業者と計測者でペア + 顧客役ひとり •  コインを20枚⽤意 •  作業者は、コインをひっくり返して、次の⼈ に渡す

    –  最後の⼈は、顧客に渡す •  すべてのコインが顧客に渡ったらゴール •  計測者は、作業者が作業を始めてから終わる までを計測 •  顧客は、全体の時間(最初のコインがゴール した時間と、最後のコインがゴールした時 間)を計測
  24. コイン渡しゲーム •  ゲームを3回⾏う •  1回⽬:20枚すべてひっくり返してから、次 の⼈に渡す •  2回⽬:5枚ずつひっくり返したら、次の⼈ に渡す • 

    3回⽬:1枚ずつひっくり返したら、次の⼈ に渡す •  ひっくり返すコイン(仕事の量)は同じ •  個々の作業時間、全体の時間はどうなるか?
  25. コイン渡しゲーム

  26. コイン渡しゲーム 最初のコインが ゴールするまで の時間が短くな る

  27. コイン渡しゲーム 合計時間も短く なる

  28. コイン渡しゲーム 作業者の作業時 間は⻑くなる

  29. WIP を制限する効⽤ •  同時に作業する仕事の数を減らす と、リードタイムが短くなる •  それぞれの作業者の効率は落ちる –  プロセスをより速い流れに最 適化すると、リソースの稼働

    率は低下する –  全員を常時稼働させることは 重要か? minneチームでKPTAのふりかえりとコイン渡しゲームをやった | けんちゃんくんさんの Web⽇記 http://diary.shu-cream.net/2016/05/11/minne-product-team-retrospectives.html
  30. ソフトウェア開発における WIP •  実装されていない仕様 –  放っておくと、腐る •  マージされていないコード –  ⼿元の開発環境でしか動かない

    •  テストされていないコード –  正しく動いているかすぐにわからない •  リリースされていないコード –  価値を提供できていない
  31. WIP が多い弊害 •  コンテキストスイッチが増える •  フィードバックが遅れると仕事が増える –  バグ報告が遅くなると、調査に時間がかかる •  リスクが⾼まる

    –  時代遅れになる可能性 •  オーバーヘッドが増える –  WIP 同⼠の調整が必要になる •  品質が低下する •  モチベーションが低下する
  32. WIP を制限する •  原則: 「始めるのをやめて、終わらせることを始めよう」 –  現在の作業を終わらせる前に、他の作業に着⼿しな い –  同時に⾏う作業の数を制限する

    •  WIP 制限に答えはない –  実際に試してみて、調整する
  33. WIP を制限するアプローチ 1.  ボード全体、チーム全体で制限する –  チーム⼈数の1.5倍の数だけ着⼿できることにする 2.  ワークフローの列ごとに制限する 3.  ⼈に対して制限する

  34. 2. ワークフローの列ごとに WIP 制限する •  列に滞留できる項⽬の数を制限する •  分析から開発にするには、開発中の作業を2以下に減らさなければ開始できない •  例:レビューが溜まってしまったら

    –  レビューできる⼈を増やす必要があるのではないか –  レビューに時間がかかっているのではないか。事前共有ができていないの ではないか
  35. 3. ⼈に対して WIP 制限をする •  アバターの数を制限する –  4つ以上の作業に着⼿できないようにする •  例:フルで埋まっている⼈がいたら

    –  作業の肩代わりができないか –  その⼈以外も作業できるようにするにはどうすればいいか
  36. WIP 制限はゴールではない •  流れを改善することがゴール •  WIP 制限は、流れを阻害する問題を⾒つけやすくする ツール –  ボトルネックの発⾒

    –  問題点の改善
  37. カンバンの流れを管理す る

  38. 流れの管理 •  「流れ」は、すべてのステップで邪魔や待ち時間が発⽣せず 価値を⽣み出している理想的な状態 •  流れるようにするために –  WIP を制限する – 

    ブロッカーを取り除き、待ち時間を削減する –  品質を作り込み、再作業をなくす –  クロスファンクショナルなチームを作る –  タイムボックス(イテレーション)を使って、優先順位を 決める
  39. ⽇々の流れの管理 •  デイリースタンドアップ –  毎⽇、短時間で •  デイリースタンドアップで、カンバンを確認する –  アップデートされているか – 

    作業の流れは順調か、溜まっていないか •  「次に何をすべきか?」にチームが答えられるようにす る
  40. まとめ

  41. カンバンの原則 •  ⾒える化 •  WIP の制限 •  流れの管理

  42. 今いるところから始められる •  現在どのような⼿法をとっていようが、カンバンを適⽤ して改善を進められる –  プロセスの変化、役割の変更はない •  何が流れを滞らせているかが⾒え、改善できる •  「カンバンはメタプロセス」

    –  カンバンの原則をプロセスに適⽤して、プロセスを 改善する
  43. カンバンを始める時の最⼤の間違い •  WIP の制限なしで始めてしまうこと –  改善を進めるための制約がなくなってしまう •  今のチームでは、「未着⼿」に制限がないので、どんど ん溜まってしまう – 

    「未着⼿」と「開発」の間に、なにか列が存在する のかもしれない
  44. 本の中で話していないこと •  計画づくりと⾒積り •  プロセスの改善 –  ふりかえり •  プロセスのメトリクス – 

    メトリクスの⾒える化
  45. おまけ

  46. 案件カンバン •  案件の⾒える化 –  ラジエーターに •  ワークフローの定義 •  暗黙的な WIP

    制限 –  アバター制限を かける予定 •  週次MTGで更新 案件名 内容 窓⼝ 完了 今後3ヶ⽉ ワ ー ク フ ロ ー
  47. ありがとうございました 参考 •  Kanban Casual Talks(2016/05/19) –  http://togetter.com/li/977418 想定質問 • 

    リモートでどうやるの •  デジタルツールならどれがいいか •  トヨタのかんばん⽅式との関係は