SlideShare a Scribd company logo
1 of 65
Download to read offline
トヨタのかんばんに学ぶ
バックログ管理術
マイクロソフトディベロップメント IPX Team
津田義史
[XP祭り 2013.09.14]
宣伝。
韓国語版が出ました!!
アジェンダ
• バックログの復習
• TPSのかんばん
• BTSのバグ報告票
• ソフトウェア開発における在庫とは
バックログの復習
• タイムボックス
• スコープボックス
• バックログ
タイムボックスとは
入口 出口
全開発期間
出口は延長しない、入らない作業は無理して詰め込まない
• 納期(時間)を固定する
– 作業の範囲は柔軟に保つ
– この箱に作業を詰める(タイムボクシング)
マイルストーン: 1~数ヵ月間の箱
イテレーション: 数日~数週間の箱
全開発期間
イ テ レ ー
マイルストーン
シ ョ ン ・
マイルストーン
イ テ レ ー
マイルストーン
全開発期間
タイムボックスの構成
スクラムでは、1ヶ月間のマイルストーンをスプリントという
スコープボックスとは
• 作業の範囲を固定する
– 納期は柔軟に保つ...
– フィーチャーボックスともいう
デスマーチになりやすいアプローチです
作
業
作
業
作
業
作
業
作
業
作
業
作
業
作
業
作
業
作
業
これを全部やる、と決める
スコープ
バックログとは
• 残作業のこと
– タイムボックスの入口でバックログを作成
– これを、タイムボックスの出口までに全部やる
バーンダウンチャートはお使いですね!
スプリントの出口(最終日)までに、全ての作業をDoneすることが必要です
作
業
作
業
作
業
作
業
作
業
作
業
作
業
作
業
作
業
作
業
これを全部やる、と決める
え、全部やるの?
タイムボックスと
スコープボックスって
何が違うの?
うまくいかないときの、
計画の立て直し方が違う!!
• スコープボックス
– スケジュールを伸ばす(作業の範囲は変えない)
– 全部の作業が完了するまで、やめない
• タイムボックス
– 作業の範囲を減らす(スケジュールは変えない)
– 箱から溢れそうな作業は、バックログから除いて
次のタイムボックスへ先送り
作業をパント(延期)する
• 持っている作業から手を離して、それが地面に
落ちる前に蹴り飛ばす
• 次のタイムボックスの中にいる誰かに、キャッチ
してもらうことを期待
• キャッチできるかもしれないが、落とすことに
なるかもしれない...
• だが、今はとりあえず先送り!
できない作業を、いつまでも手に抱えていてはいけない
ボール
バックログのまとめ
• バックログは、タイムボックスの「計画」
• 作業を、計画通りに全部やる!
• だが、無理な計画は立て直す
–溢れそうな作業は、早めにパントする
–出口で「これできませんでした」はNG!
• で、立て直した計画通りに全部やる!
アジェンダ
• バックログの復習
• TPSのかんばん
• BTSのバグ報告票
• ソフトウェア開発における在庫とは
TPSのかんばん
• トヨタ生産方式のかんばんとは
• かんばんの運用で守るべきルール
• 電子かんばんとは
Toyota Production System
トヨタのかんばんて
どんなの?
こんなの
http://pc.watch.impress.co.jp/docs/2005/1121/gyokai142.htm
http://www.chunichi.co.jp/hold/2008/yui_no_kokoro/list/200805/CK2008051402011210.html
痛まないようにラミネートのケース入り。薄い鉄板やプラスチック板を使うことも
かんばんの運用
かんばんで、部品を引き当てる!
この部品の消費部門(図右)で、別の種類の部品(製品)を組み立てたら
それにも別の種類のかんばんを貼ります
かんばんには、この部品をどこに届けるべきか書いてある
部品を使うときにかんばんを剥がす
適当な頻度で、まとめて生産部門に返す
部品を作ったら、かんばんを貼る
手元のかんばんがなくなるまで部品を作る
かんばんのルール
かんばんは
必ず現物に
つけておく
かんばんと
在庫部品を
1対1で
対応づける
かんばんが
なければ
生産を
開始しない
かんばんが
到着した順で
生産する
流通しない
かんばん
(紛失)に
注意!
かんばんの
枚数を
減らしていく
不良品を
消費部門に
送り込んでは
いけない
生産の
微調整に
使う
かんばんのルール#1
かんばんは
必ず現物に
つけておく
かんばんが貼られていない部品があってはいけない
部品を作ったら、すぐにかんばんを貼って
その部品が工場の中で迷子にならないようにする
かんばんのルール#2
かんばんと
在庫部品を
1対1で対応づける
部品の在庫数を、かんばんの枚数と同じにして
在庫数を追跡・見える化
かんばんのルール#3
かんばんが
なければ
生産を開始しない
生産部門がヒマなときでも、かんばんがなければ生産してはいけない
それ(作り置き)しちゃうのは部分最適。全体最適を目指す
かんばんのルール#4
かんばんが
到着した順で
生産する
部品Aのかんばん10枚到着、部品Bのかんばん10枚到着、部品Aのかんばん10枚到着
こんなとき、部品Aを20個作ってから部品Bを10個生産する方が早く作れるとしても、
それは部分最適。
(AとBを交互に1個ずつ作る運用もあります)
かんばんのルール#5
かんばんの
枚数を
減らしていく
かんばんの総枚数を減らせば、部品の在庫数を減らせる
(減らしすぎると、部品の引き当てが間に合わなくなるので、少しずつ程ほどに。)
かんばんのルール#6
流通しない
かんばん
(紛失)に注意!
かんばんを紛失すると、
「あれ?部品の引き当てが間に合わない。えーい、何枚かかんばん足しちゃえ!」
なんて、何やってるんだか訳が分からなくなります
かんばんのルール#7
不良品を
消費部門に
送り込んでは
いけない必要な数の部品しか作らないので、不良品を送ると
消費部門(下流工程)の生産ラインを止めてしまう
かんばんのルール#8
生産の
微調整に使う
完成品の需要(時期や季節)によって、
かんばんの総枚数(=在庫数)を増減させる
電子かんばんとは
• 各かんばんを追跡できるように、かんばんに
バーコードやICタグを付けたもの
• 消費部門から生産部門にネットで送って印刷し
部品に貼付するもの
など
かんばんと同じく、部品に貼付できるように
物理的に存在する必要がある
(TPSのかんばんは、完全には電子化できない)
TPSのかんばんのまとめ
• 部品(製品)を作ったら、かんばんを貼る
• 部品を消費(出荷)するときに剥がす
• 剥がしたかんばんを繰り返し使って、次の
生産を指示
– 消費した分だけ、また作る!
• 重要なパラメータは、かんばんの総枚数
– かんばんの総枚数を増減させることで、在庫数を
増減・調整する
アジェンダ
• バックログの復習
• TPSのかんばん
• BTSのバグ報告票
• ソフトウェア開発における在庫とは
BTSのバグ報告票
• タスクかんばんとバグ報告票
• バグ追跡システムの運用と、守るべきルール
• TPSのかんばんとの違い
Bug Tracking System
タスクかんばん、どこに貼る?
壁に貼る
間違いではないが、本質ではない
TPSのかんばんは、部品(在庫)に貼るものでしたね!
(参考)生産指示かんばん
トヨタのかんばんも、かごに入れるかわりに壁に吊るして管理できる
このほか、ラインの進捗を壁に表示する種類のかんばんもある
http://itpro.nikkeibp.co.jp/article/JIREI/20080924/315302/
タスクかんばんを壁に貼るのも、決して間違いではない
状況に応じて、適切なツール(壁やITSなど)を選択しましょう
タスクかんばん、どこに貼る?
タスクに
貼るひとつのタスクにひとつのタスクかんばんを貼り、
このタスク(の状態)を追跡・見える化
バグ報告票、どこに貼る?
バグに
貼るひとつのバグにひとつのバグ報告票を貼り、
このバグ(の状態)を追跡・見える化
バグ報告票の運用
バグ報告票で、人的リソース(担当者)を引き当てる!
(「担当者で、次の作業を引き当てる」という解釈も可能…)
バグ報告票には、このバグを誰に届けるべきか書いてある
バグを見つけたら、
バグ報告票を貼る
担当者を剥がして、
次のバグ報告票を引かせる
バグ報告票のルール
発見した
バグは必ず
起票しておく
バグと
バグ報告票を
1対1で
対応づける
バグ報告票が
なければ
作業を
開始しない
バグ報告票の
優先度順で
作業する
流通しない
バグ報告票
(放置)に
注意!
(オープンな)
バグ報告票の
枚数を
減らしていく
ブロッキング
バグを
テストチームに
送り込んでは
いけない
人的リソースの
負荷分散に
使う
バグ報告票のルール#1
発見したバグは
必ず起票しておく
バグ報告票が貼られてないバグがあってはいけない
バグを見つけたら、すぐにバグ報告票を貼って
そのバグがチームの中で迷子にならないようにする
バグ報告票のルール#2
バグと
バグ報告票を
1対1で対応づける
一件一葉の原則を守り、潜在的なバグをすべて発見して
すべてのバグを追跡・見える化
バグ報告票のルール#3
バグ報告票が
なければ作業を
開始しない
チームのTransparencyを高めてVisibilityを確保
(チームを透明にして、今誰が何をしているのかを見える化する)
バグ報告票のルール#4
バグ報告票の
優先度順で
作業する
開発者的には、こっちを先に直した方が早く作業を完了できる…
としても、それは部分最適。
他人の作業との依存を考慮した優先度を、尊重して作業する必要
バグ報告票のルール#5
(オープンな)
バグ報告票の
枚数を減らしていく
バックログの運用と同様!出口までに全部直してゼロにする
バグ報告票のルール#6
流通しない
バグ報告票
(放置)に注意!
バグ報告票を放置するのは、かんばんを紛失するのと同じ
バグ報告票を滞りなくチーム内に流通させる!
バグ報告票のルール#7
ブロッキングバグを
テストチームに
送り込んでは
いけない
テストをブロックするバグは、テストチームの作業を止めてしまう
バグ報告票のルール#8
人的リソースの
負荷分散に使う
高負荷の人にアサインされたバグ報告票を
低負荷の人に振り分け直して、負荷を平準化
かんばんは
必ず現物に
つけておく
かんばんと
在庫部品を
1対1で
対応づける
かんばんが
なければ
生産を
開始しない
かんばんが
到着した順で
生産する
流通しない
かんばん
(紛失)に
注意!
かんばんの
枚数を
減らしていく
不良品を
消費部門に
送り込んでは
いけない
生産の
微調整に
使う
発見した
バグは必ず
起票しておく
バグと
バグ報告票を
1対1で
対応づける
バグ報告票が
なければ
作業を
開始しない
バグ報告票の
優先度順で
作業する
流通しない
バグ報告票
(放置)に
注意!
(オープンな)
バグ報告票の
枚数を
減らしていく
ブロッキング
バグを
テストチームに
送り込んでは
いけない
人的リソースの
負荷分散に
使う
かんばんのルール
バグ報告票のルール
かんばんとバグ報告票の違い
TPSのかんばん
• 生産したら貼る
• 繰り返し使う
• 同じかんばんをたくさん使う
– 作業内容・作業時間が同じ
• 最初から解決方法が明確
– 何を作って、どこに届けるか
• 完全に電子化はできない
• 後工程引き取り(Pull型)
• 出口がない(プロジェクトでない)
• 複数の製品を継続して出荷
BTSのバグ報告票
• 発見したら貼る
• 繰り返しては使わない
• 同じバグ報告票はない
– 作業内容・作業時間が異なる
• 最初は解決方法が不明
– 直すべきか、誰がどのように直すか
• 完全に電子化することが可能
• 湧いて出てくる(Push型)
• 出口のたびに、枚数をゼロにする
• 最終的にひとつの製品を出荷
「テストケース実行」のように、各スプリントで繰り返し
実施するタスクもあるが、都度起票する方が使いやすい
テストケースの実行時間(工数)は、テストケースに書いておくと便利。
BTSのバグ報告票のまとめ
• TPSのかんばんと良く似た性質をもつ
– 各バグの状態に応じて、チーム内を流通させる
– 人的リソースの稼働をコーディネート
• プロジェクトの健康診断に活用
– チームにフィードバックを供給する「血液」
– 総枚数、増減のトレンド、滞り具合、などで診断
– 重要な診断指標は、バグ報告票の総枚数
アジェンダ
• バックログの復習
• TPSのかんばん
• BTSのバグ報告票
• ソフトウェア開発における在庫とは
ソフトウェア開発における在庫とは
ずばり、スプリント
バックログが
「在庫」です。
Backlogを
辞書で引いてみよう
「バックログ」は、スクラムの専門用語ではない
Backlog →
Backlog →
Backlog →
(参考) バーンダウンチャート
バックログを、スプリントの出口までに全て着地させる
The glide path is
approaching!!
Backlog →
フライトパス: 実際の飛行経路
グライドパス: 理想的な滑空経路
Backlogを
「在庫」と扱う
とは、どういうことか
在庫とは
• 工場の在庫
– 工場の中にあって、まだ出荷していない製品
– 仕掛中の部品(WIP)を含む
• ソフトウェア開発の在庫
– バックログの中にあって、まだ完了していないタスク
– 着手済みの作業(WIP)を含む
在庫を減らすには?
• 工場の在庫
– 部品を完成
– 製品を出荷
• ソフトウェア開発の在庫
– タスクを完了
– 機能を実装
– バグを修正
– テストを実施
– …
部品を完成して
消費部門にお届け
||
タスクを完了して
チームにお届け
最終的には、すべての部品(タスク)を統合して
製品を組み立て(ビルド)し、ユーザーにお届け
不良在庫とは
• 工場の不良在庫
– 出荷できる見込みがなく、
抱え込んでいる製品や部品
• ソフトウェア開発の不良在庫
– (このスプリントの出口までに)
完了(修正)できる見込みがなく、
抱え込んでいる作業やバグ
不良在庫を減らすには?
• 工場の不良在庫
– かんばんの枚数を減らす
• ソフトウェア開発の不良在庫
– バグ報告票やタスクかんばんの枚数を減らす
おいおい、どんな魔法だよ
適切な在庫量
(スプリントバックログの分量)
を維持する!!
不良在庫は、早めにプロダクトバックログの中へパント
(次のスプリントへ先送り)
適正な在庫量とは
スプリントの出口までに確実にDoneできる分量
適正な在庫量の目安は、グライドパスが教えてくれる
まとめ
• ソフトウェア開発における「バックログ」は、
工場における「在庫」と似た性質をもつ
• 在庫を計画的に完成して出荷する
• 在庫量を適正に制限する
– 確実に出荷できる在庫だけを保有
– 不良在庫は、早めに次のスプリントへパント
(プロダクトバックログの中に蹴り入れる)
Backlog Done Deliver
実際、スプリントの成果物はdeliverable(出荷可能なもの)といいます
続きは...
[目次]
1. ソフトウェアを育てる準備
2. チームの役割と責務
3. タイムボックスとビルドの運用
4. 構成管理とブランチの戦略
5. 再現可能なビルドの実現
6. バグの追跡と解決
7. テストケースの自動化
8. 開発プロセスの構築

