The Software Engineering Institute gave us CMMI, but they haven’t stopped “helping” the software industry. Their report on “Documenting Software Architectures in an Agile World“(PDF alert) tries to define the difference between Agile-prone and Architecture-prone software projects.
They tell us that agile requires you not to document architecture (I did not know that…), and later in the same paper they tell us that, after all agile does use documentation, just not the superfluous kind of documentation, which incidentally they agree with.
They go on to tell us that Architecture documents should be a “primary vehicle for communication between stake-holders” (I’m assuming here that they include projects that they dim “agile-prone” also).
In chapter 4 they state that Agile discounts the use of Architecture documents for: 1. Education of new team members, 2. communication between stake-holders and 3. as a base for system analysis. After reading this I was thinking to myself: What have I missed in all the books and posts I’ve read and conferences and talks I’ve attended? I must have been asleep when someone said that if you do Agile you are forbidden to document the architecture of your system… Somebody tell Scott Ambler to stop calling himself agile, please! He’s been discussing the Architecture issue for so long!
SEI’s article (from 2003, maybe that explains it) is at least inaccurate in what comes to represent Agile approach to architecture document, the authors seem to have absolutely no experience on Agile. Don’t they have peer-reviews for these papers?
It is unfortunate what passes for credible “science” in the SEI these days.