Agile Software Architecture and NoUML

In this article, Simon Brown discusses the impact of the Agile approaches on the conception and representation of software architectures. The main point of the article is that software developers seems to have abandoned the Unified Modeling Language (UML) or just haven’t learned it. The question is then: how would you represent the software architecture?

The answer is that most people invent their own way to draw software architecture. This is what Simon Brown call NoUML. The NoUML software architecture sketches faces many issues:
* Unexplained definition of diagram elements like the styles of boxes and lines.
* Missing or ambiguous relationships between diagram elements.
* Omission of technology choices (or options).
* Mixing different levels of abstraction.

The article propose to create a hierarchy of software architecture diagrams based on the object oriented concepts: systems, containers, components and classes. Simon Brown wrote “This simple sketching approach works for me and many of the software teams that I work with, but it’s about about providing some organizational ideas and guidelines rather than creating a prescriptive standard. The goal here is to help teams communicate their software designs in an effective and efficient way rather than creating another comprehensive modeling notation.”

Read the complete article on