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

アジャイル・スクラム勉強会_カンバンボードとWIP

 アジャイル・スクラム勉強会_カンバンボードとWIP

Satoshi Harada

June 29, 2020
Tweet

More Decks by Satoshi Harada

Other Decks in Programming

Transcript

  1. • トヨタ生産方式の“カンバン方式”が発祥 ► 製造業のサプライチェーンにおいて、後工程の状況を考慮 せずにモノを作ると前工程で無駄な在庫が積み上がってし まう ✔ 在庫は何の価値も生み出さず、保管費がかかる・劣化してしま うなど余計なコストがかかる。よって在庫は悪である ►

    そのため、後工程が前工程に生産してほしいタイミングを 通知するようにした。その通知の連絡手段が“カンバン”で ある ✔ 後工程が必要とするタイミング(ジャストインタイム:JIT) で、後工程側から引き取る(プルする) ✔ もともとは物理的な札(カンバン)を使用していたが、今は電 子札(バーコードや非接触ID等)になっている そもそもカンバンとは何か 前工程 後工程 プッシュ プル
  2. タスク管理におけるカンバン • 製造業のサプライチェーンだけでなく、タスク管理でも カンバン方式は有効 ► 在庫状態のタスク(着手したが長期滞留しているタスク) は未完了なので価値を生み出しておらず、長期滞留中に腐 る(状況が変わってやり直しが必要など)恐れがある ► タスクにも前工程・後工程の概念があり、後工程を考慮せ

    ずに前工程の生産効率だけを高めても在庫が積み上がるだ けでタスク完了までの時間は短くならない。 ✔ よって、タスク管理でも後工程が必要なタイミング(ジャスト インタイム:JIT)で、後工程がタスクを引き取る(プルす る)ことが重要 ✔ 前工程と後工程が同期を取れるようにボトルネックを調整する (この場合、後工程に取り掛かる人を増やすなど) 前工程 (生産効率・高) 後工程 (生産効率・低) プッシュ ・ ・ ・
  3. • 工程間のボトルネックを可視化するツールが必要 ► Work In Progress(WIP) ► 各工程が引き当てられるタスクの数に制限を設ける ► WIPの値はタスクフロー全体で見たときに効率よく(ボトルネッ

    クが発生せず)タスクが完了していく値を模索していく • ボトルネックを発生させないために、各工程内で同じ人が複 数タスクを同時並行で作業する状態は避ける ► 並行作業はスイッチングコストがあり効率が落ちる ► 同じ人が着手するタスクの数は1つにしたほうがタスク完了ま での時間は短くなる。これを“タスクの1個流し”と呼ぶ カンバンボードのWIP ToDo Doing Review Done - WIP:3 WIP:1 - チームメンバーが3人の場合の例 ※WIPは一度設定したら決定というわけではなく、効率よくタス クがDoneしていくように改善を繰り返す
  4. 同時並行数 1 同時並行数 2 同時並行数 3 なぜ1個流しだと早く終わるのか • 人は同時並行で作業をした方がタスクが早く終る? ►

    タスクが待ち状態になったときに別のタスクを進めて待ち時間 を活用できるので、同時並行数2は一定のメリットがある ✔ ただし、スイッチングコストはかかるので、待ち状態になるまでは 同時並行数1の方が作業完了までの時間が短い ✔ 同時並行数3以上になると待ち時間の活用よりもスイッチングコス トの方が大きくなるため効率が悪くなる ► 1個ずつ確実にタスクを終わらせたほうが、タスクが完了し始 めるのは早くなる タスクA タスクB タスクA タスクB タスクC タスクC タスクA タスクB タスクC ↓3つのタスクを各同時並行数で行った場合の、タスクが完了し始めるタイミング
  5. 同時並行数1の方がタスクが完了し始めるのが早くなるのは、チームワークの場合でも 同様である。 • 各メンバーが別々のタスクを同時並行で進めるた場合… ► 不明点が出たときに調べる(詳しい人がいつも横にいるとしたら?) ► レビューで指摘を受けたので修正する(作りながらレビューもするとしたら?) ► 各メンバーのタスクと結合する作業が必要(結合しながら作るとしたら?)

    ► 他メンバーの作業結果を待つことがある などなど • 全メンバーで1つのタスクを協力して進めた場合… ► タスクを進めながら同時にレビューも行っているため、タスクの作業完了と同時にレ ビュー完了になる ► 同じタスクに複数人が取り掛かると生産性が悪いと誤解されることがあるが、プログラ ミングの生産性はキーボードを同時に叩くスピードで決まるわけではない ► プログラミングの作業効率を阻害しているのは「知識」や「経験」や「進め方」であっ て、各自の得意領域を持ち寄って進めた方がタスク完了までの時間は短くなる 1個流しはチームでも有効 ToDo Doing / Review Done - WIP:1 - 仕掛中(Doing)のタスクを1つしか許さない場合の例 ※ペアプロもしくはモブプロで同じ画面を見ながら全員 で同じタスクに取り掛かり、同時にレビューも済ませる 必ずしもWIP:1がボトル ネックを発生させない最適 解であるとは限らないの で、チームの状況を見なが らWIPを改善していく
  6. Done is better than perfect • 完璧を目指すより、まずは終わらせよう https://www.wired.com/2012/02/zuck-letter/ ► Facebook

    マーク・ザッカーバーグの発言 ► Hackers try to build the best services over the long term by quickly releasing and learning from smaller iterations rather than trying to get everything right all at once. To support this, we have built a testing framework that at any given time can try out thousands of versions of Facebook. We have the words "Done is better than perfect" painted on our walls to remind ourselves to always keep shipping. ► ハッカーは、一度に完璧を目指すのではなく、より小さく・素 早く・繰り返しリリースをしながら学習をすることにより、長 期にわたって最高のサービスを構築することを目指していま す。(中略) 壁には、「完璧を目指すよりも、まずは終わらせよう」という 言葉を掲げており、常に世の中にサービスをリリースし続ける ように皆が心がけています。 カンバンボードとWIPというツールで ボトルネックを見える化・改善 早くサービスを 提供できる 作業を早く・着実に終わらせていく