Yagni
Yagni, an acronym for 'You Aren't Gonna Need It', is a principle from Extreme Programming that advises against building features that are not immediately necessary. This approach contrasts with traditional software engineering practices that emphasize extensive upfront planning. By focusing on current needs and avoiding presumptive features, teams can reduce costs and improve efficiency in software development.
- ▪Yagni is a mantra used in agile software teams to avoid unnecessary features.
- ▪The principle originated from a conversation between Kent Beck and Chet Hendrickson during the C3 project.
- ▪Building presumptive features can lead to delayed value and wasted resources.
Opening excerpt (first ~120 words) tap to expand
Yagni 26 May 2015 Martin Fowler process theory project planning evolutionary design programming style Yagni originally is an acronym that stands for “You Aren't Gonna Need It”. It is a mantra from ExtremeProgramming that's often used generally in agile software teams. It's a statement that some capability we presume our software needs in the future should not be built now because “you aren't gonna need it”. Yagni is a way to refer to the XP practice of Simple Design (from the first edition of The White Book, the second edition refers to the related notion of “incremental design”). 1 Like many elements of XP, it's a sharp contrast to elements of the widely held principles of software engineering in the late 90s.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at martinfowler.com.