Understanding the software architecture of what you're building can prevent chaos and encourage collective code ownership. In the race for agility though, many teams struggle to do this, particularly since they've abandoned UML in favour of "boxes and lines" sketches. Moving fast requires good communication, but how do you do this without resorting to big design up front and UML?
Raul Rugiero proposes an enhancement to the UML notation whereby requirements and test cases, in particular acceptance tests, are strictly related. Agile methodologies highlight this aspect basing themselves on test driven approaches. The notation of UML use cases may be enhanced in order to allow enhanced UML tools to properly handle links between use cases and tests.
Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
Nick Rozanski and Eoin Woods have continued their journey of building a comprehensive handbook on Systems Software architecture with the publication of the second edition of Software Systems Architecture. InfoQ spoke to the authors on a couple of new topics, the System Context viewpoint and Agile, that are covered in the latest edition.