• Column
  • デジタルシフトに取り組むためのソフトウェア開発の新常識

「無駄なものを作らない」がアジャイル開発の目的【第3回】

梶原 稔尚(スタイルズ代表取締役)
2018年11月28日

持つべき機能を書きだし優先順位を付ける

 Scrumでは、プロダクトが持つべき機能を「ユーザーストーリー形式」などで記述します。ユーザーストーリーは、利用者となる“顧客の視点”でプロダクトの要件を簡単に記述したもので、「役割/ペルソナ」「機能/性能」「ビジネス価値」によって表現されます。具体的には「コマースサイトのユーザーとして、商品を検索でき、それは、欲しい商品をすぐに見つけるためである」というように書き出します。

 書きだしたユーザーストーリーは優先順位に応じて並び替え、開発順序を決めていきます。その際、全体像をプロジェクトチーム全員で共有するためのツールとして「ユーザーストーリーマッピング」があります。ユーザーストーリーを時系列と優先度の2軸でマッピングし、プロダクトが満たすべき要件仕様を整理します(図2)。

図2:ユーザーストーリーマッピングのイメージ

 個別の開発規模は、開発チームが見積もります。ToDoリストに相当する「プロダクトバックログ」も、開発初期にすべてを確定して要求を固定するのではなく、開発を進める中で変化していきます(表1)。

表1:プロダクトバックログ
Noバックログ項目優先順位見積もり
1会員登録できる13
2会員としてログインできる21
3商品を検索できる32
4会員が商品を購入できる44
5ゲストが商品を購入できる52

 プロダクトバックログは、「プロダクトオーナー」と呼ばれる、その製品の責任者を中心に作成します。プロダクトオーナーの役割は、その製品の価値を最大化することです。開発チームと協力し、価値の最大化を図ります。

2〜4週を1単位に開発を繰り返す

 実際の開発は、期間を固定して計画・実行する「スプリント」という単位で実施します。一般的な期間は2~4週間が多く、初日に「プランニングミーティング」を開き、直近2週間のタスクを計画します。

 各スプリントでは、プロダクトバックログの優先順位の高いものの中から、そのスプリントで開発するスプリントバックログをプロダクトオーナーと開発チームが合意して決定します。この優先順位の高いプロダクトバックログこそが、第1回で取り上げたリーン・スタートアップにおける「MVP(Minimum Viable Product)」、すなわち製品出荷に最低限必要な機能に相当します。

 開発チームは、そのスプリントで開発すると決めたバックログ項目の具体的な作業となる「スプリントバックログ」を計画し、それに沿って開発します。そして毎日、「デイリースクラム」を実施します。

 デイリースクラムは、スプリント期間中のチームの状況を共有するためのミーティングです。通常は朝に行うので「朝会」と呼びます。短時間で「昨日やったこと」や「今日やること」、そして「起こっている問題」などを報告します。