家電メーカでのアジャイル開発に関する次の記述を読んで,設問1〜3に答えよ。
P社は,中堅の家電メーカである。従来,家電量販店を通じた拡大戦略で事業を伸ばしてきたが,ここ数年の競争激化によって収益性が急速に悪化している。そこで,P社は,ビジネスモデルを,家電量販店を通じた間接販売から,顧客となる消費者へ直接販売するインターネット販売へ転換する戦略を打ち出した。これを受けて,消費者向けのシステムの整備が急務となり,CDO(Chief Digital Officer)は,インターネット販売システム開発プロジェクト(以下,本プロジェクトという)を発足させた。
(1)本プロジェクトの目的
・インターネット販売は競合相手が多く,インターネット販売システムへの要求が満たされないと顧客は簡単に競合相手に移ってしまうので,P社として,顧客からの要求に対して,競合相手と比べてより迅速に対応できるようにする。
・これまで一部のプロジェクトだけで用いていたスクラムによるアジャイル開発を採用し,今後同社での利用を拡大させていく端緒とする。
(2)本プロジェクトの方針
・P社にはスクラムの経験者が少ない。そこで試行開発の段階を設けて,スクラム開発の理解を深め,スクラムの開発要員を育成し,プロセスを確立しながら本プロジェクトを遂行する。
・試行開発を経て,本格的なスクラム開発の人材を確保し,顧客からの要求に迅速に対応できるようにする。
(3)本プロジェクトのスコープ
・インターネット販売システムは,Webストア,モバイルアプリケーションソフトウェア(以下,モバイルアプリという)及びSNSの三つのサブシステムから構成される。Webストアから開発に着手することにして,これを試行開発と位置付ける。
・Webストアのプロダクトバックログアイテムのうち,本プロジェクトの開始時点で洗い出した要件をユーザストーリの形式で記述して,開発の規模,難易度,複雑さなどによる開発作業の量(以下,サイズという)と優先順位で分類し,ストーリポイントを算出した。Webストアのユーザストーリ数と,サイズごとのストーリポイントの合計を表1に示す。
サイズ1) | ユーザストーリ数 | ストーリポイ ント3)の合計 |
|||
優先順位2)A | 優先順位B | 優先順位C | 合計 | ||
小 | 9 | 0 | 4 | 13 | 26 |
中 | 7 | 0 | 4 | 11 | 33 |
大 | 2 | 1 | 5 | 8 | 40 |
合計 | 18 | 1 | 13 | 32 | 99 |
注1) ユーザストーリをサイズに応じて小,中,大の三つに分類する。
注2) 優先順位は高い順にA,B,Cで表す。プロダクトバックログアイテムをスプリントバックログに割り当てるときに,この優先順位を厳守するものとする。
注3) ユーザストーリには,サイズに応じて小に2,中に3,大に5のポイント(以下,ptという)を付与して,これをストーリポイントとする。
(4)本プロジェクトの体制
本プロジェクトの体制を表2に示す。
チーム | 役割 | 役割の説明 | 担当者名 | 担当者の開発経験 | 所属・職位 |
スクラムチーム | プロダクトオーナ | a | R氏 |
・システム開発プロジェクトの経験はあるが,アジャイル開発プロジェクトは初めてである。 |
営業部門・課長 |
スクラムマスタ |
・スクラムの実施方法を計画・助言する。 ・必要に応じてプロジェクトの関係者とのコラボレーションを促進する。 |
S氏 |
・システム開発プロジェクトの経験は豊富で,スクラムによるアジャイル開発プロジェクトを多く経験している。 |
情報システム部門・主任 | |
開発チーム |
・スプリントの計画を作成する。 ・実際の開発作業に携わる。 |
(略) |
・情報システム部門と営業部門の混成で,専任8名をアサインする。8名のうち,3名はスクラムによるアジャイル開発プロジェクトを経験している。 |
情報システム部門及び営業部門・スタッフ | |
ユーザチーム | ユーザチーム代表 |
・顧客からの要求を調査・調整するユーザチームの代表 |
T氏 |
・アジャイル開発プロジェクトに参加した経験はない。 ・競合相手の状況や顧客の要求などを把握している。 |
マーケティング部門・課長 |
(以下,省略) |
①開発チームは,まずは全メンバでWebストアの開発チームを編成し,Webストアの開発の完了後に,モバイルアプリの開発チームとSNSの開発チームを編成することとする。
(1)スケジュールとその管理方法
・競合相手のWebストアは,1年に1〜2回程度のリリースであるのに対して,P社のWebストアは,②リリースのサイクルを3か月に1回とした。
・Webストアのリリースは,リリース1とリリース2から成る。プロダクトバックログアイテムは優先順位によって次の計画でリリースする。
・優先順位A...リリース1
・優先順位B....リリース1ただし,今後の進捗状況でリリース2でも可
・優先順位C...リリース2
・リリース内では一連のスプリントを繰り返し実施し,各スプリントはS-01,S-02というように連番を付けて表す。
・スプリントは2週間を1単位とする。
・本プロジェクトの進捗状況が計画からどのくらい離れているのかを管理するために,横軸に時間,縦軸にストーリポイントを割り当て,残りのストーリポイントを折れ線グラフで示す b を用いることにした。
(2)スプリントバックログの対応実績
・Webストアのスプリントバックログ対応実績集計表(S-04終了時点)を表3に示す。
サイズ | リリース1 | リリース1 | ||||||
S-01 | S-02 | S-03 | S-04 | S-05 | S-06 | 合計 | S-07〜S-12 | |
小 | A2個 | A2個 | 4個 | |||||
4pt | 4pt | 8pt | ||||||
中 | A2個 | A1個 | A3個 | 6個 | ||||
6pt | 3pt | 9pt | 18pt | |||||
大 | A1個 | A1個 | 2個 | |||||
5pt | 5pt | 10pt | ||||||
合計 | 4個 | 2個 | 3個 | 3個 | 12個 | |||
10pt | 8pt | 9pt | 9pt | 36pt |
注記1 サイズ別の各スプリントバックログの上段は,優先順位別のユーザストーリ数を表す。下段は,ユーザストーリのptを表す。合計行は終了したスプリントのユーザストーリ数及びptの合計を表す。
注記2 サイズ,優先順位,ptの意味は表1の注を参照すること。
(3)プロダクトバックログアイテムの追加依頼
・S-04の途中で,T氏とR氏の間で次の会話が交わされていた。
T氏:重要な新規要件を優先順位Aとして追加することがビジネス上必須となった。
R氏:その要件が重要なことは理解したが,サイズ大のプロダクトバックログアイテム1個を新規追加することになるので,リリース1でリリースする計画のプロダクトバックログアイテムを見直すことになる。
T氏:アジャイル開発なので,要件の柔軟な追加や変更ができると思っていた。新規追加のプロダクトバックログアイテムは優先順位Aなので,これは必ずリリース1に入れてほしい。その上で,アジャイルの作業生産性は高いはずだから,計画したプロダクトバックログアイテムも全てリリース1に入れられるのではないか。
R氏:依頼については理解したが,リリース1でリリースするプロダクトバックログアイテムの見直しは不可避だ。
T氏:納得できないので,別途調整させてほしい。別件だが,機能的に重複するところがある類似の要件を今後数件追加させてもらう可能性が高い。
R氏:了解した。その件については,プログラムの外部から見た動作を変えずにソースコードの内部構造を整理する c を実施することで,今後の拡張性・柔軟性を高めたいと思う。
(1)S-04終了時のレトロスペクティブ
・開発チームは,人,関係,プロセス及びツールの観点からS-04のレトロスペクティブを実施し,うまくいった項目とうまくいかなかった項目を特定・整理した。
・開発チームは,S氏の助言を得て,③R氏とT氏との今回のプロダクトバックログアイテムの追加依頼の会話を踏まえて,関係者間でのプロセスの確立について検討することにした。
・R氏は,S氏の支援のもと,アジャイル開発は作業生産性の向上を目的とするものではないことをT氏に認識してもらうことにした。
(2)S-05開始時のスプリントプランニング
・S-05,S-06及びリリース2のベロシティとして,S-01〜S-04の各スプリントで測定したベロシティの平均値を用いる。
・R氏は,確立したプロセスに則って調整した結果,リリース1については,T氏依頼のプロダクトバックログアイテム1個を新規追加した上で,優先順位Aのプロダクトバックログアイテムのリリース日を守り,リリース2については,残りの全てのプロダクトバックログアイテムをリリース日までに完了することでT氏と合意した。このとき,リリース2で対応予定のストーリポイントは d ptとなり,ベロシティ上の問題はない。
出典:令和3年度秋期 問9
設問1 〔本プロジェクトの計画〕について,(1),(2)に答えよ。
(1)表2中の a に入れる最も適切な字句を解答群の中から選び,記号で答えよ。
- S-04におけるスプリントバックログを作成する。
- ガントチャートで本プロジェクトのスケジュールを管理する。
- 情報システム部門へのスクラムの導入を指導,トレーニング及びコーチングする。
- 本プロジェクトのプロダクトバックログアイテムを作成・管理する。
解答・解説
解答例
エ
解説
プロダクトオーナはプロダクトの方向性を決め、プロダクトバックログを管理する役割を担います。
- S-04におけるスプリントバックログを作成する。
開発チームの役割です。 - ガントチャートで本プロジェクトのスケジュールを管理する。
スクラムマスタの役割です。 - 情報システム部門へのスクラムの導入を指導,トレーニング及びコーチングする。
個別のスクラムチームの役割ではありません。 - 本プロジェクトのプロダクトバックログアイテムを作成・管理する。
適切です。
(2)本文中の下線①の体制とした狙いは何か。本プロジェクトの方針に沿った人材育成の観点から,40字以内で述べよ。
解答・解説
解答例
スクラムの開発要員を育成し,本格的なスクラム開発の人材を確保する。
解説
プロジェクトの方針・スコープについて、次のように記されています。
(2)本プロジェクトの方針
・P社にはスクラムの経験者が少ない。そこで試行開発の段階を設けて,スクラム開発の理解を深め,スクラムの開発要員を育成し,プロセスを確立しながら本プロジェクトを遂行する。
・試行開発を経て,本格的なスクラム開発の人材を確保し,顧客からの要求に迅速に対応できるようにする。
(3)本プロジェクトのスコープ
・インターネット販売システムは,Webストア,モバイルアプリケーションソフトウェア(以下,モバイルアプリという)及びSNSの三つのサブシステムから構成される。Webストアから開発に着手することにして,これを試行開発と位置付ける。
これらから、まずWebストアを試行開発として要員を育成する狙いがあることがわかります。
設問2 〔本プロジェクトの実行と管理〕について,(1),(2)に答えよ。
(1)本文中の下線②の狙いは何か。顧客の特性を考慮し,30字以内で述べよ。
解答・解説
解答例
顧客からの要求に競合相手より迅速に対応すること
解説
競合に対する優位性を求める背景・理由について、プロジェクトの目的に次のように表されています。
(1)本プロジェクトの目的
・インターネット販売は競合相手が多く,インターネット販売システムへの要求が満たされないと顧客は簡単に競合相手に移ってしまうので,P社として,顧客からの要求に対して,競合相手と比べてより迅速に対応できるようにする。
(2)本文中の b , c に入れる適切な字句を解答群の中から選び,記号で答えよ。
- アーンドバリュー
- アローダイアグラム
- インクリメンタル
- スパイラル
- バーンダウンチャート
- プロトタイピング
- マイルストーン
- リファクタリング
解答・解説
解答例
b:オ c:ク
解説
- スクラムでよく用いられる進捗管理のグラフで、横軸を時間、縦軸をバックログやストーリポイントなどの残件数として、折れ線グラフで表現するものを、バーンダウンチャートといいます。
- プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することを、リファクタリングといいます。
設問3 〔プロセスの確立と実施〕について,(1),(2)に答えよ。
(1)本文中の下線③について,誰とどのようなプロセスを確立しておくべきか。40字以内で述べよ。
解答・解説
解答例
T氏とプロダクトバックログアイテム変更に伴う対応方法を決めておく。
解説
T氏とR氏の間で交わされた会話は次の通りです。
T氏:重要な新規要件を優先順位Aとして追加することがビジネス上必須となった。
R氏:その要件が重要なことは理解したが,サイズ大のプロダクトバックログアイテム1個を新規追加することになるので,リリース1でリリースする計画のプロダクトバックログアイテムを見直すことになる。
T氏:アジャイル開発なので,要件の柔軟な追加や変更ができると思っていた。新規追加のプロダクトバックログアイテムは優先順位Aなので,これは必ずリリース1に入れてほしい。その上で,アジャイルの作業生産性は高いはずだから,計画したプロダクトバックログアイテムも全てリリース1に入れられるのではないか。
R氏:依頼については理解したが,リリース1でリリースするプロダクトバックログアイテムの見直しは不可避だ。
T氏:納得できないので,別途調整させてほしい。別件だが,機能的に重複するところがある類似の要件を今後数件追加させてもらう可能性が高い。
T氏は要件は途中で追加・変更が可能と思っていたが、実際はアジャイルだからといってなんでもできるわけではありません。
このような誤解を防ぐためにも、予めプロダクトバックログアイテム変更に関するルールを決めておくことが求められます。
(2)本文中の d に入れる適切な数値を整数で答えよ。
解答・解説
解答例
50
解説
「S-05,S-06及びリリース2のベロシティとして,S-01〜S-04の各スプリントで測定したベロシティの平均値を用いる」とありますが、S-01〜S-04のストーリポイント実績はそれぞれ、10pt、8pt、9pt、9ptのため、平均9ptであり、ベロシティは9pt/1スプリントとなります。つまり、S-05〜S-06で対応可能なストーリポイントは、18ptまでとなります。
また、表1、表3より、リリース1で優先順位Aの残ストーリポイントは、9×2+7×3+2×5 - 36 = 13[pt] であり、追加するサイズ大の1ストーリ(5pt)を合わせると18ptとなり、リリース1で対応可能な量ちょうどになります。
結果、表1の優先順位Bと優先順位Cの全てをリリース2で対応することになり、そのストーリポイントは、99 - 49 = 50[pt] となります。
IPA公開情報
出題趣旨
環境変化が激しい中で企業の競争力を維持し,市場の変化にも迅速に対応可能なアジャイル開発が注目され ている。
本問では,家電メーカのインターネット販売に伴うインターネット販売システム開発プロジェクトを題材に,アジャイル開発プロジェクトのマネジメントに関する能力を問う。
採点講評
問9では,家電メーカのインターネット販売に伴う開発プロジェクトを題材に,近年急速に普及しているアジャイル開発について出題した。全体として正答率は平均的であった。
設問2(1)は,正答率がやや高かった。アジャイル開発を社内で展開する際には,アジャイル開発の技術的な側面について習熟するだけでなく,企業の競争力を維持,強化し,市場の変化にも迅速に対応するという経営 的な側面についても考慮することが重要であることを理解してほしい。
設問3(1)は,正答率がやや低かった。スプリントの途中で生じたステークホルダ間の認識不一致という問題に対して,誰とどのようなプロセスを確立しておくべきかを問うたが,アジャイル開発におけるプロダクトオーナなどの役割について理解できていないと思われる解答が散見された。アジャイルの基本概念だけでなく, 実際のプロジェクトにアジャイルを適用する場合,誰にどのような役割を担わせるのかが重要であることについて理解を深めてほしい。