基本情報技術者試験「開発プロセス手法」の問題
アジャイル開発で重視される『YAGNI』の考え方を最もよく表しているものはどれか。
ア将来必要になるかもしれない機能まで、あらかじめ先回りして実装しておく
イ設計を文書として網羅的に作成してから実装に着手する
ウ同じ処理を複数箇所に重複して書き保守性より速度を優先する
エ今は必要のない機能を予測で作り込まず、実際に必要になった時点で実装する
正解
エ.今は必要のない機能を予測で作り込まず、実際に必要になった時点で実装する
YAGNI(You Aren't Gonna Need It)は、将来使うかもしれないという推測で機能を先回り実装すると、不要な複雑さと保守負担を生むため、本当に必要になった時点で実装すべきという原則である。設問の『予測で作り込まず必要時に実装』に正確に合致する。
?選択肢ごとの解説
ア ×将来必要になりそうな機能を先回りして作るのは、まさにYAGNIが戒める行為であり、考え方が逆である。
イ ×網羅的な文書を先に作ってから実装するのは重厚な計画駆動の進め方で、必要最小限を旨とするYAGNIの趣旨とは方向が異なる。
ウ ×同じ処理を重複して書くのはDRY原則に反する行為で、YAGNI(不要な作り込みを避ける)とは別の論点であり当てはまらない。
エ ○YAGNI(You Aren't Gonna Need It)は、将来使うかもしれないという推測で機能を先回り実装すると、不要な複雑さと保守負担を生むため、本当に必要になった時点で実装すべきという原則である。設問の『予測で作り込まず必要時に実装』に正確に合致する。
✎くわしく
YAGNIはシンプルさを保つためのアジャイルの指針で、過剰設計(オーバーエンジニアリング)を避ける。よく対で語られるDRY(重複を避ける)やKISS(単純に保つ)とは観点が異なり、YAGNIは特に『将来予測に基づく先行実装の抑制』を狙う。先行実装は仕様変更で無駄になりやすく、複雑化により変更コストを押し上げるため避ける。
✓本番での押さえどころ
試験のコツ
『将来の予測で先回りしない』『必要になってから作る』とあればYAGNIと判断する。
覚え方
YAGNI=『どうせ要らない(You Aren't Gonna Need It)』と頭文字の意味そのままで覚える。
よくある誤り
DRY原則やリファクタリングと混同しやすい。YAGNIは『今要らないものを今作らない』という未来予測の抑制に焦点がある。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0100