アジャイルソフトウェア開発手法の導入に関する次の記述を読んで,設問1〜3に答えよ。
H社は,電車や飛行機などの移動手段と宿泊施設をセットにしたパッケージツアーをインターネットで販売している。このサービスを提供している現行システムに,移動途中や宿泊先近辺の商業施設と提携して,観光地の情報提供やクーポン配布を行うサービスを追加することになった。その開発手法として,アジャイルソフトウェア開発(以下,アジャイル開発という)手法の一つであるスクラムを採用する。
〔開発体制の検討〕
本開発を通してH社でアジャイル開発経験者を育成するために,プロジェクトメンバに求められる役割と割り当てるメンバ(M1〜M7)について検討した。その開発体制を表1に示す。
役割 | 役割の説明 | メンバ | メンバの経験 |
a | 提携する商業施設との調整を行い,追加するサービスに必要な機能を定義し,その機能を順位付けする。 | M1 | アジャイル開発経験はなく,知識もほとんどない。 |
スクラムマスタ | メンバ全員が b に協働できるように支援,マネジメントする。 | M2 | アジャイル開発経験はあるがスクラムマスタの経験はない。 |
アジャイルコーチ | 週に2日,社外から招へいされ,メンバに対してアジャイル開発手法の導入や改善を支援する。 | M3 | スクラムマスタの経験が豊富である。 |
開発チーム | 実際に開発を行う。 | M4,M5 | アジャイル開発経験はないが,現行システムをウォータフォールで開発した経験はある。 |
M6,M7 | アジャイル開発経験はあるが,現行システムを開発した経験はない。 |
アジャイル開発経験者からアジャイル開発経験のないメンバに経験を伝えるために,プランニングポーカやペアプログラミングなどのプラクティスを幾つか導入することにした。検討した開発プロセスを表2に示す。
大分類 | 小分類 | 実施項目 |
プロジェクト立上げ | (1)プロジェクト方針の検討 | 追加するサービスの目標,あるべき姿,基本的価値観の共有を図る。 |
プロダクトバックログの決定 | (2)システムの目的の合意 | システムの目的やゴールの共有を行う。 |
(3)リリース計画 | プロダクトバックログのグルーピングを行い,プロダクトバックログアイテムを決定する。 | |
スプリント | (4)スプリント計画(イテレーション計画) | プランニングポーカを用いて,チーム全員の知識や経験を共有しながらストーリポイントを用いた見積りを行う。実施するタスクをスプリントバックログに追加する。 |
(5)スプリント | タスクを実施する。プロダクトコードを開発する際は,①ペアプログラミングを行う。デイリースクラム(日次ミーティング)でチームの状況を共有する。 | |
(6)スプリントレビュー(デモ) | スプリントの成果物を a にデモする。その結果を,次のスプリント計画のインプットにする。 | |
(7)レトロスペクティブ(ふりかえり) | スプリント中の改善事項を検討し,次回以降のスプリントで取り組むべき課題にする。 |
週に2日,社外から招へいするアジャイルコーチが効果的にプロジェクトに参画できるようにするため,招へいするタイミングを c 及び d のファシリテータを依頼するタイミングに合わせてもらうことにした。
また,プロジェクトの進捗状況を可視化するためにバーンダウンチャートをホワイトボードに書き, e ためにスプリントごとのベロシティを計測することにした。
初回のスプリントのレトロスペクティブにおいて,二つの問題点が取り上げられた。
一つ目は,②デイリースクラムに目安の倍以上の時間を掛けてしまう問題点である。状況を確認したところ,このミーティングはメンバの出社時間がバラバラなので夕方に実施していた。また,その日の問題を解消するために解決方法まで議論することにしていた。さらに,進捗状況を共有するために,タスクボードを作成し,その周囲に集まって立った状態で実施していた。
二つ目は,スプリント計画どおりにタスクを全て終わらせることができなかった問題点である。③スプリントバックログ管理上の課題を分析するために,バーンダウンチャートを用いてポイントと考えられる箇所について確認した。バーンダウンチャートを図1に,確認したポイントを図2に示す。
図1 バーンダウンチャート
・スプリント開始直後はメンバがスクラム開発の進め方に慣れていないために実績が少なかった。
・8日経過時点で,提携する商業施設からの要望でスプリントバックログにタスクが追加された。
・8日経過時点からの7日間,類似機能の開発のため予定より速くタスクを消化できた。
・16日経過時点で,考慮していないテストシナリオのタスクが見つかったので,そのタスクが追加された。
図2 確認したポイント
二つの問題点それぞれについて原因と解決策,課題を分析して,次回以降のスプリントで改善に取り組んだ結果,それらの問題点を解決できた。
出典:令和2年度秋期 問8
設問1 表1及び表2中の a に入れる適切な字句を答えよ。また,表1中の b に入れる最も適切な字句を解答群の中から選び,記号で答えよ。
bに関する解答群
- 具体的
- 自律的
- 組織的
- 段階的
解答・解説
解答例
a:プロダクトオーナ b:イ
解説
設問2 〔開発プロセスの検討〕について,(1),(2)に答えよ。
(1)表2中の下線①を行う際のメンバの割当て例として最も適切なものを解答群の中から選び,記号で答えよ。
解答群
- M4がドライバ,M5がナビゲータを担う。
- M4がドライバ,M6がナビゲータを担う。
- M4がナビゲータ,M6がドライバを担う。
- M4とM5がドライバとナビゲータを交代で担う。
- M4とM6がドライバとナビゲータを交代で担う。
解答・解説
解答例
オ
解説
(2)本文中の c , d には,表2中の小分類のいずれかが入る。(1)〜(7)から選び,その番号で答えよ。また,本文中の e に入れる適切な字句を解答群の中から選び,記号で答えよ。
eに関する解答群
- 開発チームが現在1スプリントで開発できるタスク量を測定する
- 開発チームがこれまでのスプリントで完了させたストーリポイントを測定する
- 各プロジェクトメンバのアジャイルスキル習得度合いを測定する
- 各プロジェクトメンバの生産性を測定する
解答・解説
解答例
c:(4) d:(7) e:ア
解説
設問3 〔レトロスペクティブの実施〕について,(1),(2)に答えよ。
(1)本文中の下線②の問題点の原因と解決策を,それぞれ25字以内で述べよ。
解答・解説
解答例
原因:問題の解決方法まで議論してしまった点
解決策:問題解決のための会議体を別途設ける。
解説
(2)本文中の下線③にある,スプリント内におけるスプリントバックログ管理上の課題について,35字以内で述べよ。
解答・解説
解答例
スプリント期間中に外部からの変更要求を受け入れてしまった点
解説
IPA公開情報
出題趣旨
昨今,新しいサービスを創出するために,仮説検証型のソフトウェア開発モデルであるアジャイルソフトウ ェア開発手法を採用するプロジェクトが増えつつある。
本問では,アジャイルソフトウェア開発手法の導入を題材に,開発手法の一つであるスクラムに関する基本 的な理解や考え方について問う。
採点講評
問 8 では,アジャイルソフトウェア開発手法の導入を題材に,開発手法の一つであるスクラムについて出題 した。全体として正答率はやや低かった。
設問 1 の a は,正答率が低かった。スクラムにおいて主要な役割であるプロダクトオーナやスクラムマス タ,開発チームについて,その名称だけではなく果たすべき役割についても,その特徴をよく理解しておいて ほしい。
設問 3(1)では,“原因”は正答率が平均的であったが,“解決策”は正答率がやや低かった。デイリースクラ ムの目的や運用ルールについて,十分に理解しておいてほしい。
設問 3(2)は,正答率が低かった。ウォータフォールモデルを意識したプロジェクト管理上の課題を指摘する 解答が散見された。アジャイル開発が求める価値や開発プロセスについて,ウォータフォールモデルとの違い を意識しながら,是非理解しておいてほしい。