BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル かんばんボードによるプロジェクトの見える化

かんばんボードによるプロジェクトの見える化

アジャイル開発でプロジェクトを進めている現場では、やるべき作業を表す付箋や、進行状況を示すチャートをプロジェクトルームの壁に貼って状況を見える化し、共有している光景をよく見かける。

本稿では、昨今のアジャイル開発プロジェクトで広く浸透している見える化の手法を見ていく。その中で、チーム全体がプロジェクトの今の状況を把握し、開発者の自律的な作業を可能にし、協調作業を促進する、三つの視点(とき、こと、ひと)をうまく使うかんばんボードの利用法を提案する。そして最後に、三つの視点によるプロジェクトの見える化を実現している、かんばんボードのソフトウェアによる実装 “TRICHORD” を紹介する。  

アジャイル開発プロジェクトにおける見える化

XP(eXtreme Programming)の中に、“情報発信する作業場所”というプラクティスが紹介されている。これはプロジェクトの進行状況を、一目で把握できる場所を作りだすというプラクティスだ [Beck05]  。一番単純なやり方としては、ストーリーカードやタスクカードを壁に貼り出して、全員で共有するということになるだろうか。その他にも、グラフやチャートを壁に貼り出すという行為を、“情報発信器” [Cockburn01] や、“巨大な見える化チャート” [Jeffries04] と呼んでいる人達もいる。これらの壁に情報を貼り出すという実践は、最近では、日本においてもアジャイル開発を実施しているプロジェクトルームではよく見られる光景になっている。以降では、日本のアジャイル開発を実施しているチームで使っている見える化の事例を紹介しよう。

最初の例(図1)は、TPS(トヨタ生産方式)におけるジャストインタイム生産から名前付けられたタスクかんばんボードだ [Poppendieck03] , [Poppendieck07] 。


図1 タスクかんばんボード


かんばんはやるべき作業を書いたチケット(札)のことだ。TPS(Toyota Production System:トヨタ生産方式)では、かんばんはジャストインタイムによる“プル型”生産指示の実現のために利用されている。図1のかんばんボードは、今のイテレーション(ある作業期間を意味する)内でやり終えなければならないすべての作業の、今の状態を表している。これらの作業はカード(または付箋)を使って表現し、ボード上の区切られた領域を作業状態と表現している。それぞれの領域はToDo(未着手)、Doing(着手)、Done(完了)というラベルをつけておく。このタスクかんばんボードは、チームの作業状況の理解を助けるだけでなく、次に何をすべきかをチームが理解するためにも役立っている。

図2は別タイプのかんばんボードで、“フィーチャーかんばんボード”と呼ばれている [Highsmith04] 。


図2 フィーチャーかんばんボード

このかんばんボードの横軸は時間を、縦軸はこのリリース内での時系列を表し、それぞれのカードはリリース内で実装する1つのフィーチャー(機能)を意味している。最初の例のかんばんポードは主に開発チームの中で使われるが、このフィーチャーかんばんボードは対照的に、ソフトウェアをもっと高い視点からみた製品ロードマップについて、顧客、マーケティング、そして管理層も含めたチーム全体で共有するために使われる。

また、図3のような “パーキングロットチャート”はトップレベルのプロジェクト状況をフィーチャー毎に要約するために使う。このチャートは最初にフィーチャー駆動開発(FDD) [Palmer02] で言及されたが、今ではアジャイル開発のプロジェクトで広く利用されている。


図3 パーキングロットチャート

別の見える化として、図4の“バーンダウンチャート” と呼ばれるチャートもある。


図4 バーンダウンチャート


このチャートは最初はスクラム [Schwaber01] において、バックログ(残っているやらなければならない作業)の残量を視覚化するために利用すると紹介された。そして現在では、ほとんどのアジャイル開発プロジェクトの間に広まっている。 [Cockburn04] 、 [Cohn05] 。このチャートを見ることで、現在の状態、つまりあとどれだけ作業が残っているかがわかり、更には残タスクの完了比率も視覚的にわかる。


そして最後に興味深い見える化の手法が図5ニコニコカレンダー(またはスマイリーカレンダー)だ。これは日本のソフトウェア開発の現場で、メンバーの日々の雰囲気やムードを表現するために誕生した。チーム全員が、1日の終り(または始まり)のタイミングで、カレンダーの上にその日の気分を表すシールを貼る [Sakata06] 。このカレンダーはメンバー、プロジェクトメンバーのメンタル面の健康や、モチベーションを見える化することになる。



図5 ニコニコカレンダー 
 

2 かんばんボードの主な機能

