スタディルーム by rolerole

情報処理試験対策やIT業界への愚見・書評

システムアーキテクト アジャイル開発の要件定義【過去問論文分析】(令和3年春問1)


本記事ではシステムアーキテクトの午後II(論文)対策として、

令和3年問1で出題された過去問を分析します。

実際に論文を書く上での考え方を整理し

論文骨子を設計するところまでやっていきます。

 

問題(令和3年問1)

過去問は試験センターから引用しています。

表題:『アジャイル開発における要件定義の進め方について』

 


設問文は以下の通り。

問われている箇所を分析する

問題文が配られたら初めに問われている箇所を分析します。

 

始めに各設問が何を問うているかを把握します。

設問ア・イ・ウと問題文の文章を対照させるイメージで

問題文と設問文に書き込みを行います。

本記事では黒線で書き込みを行っています。

 

設問イに「どのようなUSをどのように分類し」という

文がありますが、本問題ではアジャイル開発におけるUS

問題文の全文を貫くテーマになっていることに気付くと思います。

 

設問イを中心に設問アと設問ウが何を問われているか考えると、

設問アはアジャイル開発を選択した背景、

設問ウはUSの優先順位のつけ方が問われています。

 

設問イと設問ウの違いに迷われる方もいるかもしれません。

これらはどちらもUSについて論じなければならず、

切れ目は注意が必要です。

問題文を慎重に切り分けると、設問イは

  • USを期間内で完了できる大きさに調整する
  • そのために分類して規模や操作難易度を明確化する
    • 抜け漏れには追加する
    • 大きすぎる・難し過ぎる場合には分割する
    • 小さすぎる・簡単すぎる場合には統合する

といった活動が書かれておりUSの分類と調整が問われています。

一方設問ウは

  • 優先順位をつけ今回のスプリントの開発対象USを決定する
  • 優先順位には"誰が"の価値に注目する

といった活動が書かれておりUSの優先順位付けと決定が問われています。

 

まとめると問われていることは次の通りです。

 

設問ア

 対象の業務と情報システムの概要

 アジャイル開発を選択した理由

設問イ

 USの分類と調整

  USの抜け漏れ、分割・統合

設問ウ

 USの優先順位

 

また設問ウにも書かれている通り「具体的なUSの例」を

交えて論述しなければなりません。

設問文では書かれていませんが、設問イについても具体的なUSについて

盛り込みながら論述するのがよいでしょう。

※具体的なUSに触れずに設問イは論述できないと考えた方がいいでしょう

 

出題要旨と採点講評からの分析

試験センターから公表されている出題要旨と採点講評を確認して

出題の意図と論述のNG例を把握します。

 

出題要旨

採点講評

出題要旨から読み取れる意図は

アジャイル開発におけるUSの規模や難易度のの調整と優先順位の決定」

とあり、設問におけるイとウがメインであると考えられます。

採点講評からも同様な記述があります。

一方採点講評からは次のNG論述例が書かれています。

ここを読めば、

  • 一般的な要件定義ではない踏み込んだUSの具体性
  • USの価値
  • 規模・難易度の説明だけでなく調整とその結果

が求められていることが分かります。

 

採点講評からもUSは具体的な例をもって論述する必要があると

読み取れます。

 

論文を設計する

問われていることの概略を把握したら

自身の経験や用意してきた論文パーツに当てはめて

どのように論述を展開するかを設計します。

 

本記事では上記の筆者の論文事例マップを基に

論文の設計を行います。

論文事例マップ自体の説明は本記事では割愛します。

 

設問アの設計

 

はじめに設問アを論述するために

アジャイル開発」に適した事例を選択しましょう。

  • 断続的なリリースが必要な状況
  • 圧倒的なニーズ・認知があるため都度改善が求められる状況

などが考えられると思います。

 

私の場合はスーパーマーケットのECサイトの事例が

断続的なリリースが図られているケースだったので

選択をしました。

 

設問イの設計

まずは具体的なUSを交える必要があることを念頭に置きます。

設問イにおいてはUSを分類・整理するために

USに至らない段階の要望や要求から論述するのが効果的です。

 

USに至らない段階の要望や要求を列挙して、

ここから題意に沿って分類を行い、

追加・分割・統合などの調整を経てUSとした、

という論述シナリオを考えます。

 

私の場合はECサイトの課金・請求コンポーネントを題材にしていたので

  1. 電子マネー決済
  2. ポイント決済
  3. 直近の購入履歴照会
  4. 先月の購入金額の合計表示

などを切り口にUSを分類・調整していったことを論述することとしました。

 

USの調整としては、要望段階では1.と2.がまとめて提出されたが

難易度の観点から1.と2.に分割した、ですとか、

要望段階では3.と4.がまとめて提出されたが

実装上は同時に実現できるので、3.と4.をまとめた、

などの調整が考えられます。

 

なお、USの表現の仕方には問題文に指定があるので沿う必要があります。

"誰が何のために何をするか"

 

これを踏まえて私のUSの調整経緯は次のようにしました。

 

提出された要望

 ①電子マネーやポイントを決済で利用できるようにしてほしい
 ②直近で購入した商品・金額を確認できるようにしてほしい
 ③指定した期間で購入した金額の合計を確認できるようにしてほしい

US の分類と調整の結果

 (1)利用顧客が、決済にA社の電子マネーを利用する
  要望①を切り出し1つのUSとした。
 (2)利用顧客が、決済にポイントを利用する
  要望①を切り出し1つのUSとした。
 (3)利用顧客が、自身の購入履歴を確認する
  要望②と③を統合し1つのUSとした。

 

