From the course: Software Architecture Foundations

Unlock the full course today

Join today to access over 22,500 courses taught by industry experts or purchase this course individually.

Incremental vs. big up-front design

Incremental vs. big up-front design

From the course: Software Architecture Foundations

Start my 1-month free trial

Incremental vs. big up-front design

- Agile ways of working had made for another big change in architectural thinking. And that has to do with design work. Back in the bad old days, people had the notion that making changes to existing software was very expensive. Which was, given the architecture of those systems. So everybody thought that they had to get everything right the first time. They spent months, years sometimes, coming up with a perfect design that they did implement. As we saw earlier with the IBM in the FAA system, that strategy doesn't work out very well. These systems almost always fail in a critical way. The requirements change while the work is in progress, so the system you deliver, often doesn't do anything useful. Building the wrong thing on time and in budget benefits nobody. The agile solution is to build the system one piece at a time, without having a fully constructed architecture in place. In other words, instead of a big upfront design, a BUFD, an agile shot designs and builds one small story…

Contents