Now that Agile methods have become mainstream in software development, working code is considered the most important team artifact. There is still a need for modeling. Kenji Hiranabe explores the spaces where modeling fits and plays an important role in this Agile age. With focus on development scaling to multiple teams where a shared understanding of the system’s “Big Picture” becomes essential.
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.
Gathering feedback early and often is the key to success on most development projects. Wireframing is a great technique for gathering feedback and guiding a team before any code has been written. 9
Creating models in a form or another is very common, their combination with the code has been challenging. The article describes proven practices for working with both models and code. 3
Modeling failure during architecture phase to ensure availability in production
This article walks you through building an application with Ember.js, showing the MVC system, data binding, as well as how to build GUI and Touch support. 9
Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition. 3
Agile Modeling adheres to and aligns with Agile values and principles and should be one of the practices within your Agile toolkit. 4
InfoQ spoke with Lee and Celso about the Patterns-Based Engineering: Successfully Delivering Solutions via Patterns book, discussing patterns for working with patterns, MDD and the promise of reuse.
Text-based DSLs are useful, an custom editor for the DSL is even better. Concrete allows to build customized editors for JSON-based DSLs/Models. InfoQ talked to Concrete's creator Martin Thiede.
Just Enough Software Architecture book, by author George Fairbanks, focuses on a risk-driven approach to software architecture development. InfoQ spoke with George about the book and his thesis. 6