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:
- Design for Testability: What, Why and How (SkillsCast recorded in July 2014)
- Software Architecture for Developers Workshop with Robert Smallshire (in London on 9th - 10th September 2019)
- Functional Concurrency in .NET with C# and F# (in London on 9th - 10th September 2019)
- Infiniteconf 2019 - A one-day community celebration of Big Data, Machine Learning and AI (in London on 4th July 2019)
- Keynote Evening with Russ Miles (in London on 1st July 2019)
- Applying Chaos Engineering to build Resilient Serverless Applications (in London on 9th July 2019)
- Securing microservices in a serverless world (SkillsCast recorded in June 2019)
- Solving 5 typical Issues in API development with Domain Driven Design (SkillsCast recorded in June 2019)
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.