Build fluency in the vocabulary of not building functionality until it's actually needed.
0 / 5 completed
1 / 5
At standup, a dev mentions deliberately not building a configurable plugin system for a feature that only ever needs one fixed behavior today, on the reasoning that the flexibility isn't needed yet and can be added later if it ever actually is. What principle is this called?
YAGNI, short for "You Aren't Gonna Need It," is exactly this: it is the principle of not building functionality, like a configurable plugin system, until it's actually needed, rather than speculatively building it now for a hypothetical future need that may never materialize. A hash collision is an unrelated hash-table concept about two keys sharing a bucket. This dont-build-it-until-its-needed approach is exactly why YAGNI keeps a codebase simpler by avoiding speculative complexity that may turn out to be wasted effort.
2 / 5
During a design review, the team applies YAGNI and ships a feature with one fixed, simple behavior instead of a configurable plugin system for hypothetical future variations, specifically because no current requirement actually needs that flexibility yet. Which capability does this provide?
Applying YAGNI here provides a simpler codebase without speculative complexity, since the fixed, simple behavior handles today's actual requirement, instead of carrying the ongoing cost of a configurable plugin system built for variations that may never be needed. Building the configurable plugin system now adds real, ongoing maintenance cost for flexibility that may never actually be exercised. This dont-pay-for-flexibility-you-dont-need-yet behavior is exactly why YAGNI is applied to avoid speculative complexity.
3 / 5
In a code review, a dev notices a feature has been built with a fully configurable plugin system supporting a dozen hypothetical variations, none of which any current requirement actually calls for, adding significant complexity for flexibility nobody has asked for yet. What does this represent?
This is a missed opportunity to apply YAGNI, since building only the one behavior actually required today would avoid the ongoing complexity of a plugin system built for variations nobody has asked for yet. A cache eviction policy is an unrelated concept about discarded cache entries. This build-for-hypothetical-future-needs pattern is exactly the kind of speculative complexity a reviewer flags once no current requirement actually calls for it.
4 / 5
An incident report shows a bug shipped inside one of eleven speculative plugin-system variations that no current requirement had ever actually used, because the variation's untested code path was reachable through configuration nobody needed yet but that still had to be maintained and could still be triggered. What practice would prevent this?
Applying YAGNI and building only the one behavior actually required today means there are no untested speculative variations sitting in production code that could still be triggered and break. Continuing to build speculative plugin-system variations for hypothetical future needs regardless of how many of them go untested and unused while still shipping in production is exactly what caused the bug described in this incident. This build-only-whats-needed approach is the standard fix once speculative code is confirmed to carry real, unaddressed risk.
5 / 5
During a PR review, a teammate asks why the team applies YAGNI and builds only today's fixed behavior instead of building the flexible plugin system now, reasoning that it will probably be needed eventually anyway so it might as well be built once. What is the reasoning?
Applying YAGNI defers the real cost of building and maintaining flexibility until a concrete need actually exists, avoiding wasted effort if that hypothetical need never materializes or turns out different from what was guessed, while building the flexible system now commits real effort and ongoing maintenance to a guess about a future requirement that may never arrive in the form anticipated. This is exactly why YAGNI is the standard guidance against building speculative flexibility ahead of an actual, confirmed need.
What does the "YAGNI Vocabulary" vocabulary exercise cover?
This exercise tests real IT vocabulary related to yagni vocabulary through 5 multiple-choice questions, each built from realistic workplace sentences rather than abstract definitions.
Is this vocabulary exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is completely free — no account, sign-up, or payment required.
How many questions does this exercise have?
This exercise has 5 questions. Each one shows a real-world sentence or scenario with multiple-choice options and an explanation once you answer.
What happens after I answer a question?
You'll see immediate feedback showing whether your answer was correct, along with a short explanation of why — then a button to move to the next question, and a full results screen at the end.
Can I retry the exercise if I get questions wrong?
Yes. Once you reach the results screen, click "Try again" to reset your answers and go through the exercise from the start as many times as you like.
Do I need to create an account to take this exercise?
No account is needed. Your answers are scored in your browser during the session — nothing is saved to a server, so you can jump straight in.
Is my progress saved if I leave the page?
No — progress within an exercise resets if you navigate away or reload. Each exercise is short enough to complete in a few minutes in one sitting.
Are these vocabulary exercises connected to other topics?
Yes — browse the full vocabulary exercises hub to find related modules covering adjacent IT topics and roles.
How is this different from reading a glossary or blog article?
Exercises like this one are active recall drills — you have to choose the correct term or phrasing yourself, which builds retention faster than passively reading a definition.
Where can I find more vocabulary exercises?
Browse the full Vocabulary exercises hub for hundreds of modules covering Agile, DevOps, security, databases, architecture, and more — organised by IT role and skill.