密林の図書室

人生は短く、経験からのみ得られることは限られます。読書から多くのことを学び、アウトプット化も本との対話の一部として大切なものだと考えてきたので、このブログを立ち上げて日々読んできた本の備忘録として活用しています。

アジャイル開発の方法論と事例紹介。「スクラム実践入門── 成果を生み出すアジャイルな開発プロセス」

著:貝瀬 岳志、原田 勝信、和島 史典、栗林 健太郎、柴田 博志、家永 英治

 

 アジャイル開発の有力な方法論として有名になった「スクラム」について紹介した本である。方法論の説明はもちろんあるが、この本の特徴は、実際にスクラムを適用してみた組織の事例が多く掲載されていることである。

 

 Frederick P. Brooksが1986年に出した論文から、ソフトウェア開発には本質的に以下の4つの困難があると指摘されている。

 

1.複雑性:ソフトウェアは、人間の作り出す最も複雑な構造物

2.同調性:ソフトウェアは、現実世界の複雑さに対して同期(適応)する必要がある

3.可変性:ソフトウェアは、常に変更という圧力にさらされている

4.不可視性:ソフトウェアは見えにくく、空間に埋め込むこともできない

 

 スクラムは、このように困難なソフトウェア開発において、「複雑で変化の激しい問題」に対応するために生まれた。特に、目的の不確実性と、手段の不確実性への対処にすることを可能にする。そのために、スクラムでは、以下のような体制をとる。

 

1.プロダクトオーナー:スクラムチームが作ろうとするプロダクトの最終責任者

2.開発チーム:プロダクトオーナーが決めた要件に基づいて開発する

3.スクラムマスター:スクラムのフレームワークを熟知し、チームを支援する

 

スクラムでは、5つのスクラムイベントが定義されている。

 

1.スプリント(1週間~1か月):インクリメントと呼ぶ動作可能なプロダクトを作る。

2.スプリントプランニング:期間内で達成するゴールとスプリントバックログを明らかににして合意する全員参加のミーティング。

3.デイリースクラム(毎日):1日15分の進捗、予定、問題の共有のミーティング。

4.スプリントレビュー:作成したインクリメントのレビューを行いフィードバックを得る。

5.スプリントレトロスペクティブ:振り返りのためのミーティング

 

スクラムでは、以下のアウトプットを作成する。

 

1.プロダクトバックログ:実現したいことを優先付けして一覧にしたもの

2.スプリントバックログ:プロダクトバックログとそのためのタスクを一覧化したもの

3.インクリメント:スプリントで作ったもの

 

スクラムをうまく進めるには、コツがいろいろある。本書では、そのためのプラクティスとして、以下のようなものを紹介している。

 

1.パターン:状況、問題、空気、解決でパターン化。

2.インセプションデッキ:10の質問で共通認識を作る

3.リーンキャンパス:プロダクトを1枚で定義する

4.ユーザーストーリー:ユーザー視点で要求を簡潔に記述する

5.ユーザーストーリーマッピング:ユーザー体験を時間軸で整理する

6.プランニングポーカー:開発チーム全員で見積もりを行う

7.スパイク:技術課題を解決するための事前調査

8.バーンダウンチャート:進捗の見える化

9.パーキングロット:目的から外れた議論を収束させる

10.KPT:KeepとProblemを列挙し、そこからTryを列挙する

11.技術的負債の返済:開発スピードの維持

12.継続的インテグレーション:開発者とチームのインクリメントを一致させる

 

 本書には、実際の事例として、GMOペパボ、mixi、DeNA、の3社が取り上げられている。さらに、スクラムの各工程においてよくある問題と解決策についての説明がある。

 

 事例や、こういう問題に対してはこうする、という点が手厚く書かれてあり、実践的な内容の本である。

 

単行本、240ページ、技術評論社、2015/3/18

スクラム実践入門 ── 成果を生み出すアジャイルな開発プロセス (WEB+DB PRESS plus)

スクラム実践入門 ── 成果を生み出すアジャイルな開発プロセス (WEB+DB PRESS plus)

  • 作者: 貝瀬岳志,原田勝信,和島史典,栗林健太郎,柴田博志,家永英治
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/03/18
  • メディア: 単行本(ソフトカバー)