アジャイル開発の進捗管理(後編)
進捗管理と進行管理

2020年7月2日公開

前編では、アジャイル開発の計画とバーンダウンチャートについてみてきました。後編では、バーンダウンチャートを利用して何を管理しているのか?についてみていきましょう。

バーンダウンチャートでわかること

バーンダウンチャートはある時点における残量をプロットしただけの単純な図です。

これがなんの役に立つのでしょうか?いったいなにを管理(マネージメント)しているのでしょう?

ここで、視点を変えてみましょう。「バーンダウンチャート、右から見るか?左から見るか?」

過去から時を追う

左から右へと時系列に観察するとどうでしょうか。

経過した時間で完了させた機能量がわかります。それをどう役にたてるのでしょうか?

未来の予想に使用することはできないでしょう。そもそもアジャイル開発は「予想なんかできない」ということが前提ではなかったでしょうか。それとも「これだけ消化できた」と誰かに報告するためでしょうか。「あちら側」と「こちら側」の間に壁がありそうです。

未来から時を遡ろう

右から左へと観察するとどうでしょうか。

  • 残り時間はどれだけあるか
  • つくりたい機能はどれくらい残っているか?

この2つがわかります。これらは残り時間で残りの機能をつくれそうかどうかの判断材料に使えそうです。
予想ではありません。「ここまでやったこと」と「ここからやること」では、対象の機能が異なりますから、予想する訳ではありません。しかし、反復期間の終了時点に「着地できるかどうか」、「着地させるためにはなにが課題か」を想起するには役立ちそうです。

左から観察しがちではありますが、開発者を含めた関係者たちはバーンダウンチャートを右から見たかったのではないでしょうか。

進行管理と進捗管理

進捗管理ということばを調べていく中で、進行管理ということばが使われている場面をいくつかみました。しかし進行管理ということばも、進捗管理と同様にその定義を見つけることができませんでした。

進行管理ということばは、行政機関でよく使われているようです。市区町村から国の省庁レベルまで、計画の遂行と目標の達成度合の両方を開示する例が多く、使用されている文脈からは、「目標を達成するために、計画を変更し続けること」と判断できます。 目標を達成することなく計画を順守して失敗することを回避したいのは、公共団体も営利組織も同じでしょう。また、出版業界でも進行管理ということばが使用されているようです。動かせない期限が決定されているなかで定期刊行を繰り返すことに、アジャイル開発の反復との類似性を感じざるを得ません。

進行管理

多くのアジャイル開発では、

・「どれだけつくるのか」の計画自体を変える ~ スコープは可変
・「いつまでにつくるのか」の計画はまもる ~ 反復期間は固定

という具合に、反復期間は固定されているものの、反復期間内に計画したスコープを達成できそうになかったらスコープを減らしてしまいます。計画が必ずしも遵守される訳ではありません。

対してウォーターフォール開発では

進捗管理とは、計画をまもるために、予定と実績とのズレや進み遅れを管理すること。遅れたらリスケして遅れの原因に対策すること

計画をまもることを是とするのではなく、「目標を達成するために、計画を変更し続けること」 を是とするアジャイル開発でバーンダウンチャートを利用するのは、この進行管理を実現するためのように考えられます。

ウォーターフォール開発の進捗管理とアジャイル開発の進行管理を表にして比較してみます。

         
ウォーターフォール開発の進捗管理 アジャイル開発の進行管理
品質 計画をまもる 計画をまもる
納期 計画をまもる 絶対に計画をまもる
コスト 増減する(残業、増員、休日出勤) ほぼ一定(すこし残業することもある)
スコープ 計画をまもる つくる機能の量や種類を変える

バーンダウンチャートを参照して、反復期間の残りを見つつ、スコープを調整しながら、固定した反復期間にソフトウェアを出荷可能な状態にするための管理 ─ 進行管理のためのツールとして、バーンダウンチャートは適しているといえます。

進捗管理

