A Component-Based Approach to Software Architecture

When we’re starting a software project, we never know all the requirements that the users will throw at us once they are actually using the software. A software project is always associated with taking chances and making educated guesses (we like to call them “assumptions” to make it sound more professional). The environment of a software project is just too volatile to know in advance how everything will play out. This volatility is why the Agile movement was born. Agile practices make organizations flexible enough to adapt to change.

But how can we create a software architecture that can cope with such an agile environment? If everything can change at any time, should we even bother

Get Get Your Hands Dirty on Clean Architecture - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.