Have something to share about engineering practices, architecture or DevOps?
Become a speaker now
Giovanni Asproni

Giovanni Asproni

Director at Asprotunity Ltd, UK

Giovanni has worked in many roles in several application domains. Nowadays, he provides consulting, training, and advice, as well as coding, to projects of all sizes: from small ones carried out by co-located teams up to projects involving hundreds of developers split into geographically distributed teams.

He is a past Chair of the London XPDay and the ACCU conferences, and the Industry & Practice co-chair for XP2016. He is a member of the Agile Alliance, the ACM, the IEEE Computer Society, and a contributor to the “97 Things Every Programmer Should Know” book published by O’Reilly.

Speaker's activity

Creating An Incremental Architecture For Your System: What, Why and How

November 12th




Experience taught us that creating an architecture for a system with a big design upfront 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 upfront 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, if not impossible, to retrofit.

In this talk I’ll show a different way to create a software architecture with just the right amount of design that can be incrementally evolved (or changed) 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.