これまで見てきた通り、見える化にはいくつかの種類がある。わかりやすくするために以下にまとめてみよう。:
  • かんばんボード. カードをタスク、ストーリー、フィーチャーの実体(かんばん)として使う。それらを別々の粒度で表現された時間軸(ボード)の上に貼る。
     
  • バーンダウンチャート. かんばん(やらなければいけない作業)の数を計算し、あるタイムボックスの中でのバックログの消化傾向を表示する。
     
  • パーキングロットチャート. 最上層のプロジェクト状況を要約表示する。
     
  • カレンダー. ニコニコカレンダー以外にも、プロジェクトの状況や計画を表現する様々なバリエーションが存在する。
かんばんボード、バーンダウンチャート、そしてパーキングロットチャートの中でも、特にかんばんボードは最も詳細な情報を持っている。バーンダウンチャートやパーキングロットチャートは日々のかんばんボードの変更点を元データとして描かれることになる。そのため以降では、かんばんボードを見える化の中心と位置付けて、バーンダウンチャートとパーキングロットチャートはかんばんの情報を要約して視覚的に表現する補助ツールとして扱うことにする。
 

3つの視点でのかんばんの運用

かんばんボードを近くでみると、3種類の情報を見つけることができる。ときこと、そして、ひとだ。ここでかんばんを3つの視点で構成してみることにする。


図6 とき、ことを分割する

1. とき - 時間

アジャイル開発プロジェクトでは、プロジェクトのときは、はじめは“リリース”に分割され、それぞれのリリースは更に“イテレーション”へと分割される。それぞれのイテレーションは“日”を含んでいる。
  • リリースは普通は1〜6ヶ月ほどの荒い粒度のタイムボックス(時間を固定として変更しないものと考えた呼び方) だ。リリースはすべてのチームの全員が、チーム間の同期ポイントとして注目することになる。
  • イテレーションは第二段階に位置するタイムボックスで、典型的には1〜4週間になる。イテレーションは開発チームが作業、追跡、改善のサイクルとして使う。
  • 日は一番細かい粒度のタイムボックスで、チームはスタンドアップミーティングの中でプロジェクトの状況や問題を共有する。

2. こと - 作業

ことにも3段階の粒度がある。では、それらの最上位のことを“フィーチャー”と呼び、フィーチャーを分解したものを“ストーリー”、それぞれのストーリーがもつ最下層のことを“タスク”と呼ぶことにしよう。
  • フィーチャーはユーザーにとって意味がある有用なサービスまたは機能の集りだ。
  • ストーリーは検証可能なフィーチャーの一部分で、ユーザー側の用語で記述される。
  • そしてタスクはストーリーを実現するための作業単位で、開発側の用語で記述されるのが一般的だ。

3.ひと - チーム

プロジェクトチームは同じ目標に向って作業する人々で構成される。管理者、顧客、開発者、ビジネスアナリスト、利用者、テスター、その他のステークホルダが、そのチームの構成員であることが理想的だ。そしてチーム全体で、プロジェクトの目的を達成するために、ときことの情報を共有する必要がある。 
 

かんばんボードにチームの作業と時間にあてはめる

さて、ここでかんばんボードを、そのチームの時間(とき)と作業(こと)をマッピングしたものである、と考えてみたい。ときことは共に3段階の階層を持ち、上位階層から、その中に含まれるべき管理項目を洗い出していく。ときことの組合せは、ここで示すもの以外にもいろいろ考えられるが、ここではかんばんをリリース=フィーチャー、イテレーション=ストーリー、デイリー=タスクという組合せで構成するのがわかりやすいと考え、次の表1に示してみた。

  リリース イテレーション 日 
フィーチャー フィーチャーかんばん、パーキングロット    
ストーリー   ストーリーかんばん、イテレーションバーンダウンチャート  
タスク     タスクかんばん、デイリーバーンダウン

表1 とき、ことのかんばんの組合せ

“フィーチャーかんばん”は、チーム全体にプロジェクトの上位階層のビューを提供する。パーキングロットチャートは一番上の階層の状況を示す。

“ストーリーかんばん”は、中間層でチーム毎の各イテレーションの最も広範囲で細かい視点を、イテレーションバーンダウンチャートと共に提供する。

“タスクかんばん”は一番下の階層で、現場の作業レベルで、日々の状況をデイリーバーンダウンチャートと共に表現する。


図7 3つの視点からみたかんばんボード

 

TRICHORD

私達が開発しているアジャイル開発プロジェクトマネジメントツールが“TRICHORD”だ。TRI(トライ)とは3つの視点(とき、こと、ひと)を、CHORD(コード)は和音の意味でハーモニーや協調、和を意味している。

