アジャイルな開発は『かんばん』でいこう!

25
1 アジャイルな開発は 『かんばん』でいこう! 2013/07/26 名古屋アジャイル勉強会 山本 博之

description

第54回名古屋アジャイル勉強会のワークショップ資料です。

Transcript of アジャイルな開発は『かんばん』でいこう!

Page 1: アジャイルな開発は『かんばん』でいこう!

1

アジャイルな開発は『かんばん』でいこう!

2013/07/26名古屋アジャイル勉強会

山本 博之

Page 2: アジャイルな開発は『かんばん』でいこう!

2

自己紹介

● 山本 博之(やまもと ひろゆき)● パッケージソフト開発のプログラマ● 春日井市在住、名古屋市内勤務● 週末は市民プールで泳いでいます● かんばん、今はちょっと使ってないです

Page 3: アジャイルな開発は『かんばん』でいこう!

3

アジェンダ

a)動機

b)タスクかんばん

c)トヨタ生産方式のかんばん

d)かんばんシステム(Kanban)

e)まとめ

Page 4: アジャイルな開発は『かんばん』でいこう!

4

動機

● かんばんってなんだっけ● 3つのかんばん● それぞれのかんばんの目的● それはどうアジャイルなのか?

Page 5: アジャイルな開発は『かんばん』でいこう!

5

看板

● 看板(かんばん)とは、宣伝、広告等のために使われる、...、通常は板状の物体。

● ...見るものに対し、何らかの情報を伝えるための表示物と捉える場合もある。

http://ja.wikipedia.org/wiki/看板

Page 6: アジャイルな開発は『かんばん』でいこう!

6

3つのかんばん

● タスクかんばん● トヨタ生産方式のかんばん● かんばんシステム(Kanban)

Page 7: アジャイルな開発は『かんばん』でいこう!

7

タスクかんばん

http://www.infoq.com/resource/articles/agile-kanban-boards/ja/resources/Fig1_task-board.jpg

Page 8: アジャイルな開発は『かんばん』でいこう!

8

タスクかんばん

● 別名がたくさんあります– タスクかんばん

– ソフトウェアかんばん

– タスクボード

– かんばんボード

– スクラムボード

Page 9: アジャイルな開発は『かんばん』でいこう!

9

タスクかんばん

● 動機:作業の見える化● 解決策:タスクの状態をボード上の位置で明示

– ToDo、Doing、Done

● 関連するアクティビティ– 朝会における状況確認

– サインアップ

– Doneの定義

● 効用– タスクの消化状況が一目瞭然

– 問題の検知と対策行動への動機

– チームの自己組織化を促進

DoneTodo Doing

Page 10: アジャイルな開発は『かんばん』でいこう!

10

ワーク1:タスクかんばんで自己紹介

1.グループで一枚、A3用紙でタスクかんばんを作ってください。

2.付箋紙をひとり一枚とり、名前を書いて、タスクかんばんのToDo欄に貼ってください

3.自己紹介を始めてください。• 話してほしいこと

• お名前、お仕事(話せる範囲で)、最近ハマっていること• かんばんをつかったことがあるか

• 自己紹介をする人は、付箋紙をDoing欄に移して話し始め、話し終わったら付箋紙をDone欄に移してください

4.すべての付箋がDone欄に移ったらおしまいです

DoneTodo Doing

Page 11: アジャイルな開発は『かんばん』でいこう!

11

ワーク1:タスクかんばんで自己紹介

1.グループで一枚、A3用紙でタスクかんばんを作ってください。

2.付箋紙をひとり一枚とり、名前を書いて、タスクかんばんのToDo欄に貼ってください

3.自己紹介を始めてください。• 話してほしいこと

• お名前、お仕事(話せる範囲で)、最近ハマっていること• かんばんをつかったことがあるか

• 自己紹介をする人は、付箋紙をDoing欄に移して話し始め、話し終わったら付箋紙をDone欄に移してください

4.すべての付箋がDone欄に移ったらおしまいです

DoneTodo Doing

Page 12: アジャイルな開発は『かんばん』でいこう!

12

ワーク2:タスクかんばんを議論しよう

● 私が使っていたタスクかんばんの特徴や工夫● タスクかんばんのメリット● タスクかんばんではできないこと● タスクかんばんへの疑問(と回答)● などなど

● (議論の内容はこの後発表してもらいます)

Page 13: アジャイルな開発は『かんばん』でいこう!

13

ワーク2:タスクかんばんを議論しよう

● 各グループで話し合った内容から、トピックを2つ選んでを発表してください

Page 14: アジャイルな開発は『かんばん』でいこう!

14

トヨタ生産方式のかんばん

● 動機:「ジャストインタイム」(必要なものを、必要なときに、必要なだけ)を実現する

● 解決策:生産指示票であり納品票であるかんばんの導入– 工程Aではかんばんで指示された分だけ部品を生産する

– 工程Aでの生産物に納品票として付けられて次工程Bへ