「進捗管理」、英語では "progress management" というようです。
"progress"という語をいくつかのWeb辞書で調べてみました。
進歩、発達、発展、前進、前進、進展、向上、成長、発育、上達といった意味を表す名詞あるいは動詞のようです。「進捗」と掲載されていたのは一部の辞書であり、しかも掲載は下位でした。
また、辞書にあたっていく過程で、"proceed"という類義語を見つけることができました。
英英辞典(オンライン版ロングマン現代英英辞典)で2つの語をそれぞれみてみると、

  • progress
    the process of getting better at doing something, or getting closer to finishing or achieving something
  • proceed
    to continue to do something that has already been planned or started

とあります。

  • "progress" は、なにかをうまくできるようになる、あるいはなにかが完成・達成することに近づくプロセス
  • "proceed" は、すでに計画または開始されていることを継続して行うこと

と訳せるでしょう。

であれば、ウォーターフォール開発の進捗管理は、ほんとうに progress managementなのでしょうか?progressよりはproceedをみているように思われてなりません。

さきほど、「アジャイル開発の進行管理」と述べましたが、どうやら"progress management"を実現しているのは、「アジャイル開発の進行管理」だといってよいでしょう。

Progress Management

バーンダウンチャートの縦軸に、見積り時間(工数)、タスクの見積り時間(工数)あるいは相対見積りによるユーザーストーリーポイントを利用されている事例をしばしば見かけます。
Principles behind the Agile Manifesto (アジャイル宣言の背後にある原則)をみると7番目の原則には

Working software is the primary measure of progress.
(動くソフトウェアこそが進捗の最も重要な尺度です。)

とあります。"Working software" は「動くソフトウェア」と訳されていますが、「役に立つソフトウェア」といった意味合いであるでしょう。であれば、時間(工数)あるいは相対見積りであるにせよ、開発者の手間暇を縦軸にとることに疑問を感じざるを得ません。

「ユーザーストーリーの数」を縦軸にすることで、バーンダウンチャートの本来的な役割を果たすのではないでしょうか。ストーリーをより小さなサイズにすること。あるいは(顧客価値の発生単位という意味で)「受入テストの数」を縦軸にとることで、意味のあるバーンダウンチャートが実現され、より効果的な"progress management"が可能となるでしょう。

参考文献

  • Kent Beck. "Extreme Programming Explained: Embrace Change". Addison-Wesley Professional, 1999, 224p, ISBN 978-0201616415.

  • Kent Beck, Cynthia Andres. "Extreme Programming Explained: Embrace Change". 2nd ed., Addison-Wesley Professional, 2004, 224p, ISBN 978-0321278654.

  • Kent Beck, Martin Fowler. "XPエクストリーム・プログラミング実行計画". 長瀬 嘉秀(翻訳), 飯塚 麻理香(翻訳). ピアソンエデュケーション. (2001/4/1), 142p. ISBN 978-4894713413

  • Mike Cohn, "User Stories Applied: For Agile Software Development". Addison-Wesley Professional; 1版 (2004/3/1). 304p. ISBN 978-0321205681

  • Ron Jeffries, Ann Anderson, Chet Hendrickson. "XPエクストリーム・プログラミング導入編 - XP実践の手引き". 平鍋 健児(翻訳), 高嶋 優子(翻訳), 藤本 聖(翻訳). ピアソン・エデュケーション. (2001/8/10). 348p. ISBN 978-4894714915

  • 中谷宇吉郎. "北海道開発に消えた八百億円". 青空文庫.

    https://www.aozora.gr.jp/cards/001569/files/57275_61600.html

  • Principles behind the Agile Manifesto

    https://agilemanifesto.org/iso/en/principles.html.

  • アジャイル宣言の背後にある原則

    https://agilemanifesto.org/iso/ja/principles.html.

   

執筆

  • 坂田 晶紀(さかた あきのり)

    株式会社富士通ソフトウェアテクノロジーズ Agile⁺開発センター
    ソフトウェア開発者、中小企業診断士(Registered Management Consultant)

    メインフレームOS、主にシステム資源最適化プログラムの開発に従事。
    その後、WEBアプリケーション開発業務に携わり、2002年からアジャイル開発を実践。
    アジャイルソフトウェア開発の品質管理、開発管理、組織マネジメントを中心に、約1,000の職場をコンサルティング。

   

ページの先頭へ


後編 バーンダウンチャートでわかること
後編 過去から時を追う
後編 未来から時を遡ろう
後編 TOP
後編 NEW