TRIHCORD はワークスペースをチーム全体でプロジェクトの状態を共有して、表1にあるような3段階の階層をもつかんばんボード(フィーチャーかんばん(リリースとフィーチャー)、ストーリーかんばん(ストーリーとイテレーション)、タスクかんばん(日々とタスク)を提供している。フィーチャーかんばんはパーキングロットチャートを提供し、ストーリーかんばんとタスクかんばんはバーンダウンチャートを提供している。 


図8 かんばんボードとバーンダウンチャート、パーキングロットチャート

更にTRICHORDはニコニコカレンダーをチームの雰囲気の共有のために提供している。“ニコニコカレンダー”は twitter のように、シンプルなコミュニケーションセンターとして使うこともでき、プロジェクトのSNS(Social Network Service)のようにも役立つだろう。


図9 TRICHORDのニコニコカレンダー

TRICHORDはEclipse RCP (Rich Client Platform) で実装されており、オプションとしてTrac (課題追跡システム)と連携することもできる。 
 

謝辞

Mary Poppendieck氏には本稿の全体をレビューにて頂き、多くのアドバイスや意見をくれました。大変感謝しています。
 

参考文献

[Sakata06] 坂田晶, 『ニコニコカレンダー』, 2006
http://www.geocities.jp/nikonikocalendar/index_en.html
[Beck05] Kent Beck, “Extreme Programming Explained 2nd “, 2005 Addison-Wesley
“Informative workspace” is a practice of XP.(長瀬嘉秀監訳、(株)テクノロジックアート訳 XPエクストリーム・プログラミング入門―変化を受け入れる, 2005, ピアソン・エデュケーション)
[Cockburn01] Alistair Cockburn, “Agile Software Development”, 2001 Addison-Wesley
The word “information radiator” is first used.(長瀬嘉秀+今野睦監訳、株式会社テクノロジックアート訳 アジャイルソフトウェア開発, 2002, ピアソン・エデュケーション)
[Cockburn04] Alistair Cockburn, “Crystal Clear”, 2004 Addison-Wesley
“Burndown/up chart” is discussed as a powerful technique.
[Cohn05] Mike Cohn, “Agile Estimating and Planning”, 2005 Prentice Hall
“Burndown chart” is most deeply discussed.
[Jeffries04] Ron Jeffries, "Big Visible Chart", 2004
http://www.xprogramming.com/xpmag/BigVisibleCharts.htm
[Poppendieck03] Mary and Tom Poppendieck, “Lean Software Development”, 2003 Addison-Wesley(平鍋健児、高嶋優子、佐野建樹訳、リーンソフトウエア開発〜アジャイル開発を実践する22の方法〜, 2004, 日経BP)
[Poppendieck07] Mary and Tom Poppendieck, “Implementing Lean Software Development”, 2006 Addison-Wesley
Explains Kanban in TPS and how it works as a pull process mechanism.
[Schwaber01] Ken Schwaber, et al. “Agile Software Development with SCRUM”, 2001 Prentice Hall(長瀬嘉秀訳、今野睦訳、スクラムエバンジェリストグループ訳、アジャイルソフトウェア開発スクラム、2003、ピアソン・エデュケーション)
[Highsmith04] Jim Highsmith, “Agile Project Management”, 2004 Addison-Wesley
Here, Feature Kanban is called Feature breakdown structure and feature planning on whiteboard.(平鍋健児訳、高嶋優子訳、小野剛訳、アジャイルプロジェクトマネジメント 最高のチームづくりと革新的な製品の法則、2005、日経BP)
[Palmer02] Stephen R. Palmer et al., Practical Guide to Feature-Driven Development, 2002, Prentice Hall
First introduced Parking Lot Chart(デュオシステムズ訳、今野睦監訳、長瀬嘉秀監訳、飯塚富雄監訳、アジャイル開発手法FDD―ユーザ機能駆動によるアジャイル開発、2003、ピアソン・エデュケーション)
 

著者について


平鍋 健児氏はChange Vision, Inc. のCEOである。彼はマインドマップとUMLの融合エディタ、JUDEを開発し、Lean Software DevelopmentやXP Installed、 Agile Project Managementなど数々の XP/Agile の書籍を日本語に翻訳した。平鍋氏はソフトウェア開発をコミュニケーションゲームのように考えており、生産的で、協力的、そして楽しみながら開発できる方法を常に模索している。更なる情報についてはTRICHORD サイトを参照 trichord.change-vision.com




原文はこちらです:http://www.infoq.com/articles/agile-kanban-boards
(このArticleは2007年8月27日にリリースされました)

この記事に星をつける

おすすめ度
スタイル

BT