More Related Content

Viewers also liked

Viewers also liked (20)

反復型ソフトウェア開発を支援するツールの運用術
反復型ソフトウェア開発を支援するツールの運用術反復型ソフトウェア開発を支援するツールの運用術
反復型ソフトウェア開発を支援するツールの運用術
 
Firefox osで変わるアプリケーションの開発ライフサイクル
Firefox osで変わるアプリケーションの開発ライフサイクルFirefox osで変わるアプリケーションの開発ライフサイクル
Firefox osで変わるアプリケーションの開発ライフサイクル
 
大規模システムの統合監視を実現する Pandora FMS Enterprise
大規模システムの統合監視を実現する Pandora FMS Enterprise大規模システムの統合監視を実現する Pandora FMS Enterprise
大規模システムの統合監視を実現する Pandora FMS Enterprise
 
Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」
 
Levenshtein Automata
Levenshtein AutomataLevenshtein Automata
Levenshtein Automata
 
Ja sst12tokyo紹介資料rev2
Ja sst12tokyo紹介資料rev2Ja sst12tokyo紹介資料rev2
Ja sst12tokyo紹介資料rev2
 
バグ票見つめて気づきませんか?〜立場いろいろ、悩みいろいろ〜
バグ票見つめて気づきませんか?〜立場いろいろ、悩みいろいろ〜バグ票見つめて気づきませんか?〜立場いろいろ、悩みいろいろ〜
バグ票見つめて気づきませんか?〜立場いろいろ、悩みいろいろ〜
 
