Experience has taught us that creating an architecture for a system with a big design up-front is a bad idea as, usually, we don't have all the necessary information to design the system at the very start. Even in moderate-sized systems, requirements tend to change significantly, often making the initial design unfit for purpose.
On the other hand, no up-front design can be just as bad. The code tends to become unmaintainable pretty quickly, and system qualities like performances, scalability, security, latency, etc. can be very difficult or impossible to retrofit.
In this talk Giovanni shows a different way to create a software architecture with just the right amount of design, which can be evolved (or changed) incrementally as the system grows and changes - by taking care of some important qualities of the system early in the design, and delaying the design of other aspects to the last responsible moment.
YOU MAY ALSO LIKE:
Creating An Incremental Architecture For Your System
Giovanni is an independent consultant specialised in helping companies and teams to become more effective at producing and delivering high quality software.