令和3年秋期試験午後問題 問9
問9 プロジェクトマネジメント
⇱問題PDF
家電メーカーでのアジャイル開発に関する次の記述を読んで,設問1~3に答えよ。
家電メーカーでのアジャイル開発に関する次の記述を読んで,設問1~3に答えよ。
広告
P社は,中堅の家電メーカーである。従来,家電量販店を通じた拡大戦略で事業を伸ばしてきたが,ここ数年の競争激化によって収益性が急速に悪化している。そこで,P社は,ビジネスモデルを,家電量販店を通じた間接販売から,顧客となる消費者へ直接販売するインターネット販売へ転換する戦略を打ち出した。これを受けて,消費者向けのシステムの整備が急務となり,CDO(Chief Digital Officer)は,インターネット販売システム開発プロジェクト(以下,本プロジェクトという)を発足させた。
〔本プロジェクトの計画〕
(1) 本プロジェクトの目的
本プロジェクトの体制を表2に示す。 ①開発チームは,まずは全メンバーでWebストアの開発チームを編成し,Webストアの開発の完了後に,モバイルアプリの開発チームとSNSの開発チームを編成することとする。
〔本プロジェクトの実行と管理〕
スクラムチームは,本プロジェクトを次のように進めることになった。
(1) スケジュールとその管理方法
S-04の途中で,T氏とR氏の間で次の会話が交わされていた。
(1) S-04終了時のレトロスペクティブ
〔本プロジェクトの計画〕
(1) 本プロジェクトの目的
- インターネット販売は競合相手が多く,インターネット販売システムへの要求が満たされないと顧客は簡単に競合相手に移ってしまうので,P社として,顧客からの要求に対して,競合相手と比べてより迅速に対応できるようにする。
- これまで一部のプロジェクトだけで用いていたスクラムによるアジャイル開発を採用し,今後同社での利用を拡大させていく端緒とする。
- P社にはスクラムの経験者が少ない。そこで試行開発の段階を設けて,スクラム開発の理解を深め,スクラムの開発要員を育成し,プロセスを確立しながら本プロジェクトを遂行する。
- 試行開発を経て,本格的なスクラム開発の人材を確保し,顧客からの要求に迅速に対応できるようにする。
- インターネット販売システムは,Webストア,モバイルアプリケーションソフトウェア(以下,モバイルアプリという)及びSNSの三つのサブシステムから構成される。Webストアから開発に着手することにして,これを試行開発と位置付ける。
- Webストアのプロダクトバックログアイテムのうち,本プロジェクトの開始時点で洗い出した要件をユーザストーリーの形式で記述して,開発の規模,難易度,複雑さなどによる開発作業の量(以下,サイズという)と優先順位で分類し,ストーリーポイントを算出した。Webストアのユーザストーリー数と,サイズごとのストーリーポイントの合計を表1に示す。
本プロジェクトの体制を表2に示す。 ①開発チームは,まずは全メンバーで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を用いることにした。
- Webストアのスプリントバックログ対応実績集計表(S-04終了時点)を表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氏に認識してもらうことにした。
- S-05,S-06及びリリース2のベロシティとして,S-01~S-04の各スプリントで測定したベロシティの平均値を用いる。
- R氏は,確立したプロセスに則って調整した結果,リリース1については,T氏依頼のプロダクトバックログアイテム1個を新規追加した上で,優先順位Aのプロダクトバックログアイテムのリリース日を守り,リリース2については,残リの全てのプロダクトバックログアイテムをリリース日までに完了することでT氏と合意した。このとき,リリース2で対応予定のストーリーポイントはdptとなり,ベロシティ上の問題はない。
広告
設問1
〔本プロジェクトの計画〕について,(1),(2)に答えよ。
- 表2中のaに入れる最も適切な字句を解答群の中から選び,記号で答えよ。
- 本文中の下線①の体制とした狙いは何か。本プロジェクトの方針に沿った人材育成の観点から,40字以内で述べよ。
a に関する解答群
- S-04におけるスプリントバックログを作成する。
- ガントチャートで本プロジェクトのスケジュールを管理する。
- 情報システム部門へのスクラムの導入を指導,トレーニング及びコーチングする。
- 本プロジェクトのプロダクトバックログアイテムを作成・管理する。
解答例・解答の要点
- a:エ
- スクラムの開発要員を育成し,本格的なスクラム開発の人材を確保する (32文字)
解説
- 〔aについて〕
スクラムは、複雑なプロダクトを開発・維持するためのアジャイル開発のフレームワークです。スクラムでは、プロダクトオーナ・スクラムマスタ・開発者(開発チーム)で構成される機能横断的であり自己組織化されたチーム(スクラムチーム)を主体としてプロジェクトを進めていきます。
スクラムチームの各役割(ロール)については次の通りです。スクラムの用語についてはIPAの「アジャイル開発の進め方」に一覧があるので一部参考にしています。- プロダクトオーナ
- チームに最も価値の高いソフトウェアを開発してもらうために、プロダクトに必要な機能を定義し、プロダクトバックログの追加・削除・順位付けを行う。開発への投資に対する効果を最大にすることに責任をもつ。
- 開発者チーム
- 実際に開発を行うチームのことで、開発者たちを指す。ビジネスアナリスト、プログラマー、テスター、アーキテクト、デザイナーなどの機能横断的な様々な技能を持った人がプロダクトを中心に集まり、自律的に行動する。開発チームはバックログに入っている項目を完了状態にし、プロダクトの価値を高めていくことに責任を持つ。
- スクラムマスタ
- スクラムチーム全体が自律的に協働できるように、場作りをするファシリテーター的な役割を担う。ときにはコーチとなってメンバーの相談に乗ったり、開発チームが抱えている問題を取り除いたりする。スクラム全体をうまく回すことに責任を持つ。
- スプリントバックログを作成するのは開発チームの役割なので、不適切です。
- プロジェクト全体のスケジュール管理はスクラムマスタの役割なので、不適切です。
- スクラムの導入を指導し、トレーニング及びコーチングを行うのはアジャイルコーチの役割です。プロダクトオーナの役割範囲は対象のプロダクトに限られるので、不適切です。
- 正しい。プロダクトバックログを作成・管理するのはプロダクトオーナの役割です。プロダクトバックログとは、プロダクトがユーザや顧客に提供する価値を記述し、機能や技術的改善要素を優先順位を付けて記述したものです。
- 「開発チームは,まずは全メンバーでWebストアの開発チームを編成し,Webストアの開発の完了後に,モバイルアプリの開発チームとSNSの開発チームを編成する」こととした狙いについて問われています。設問には「本プロジェクトの方針に沿った人材育成の観点」というヒントがありますので、該当する箇所を問題文から探します。すると、〔本プロジェクトの計画〕(2)に以下の説明があることがわかります。
- P社にはスクラムの経験者が少ない。そこで試行開発の段階を設けて,スクラム開発の理解を深め,スクラムの開発要員を育成…
- 試行開発を経て,本格的なスクラム開発の人材を確保…
∴スクラムの開発要員を育成し,本格的なスクラム開発の人材を確保する
広告
設問2
〔本プロジェクトの実行と管理〕について,(1),(2)に答えよ。
- 本文中の下線②の狙いは何か。顧客の特性を考慮し,30字以内で述べよ。
- 本文中のb,cに入れる適切な字句を解答群の中から選び,記号で答えよ。
b,c に関する解答群
- アーンドバリュー
- アローダイアグラム
- インクリメンタル
- スパイラル
- バーンダウンチャート
- プロトタイピング
- マイルストーン
- リファクタリング
解答例・解答の要点
- 顧客からの要求に競合相手より迅速に対応すること (23文字)
- b:オ
c:ク
解説
- 競合他社が1年に1~2回のリリースのサイクルであるのに対して、P社は3か月に1回とした狙いについて問われています。設問の条件として「顧客の特性を考慮し」とあるので、問題文から顧客の特性に関する内容を探すと、〔本プロジェクトの計画〕(1)に「要求が満たされないと顧客は簡単に競合他社に移ってしまう…P社としては,顧客からの要求に対して,競合相手と比べてより迅速に対応できるようにする」という記載があります。このための具体案がリリースサイクルの短縮です。リリースサイクルを競合他社より短くすれば、顧客の要求をより迅速に満たすことができるようになると考えられ、顧客の獲得や囲い込みにつながります。
この部分がそのまま解答根拠となります。つまり、リリースサイクルを競合他社より短くした狙いは「顧客からの要求に競合相手より迅速に対応すること」です。
∴顧客からの要求に競合相手より迅速に対応すること - 各選択肢の特徴は以下のとおりです。
- アーンドバリュー
- コストとスケジュールの両面からプロジェクトの進捗状況を客観的・定量的に管理する手法です
- アローダイアグラム
- 複数の独立した作業や工程が連続して実施される際に、作業の日程計画を図形と数字で表現するための図です
- インクリメンタル
- 初めにシステム全体の要件定義を行い、要求された機能を幾つかのサブシステムに分割した後、コアとなる部分を優先的に完成させ、以降は設計~テストを繰り返して追加機能を順次リリースしていく開発モデルです
- スパイラル
- システム全体を幾つかに分割し、その分割されたシステムごとにウォーターフォールモデルを繰り返して機能を追加していく成長型(進化型)の開発モデルです
- バーンダウンチャート
- 左端をプロジェクト開始時点として横軸を時間経過、縦軸を残り作業量とし、開始時の左端上方の点から、右下の横軸上にあるプロジェクト完了予定日時に向かって、計画上の進捗を表す計画線、実際の進捗を表す実績線、開始から終了予定まで直線で結んだ理想線の3本の線で表します
- プロトタイピング
- 試作品の意味です。開発の初期段階に試作品を作り、機能や操作性を確認し、ユーザーの要求や評価を本番のシステムに反映して完成させる開発手法を指します
- マイルストーン
- プロジェクトを完遂するために重要な中間目標地点のことを指します
- リファクタリング
- システムの機能やプログラム挙動などは変更せずに、ソフトウェアの内部構造をより良く変えることです
「横軸に時間,縦軸にストーリーポイントを割り当て,残りのストーリーポイントを折れ線グラフで示す」より、バーンダウンチャートだとわかります。バーンダウンチャートは、アジャイル開発で進捗管理によく用いられるグラフで、計画と実績の差分を視覚的に把握するのに便利です。
∴b=オ:バーンダウンチャート〔cについて〕
「プログラムの外部から見た動作を変えずにソースコードの内部構造を整理する」より、リファクタリングだとわかります。リファクタリングは、主に機能拡張性や保守性などの向上を目的として実施されます。
∴c=ク:リファクタリング
広告
設問3
〔プロセスの確立と実施〕について,(1),(2)に答えよ。
- 本文中の下線③について,誰とどのようなプロセスを確立しておくべきか。40字以内で述べよ。
- 本文中のdに入れる適切な数値を整数で答えよ。
解答例・解答の要点
- T氏とプロダクトバックログアイテム変更に伴う対応方法を決めておく (32文字)
- d:50
解説
- R氏とT氏の会話で発生した対立について、関係者間で確立すべきプロセスについて問われています。
〔本プロジェクトの実行と管理〕(3)において、T氏からの「プロダクトバックログアイテムを追加したい」という要望に対し、R氏は「リリースするプロダクトバックログアイテムの見直しが必要」と主張しています。R氏とT氏間、すなわち、アジャイル開発の経験があるプロダクトオーナとアジャイル開発の経験がないユーザチームとの間でプロダクトバックログアイテム(=要件)の変更に関して認識相違が発生してしまっています。T氏がすぐに追加できると考えていたのは、アジャイル開発の経験がなかったこともありますが、プロダクトバックログアイテムを追加する際の手順があらかじめ定まっていなかったことが一番の問題です。
今後の円滑な開発のためには、ユーザチーム代表であるT氏との間でプロダクトバックログアイテムを変更するための方法や手順を決めておき、両者間で認識相違が発生しないようにする必要があります。
∴T氏とプロダクトバックログアイテム変更に伴う対応方法を決めておく - リリース1では優先順位Aに加え、進捗次第で優先順位Bをリリースすることになっています。また、T氏依頼のプロダクトバックログ(サイズ大)がリリース1に新規追加されるので、優先順位A・サイズ大の数は3つとなります。表1及び表3より、優先順位Aのうち、S-04終了時点において未開発のプロダクトバックログの数は以下のとおりであることがわかります。
- サイズ小
- 9-4=5個、ストーリーポイント換算で 5個×2pt=10pt
- サイズ中
- 7-6=1個、ストーリーポイント換算で 1個×3pt=3pt
- サイズ大
- 3-2=1個、ストーリーポイント換算で 1個×5pt=5pt
次にベロシティを考えます。ベロシティは、チームが1回のイテレーションで完了させたユーザストーリーのストーリーポイントの合計値、すなわち開発生産性を表します。問題文に「S-05,S-06及びリリース2のベロシティとして,S-01~S-04の各スプリントで測定したベロシティの平均値を用いる」とあるので、表3の合計ptを使って算出すると、ベロシティは「(10+8+9+9)÷4=9pt」です。S-05及びS-06では「9pt×2=18pt」分の作業を完成できることになるので、何とか優先順位Aの全部をリリース1に間に合わせることができると判断できます。一方、優先順位B・サイズ大の1つはリリース2に先送りせざるを得ないこともわかります。
リリース2では、残ったプロダクトバックログを全部完成させることになります。表2で言うと以下の範囲です。リリース2で完成させるべきプロダクトバックログは、サイズ小が4つ、サイズ中が4つ、サイズ大が6つなので、ストーリーポイントの合計は、
4個×2pt+4個×3pt+6個×5pt=50pt
リリース2のS-07~S-12の6スプリントで完成見込みのストーリーポイントは「9pt×6=54pt」ですから、問題文の「ベロシティ上の問題はない」という説明どおり問題なく作業を終えることができるとわかります。
∴d=50
広告
広告