ここで注意すべき点は

システムアーキテクトスクラムマスタ)として

なぜそのようにしたかの観点を盛り込む必要があることです。

 

たとえばUSを分割した理由は「規模が大きかったから」

USを統合した理由は「同じ機能の実現により達成できるから」

といったことが考えられます。

 

システムアーキテクトとしてどのように活動し調整したかという点が

論述出題自体のテーマといっていいので、

必ず盛り込むようにしましょう。

 

設問ウの設計

設問イで調整したUSをもとに優先順位を理由とともに設定します。

設問文にも指定されている通り「どのような価値に着目したか」も

論述する必要があります。

これについては問題文に

「"誰が"にとって価値が高いかに着目するのが一般的」と

記載があるので基本的にはシステムの使い手(利用者・顧客)に

とっての価値に着目していることが触れられればよいでしょう。

 

優先順位は設問イで触れたUSを順位付けしなぜその順位としたか

合わせて論述すればよいでしょう。

 

問題文にはプロダクトオーナーとの会話や調整・合意を踏まえて

決定していく必要性が書かれているので、

USを順位付けした根拠にプロダクトオーナーから仕入れた知識を

前提とする文脈としてもよいと思います。

ただステークホルダからの要望を鵜呑みにする姿勢は

システムアーキテクトとしては良くないの

主体的に取捨選択することが必要です。

 

なおアジャイル開発用語でもあるプロダクトオーナーと

スクラムマスタの関係性については以下の

IPAが解説している資料も参考にしてください。

アジャイル開発の進め方.pdf (ipa.go.jp)

 

私の場合は以下の優先順位と理由付けとしました。

 

 1位 (2)利用顧客が、決済にポイントを利用する
  利用顧客にとっての価値が最も高い。すでにスマホアプリでの実績があり、
  売上向上金額の試算も高かったため。
 2位 (1)利用顧客が、決済にA社の電子マネーを利用する
  利用顧客にとっての価値が次に高い。
  ステークホルダのヒアリング状況では要望が最も多いが、
  ECサイトの利用顧客のA社電子マネーの利用具合が未知数のため
 3位 (3)利用顧客が、自身の購入履歴を確認する
  利用顧客にとっての価値が最も低い。
  カスタマサポートによる開示という代替手段が用意されているため

 

論文骨子

以上を踏まえ、論文骨子は次のようになりました。

1. 私の携わったアジャイル開発について
 1-1. 対象の業務と情報システムの概要
  スーパーマーケットのECサイト。課金・請求サブシステムの改修。
  利用顧客への請求明細の表示、決済、入金確認業務。
 1-2. アジャイル開発を選択した理由
  異業種からの参入も激化しており、価値の転換が図られている業界であるため
2. スクラムにおける要件の分析と進め方
 2-1. 提出された要望
  スプリント期間は3週間、6人の開発チーム。
  ①電子マネーやポイントを決済で利用できるようにしてほしい
  ②直近で購入した商品・金額を確認できるようにしてほしい
  ③指定した期間で購入した金額の合計を確認できるようにしてほしい
 2-2. USの分類と調整
  顧客満足度との相関が高いことが分かっている、
  操作頻度をもとに要件を分類した。
  プロダクトオーナーと共同で、スプリント期間に納まるようにUSを調整した。
  (1)利用顧客が、決済にA社の電子マネーを利用する
   要望①を切り出し1つのUSとした。要望①は規模が大きく曖昧であるため。
   A社との業務提携、会社間契約は済んでおりスプリント期間での開発は可能。
   曖昧部分はプロダクトオーナー経由で
   次回期間までにステークホルダにヒアリング。
  (2)利用顧客が、決済にポイントを利用する
   要望①を切り出し1つのUSとした。分割理由は前項と同様。
   すでにポイントカード機能をもったスマホアプリがリリースされており、
   POS経由で決済する機能があることから、スプリント期間での開発が可能。
  (3)利用顧客が、自身の購入履歴を確認する
   要望②と③を統合し1つのUSとした。いずれの要望も期間を指定して
   表形式で表示すれば達成できると判断した。
3. USの優先順位の設定
 3-1. 基本方針
  整理したUSをプロダクトバックログとしてまとめた。
  着目した価値は利用顧客にとっての価値。定量評価のため、実装した場合に
  見込まれる売上向上金額も合わせ一覧化。
 3-2. 設定した優先順位
  前章で整理したUSの中における優先順位は次の通り。
  1位 (2)利用顧客が、決済にポイントを利用する
   利用顧客にとっての価値が最も高い。すでにスマホアプリでの実績があり、
   売上向上金額の試算も高かったため。
  2位 (1)利用顧客が、決済にA社の電子マネーを利用する
   利用顧客にとっての価値が次に高い。
   ステークホルダのヒアリング状況では要望が最も多いが、
   ECサイトの利用顧客のA社電子マネーの利用具合が未知数のため
  3位 (3)利用顧客が、自身の購入履歴を確認する
   利用顧客にとっての価値が最も低い。
   カスタマサポートによる開示という代替手段が
   用意されているため

 

論文全文について

ここまででも十分考え方はお伝え出来たかと思いますが、

論文全文を参考にされたい方は有料とはなりますが

以下記事の末尾をご参照ください。

note.com

 

まとめ

いかがでしたでしょうか?

本記事ではシステムアーキテクトの午後II(論文)対策として、

令和3年問1で出題された過去問を分析しました。

徐々にアジャイル開発をテーマとする出題が増えている中、

参考になったら幸いです。

今後も、よろしくお願いいたします。