開発技術

基本情報技術者試験開発プロセス手法」の問題

マネジメント系開発技術難易度:normal
アジャイル開発で重視される『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は『今要らないものを今作らない』という未来予測の抑制に焦点がある。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0100

【基本情報技術者試験】開発プロセス手法の問題 — 解答・解説|ukamiru 過去問