Gtd Plus Mm
Gtd Plus MmGtd Plus Mm
Gtd Plus Mm
 
GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例
 
年間数千のプロジェクトといろいろなクライアントの狭間で~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール...
年間数千のプロジェクトといろいろなクライアントの狭間で~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール...年間数千のプロジェクトといろいろなクライアントの狭間で~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール...
年間数千のプロジェクトといろいろなクライアントの狭間で~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール...
 
AgileJapan2010 佐賀県庁でもできる!プロジェクトファシリテーション
AgileJapan2010 佐賀県庁でもできる!プロジェクトファシリテーションAgileJapan2010 佐賀県庁でもできる!プロジェクトファシリテーション
AgileJapan2010 佐賀県庁でもできる!プロジェクトファシリテーション
 
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかSIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
 
Project Based Learning using by PaaS
Project Based Learning using by PaaSProject Based Learning using by PaaS
Project Based Learning using by PaaS
 
Introduction to Git and GitHub #git_nyan
Introduction to Git and GitHub #git_nyanIntroduction to Git and GitHub #git_nyan
Introduction to Git and GitHub #git_nyan
 
Tokaido 53 walk
Tokaido 53 walkTokaido 53 walk
Tokaido 53 walk
 
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
 
Hacker culture at an internet company. 文明塾, 2014/04/23
Hacker culture at an internet company. 文明塾, 2014/04/23Hacker culture at an internet company. 文明塾, 2014/04/23
Hacker culture at an internet company. 文明塾, 2014/04/23
 
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
 