– 工程Bでその部品を使用したら前工程Aへかんばんを戻す

– くりかえし

工程A 工程B

かんばんと部品

かんばん

Page 15: アジャイルな開発は『かんばん』でいこう!

15

かんばんの効能

● 生産タイミングと生産量のシンプルなコントロール– かんばんなしに作業をしてはいけない(プルシステム)

– かんばんの数の調整で、在庫を調整

● ジャストインタイムの実現– 必要なものを、必要な時に、必要なだけ作る

– 着手から完了までの時間を短くする

● 問題の表出化、改善への動機– 在庫量、生産と納品のタイミングが制限されることで、問

題が起きやすくなる

– その問題を隠さず、異常(改善の種)として注視し、改善してゆくことで、プロセスが進化する

Page 16: アジャイルな開発は『かんばん』でいこう!

16

かんばんシステム(Kanban)動機:● 要件が五月雨式に降ってくる● 要件単位に流れるように開発する

解決策:● かんばんシステムの導入

– ワークフローを明確にする

– ワークフローの流量を制限して、スループットを向上する

Page 17: アジャイルな開発は『かんばん』でいこう!

17

ボードを使ったかんばんシステム● ワークフローをボードで表現する● ボードに貼るアイテムの単位は要件や機能● WIP(Work in Progress;仕掛かり)の制限

– WIPが上限に達しているときその工程には入れない

● アイテムの開始から完了までの時間の監視、最適化ToDo 分析(2) 設計(2) 実装(2) テスト(2) Doneリリース(2)

Page 18: アジャイルな開発は『かんばん』でいこう!

18

かんばんシステムの効能

● スループットの最大化– WIPの調整で、仕掛かり中作業量を調整

– 要件毎の、着手から完了までの時間短縮

● プル型システムの実現● 問題の表出化、改善への動機

– WIP制限によって発生する問題を解決することで、プロセスを改善する

Page 19: アジャイルな開発は『かんばん』でいこう!

19

ワーク3:かんばんシステム体験

● ToDo、工程1、工程2、Doneの4ペインのかんばんを作ってください

● ToDoに8枚の付箋を貼ってください

DoneToDo 工程1 工程2

Page 20: アジャイルな開発は『かんばん』でいこう!

20

基本ルール

● グループの全員が、ひとり一回ずつ付箋紙を動かすと、それで1ターンです。– つまり、1ターンにひとり一回付箋を動かせます

● 1つのターンで同じ付箋紙を二回以上動かすことはできません

● 付箋紙には、着手した(=工程1に入った)ターン番号と、完了した(=Doneに上がった)ターン番号を記入してください– なので、忘れずにターンを数えてください

3 → 7

Page 21: アジャイルな開発は『かんばん』でいこう!

21

ワーク3-1(WIP制限なし)

● 工程1、工程2にあってよい付箋紙の数に制限はありません

● ターンを繰り返して、付箋紙を移動させてください。スタート!

● 全部の付箋紙がDoneになるのに、何ターンかかりましたか?

● 各付箋紙の着手からDoneまでのターン数はいくつですか?

Page 22: アジャイルな開発は『かんばん』でいこう!

22

ワーク3-2(WIP制限あり)

● かんばんをリセット(ToDoに付箋紙8枚)してください● 工程1、工程2にあってよい付箋紙の数をそれぞれ2枚

に制限します● ターンを繰り返して、付箋紙を移動させてください。ス

タート!● 全部の付箋紙がDoneになるのに、何ターンかかりま

したか?● 各付箋紙の着手からDoneまでのターン数はいくつで

すか?

Page 23: アジャイルな開発は『かんばん』でいこう!

23

ワーク3:話し合ってみましょう

● 一回目(WIP制限なし)と二回目(WIP制限あり)とで、どのような違いがありましたか

● WIPを制限することで期待できるメリットはなんでしょうか

● あなたの仕事において、工程のWIPを減らすことは可能ですか?難しいとしたら、その理由はなんですか?

Page 24: アジャイルな開発は『かんばん』でいこう!

24

まとめ

● 3つのかんばん– タスクかんばん:見える化

– トヨタ生産方式のかんばん:ジャストインタイム

– かんばんシステム:スループットの最大化

● 問題を表出し改善を促すという共通の特徴– 継続的改善はアジャイルのベースライン

● みなさんも、かんばんを取り入れて、いろいろ工夫してみてはいかがでしょうか

Page 25: アジャイルな開発は『かんばん』でいこう!

25

参考資料

● 現場力を高める見える化手法プロジェクトファシリテーション– http://objectclub.jp/community/pf/

● プロジェクトファシリテーション実践編 見える化ガイド– http://objectclub.jp/community/pf/

● トヨタ生産方式– 大野耐一著 ダイヤモンド社

● かんばん(ソフトウェア開発) - Wikipedia– http://ja.wikipedia.org/

● アジャイル型開発におけるプラクティス活用事例調査 調査報告書 ガイド編– http://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html