A popular cause the Agile folks like to rally against is the idea of a Big Design Up Front (BDUF). But much like Waterfall, the people doing BDUF will hardly admit that it’s BDUF that they’re doing. Instead, you’re much more likely to get a bevy of really convincing cautionary tales of what might happen if you don’t do a certain design. With enough experience under their belt, the architect slips into a “Just-In-Case” design mode, where the myriad of pain points encountered in the past leave a design that’s hardened against every possible difficulty that might come up. Instead of a well architected design, you’ll have one that’s over-abstracted, over-engineered, over-complicated and very difficult for the next developer to come on board and understand. But there’s an alternative approach. The better choice instead of BDUF is a collection of design and architecture techniques that both delay decisions until they’re absolutely necessary, and refactoring practices to evolve our design when assumptions are proved incorrect. Technique #1: YAGNI YAGNI stands for “ You Aren’t Gonna Need It ”. It’s a generally philosophy of waiting until code actually needs to be written before writing it. Instead
Read More...
Read the complete post at http://feedproxy.google.com/~r/LosTechies/~3/2g_hN_jTAGc/evolutionary-architecture.aspx
Posted
Fri, Jan 29 2010 1:47 AM
by
DDD Feeds