Hacker centric culture @devlove 110423
Hacker centric culture @devlove 110423Hacker centric culture @devlove 110423
Hacker centric culture @devlove 110423
 
kernel code reading party on March 28th, 2014
kernel code reading party on March 28th, 2014kernel code reading party on March 28th, 2014
kernel code reading party on March 28th, 2014
 

More from Yoshifumi Tsuda

More from Yoshifumi Tsuda (6)

書籍 「実践 反復型 ソフトウェア開発」 への フィードバックを 集めました。
書籍 「実践 反復型ソフトウェア開発」へのフィードバックを集めました。書籍 「実践 反復型ソフトウェア開発」へのフィードバックを集めました。
書籍 「実践 反復型 ソフトウェア開発」 への フィードバックを 集めました。
 
Learn How to Manage Backlog from Toyota Kanban Concepts, Agile Roots 2014
Learn How to Manage Backlog from Toyota Kanban Concepts, Agile Roots 2014Learn How to Manage Backlog from Toyota Kanban Concepts, Agile Roots 2014
Learn How to Manage Backlog from Toyota Kanban Concepts, Agile Roots 2014
 
なぜ、人前で話すのか
なぜ、人前で話すのかなぜ、人前で話すのか
なぜ、人前で話すのか
 
スクラムの知られざる勘所
スクラムの知られざる勘所スクラムの知られざる勘所
スクラムの知られざる勘所
 
自著一覧
自著一覧自著一覧
自著一覧
 
反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所
 

トヨタのかんばんに学ぶバックログ管理術