Many people consider that software architecture is a burden for agile software development and that a “good” design will naturally emerge as code is produced during each Scrum sprint. This however rarely the case and as in many other activities, you have to find the right balance between doing enough but not too much software architecture. In the article, “A Risk-Driven Model for Agile Software Architecture“, George Fairbanks, the author of the book “Just Enough Software Architecture – A Risk-Driven Approach“, explains how to achieve this balance.
The main rule is that the effort you spend on designing your software architecture should be commensurate with the risks faced by your software development project. The article examines how risk reduction is central to all engineering disciplines. It explains how to choose techniques to reduce risks and show how you can balance planned design with evolutionary design during agile software development projects.