One of the major selling points of Scrum to developers is how much less documentation is involved. Developers worked hard to get where they are: a college degree, nights and weekends at home working through books and exercises trying to learn the latest language, and struggling through their first few projects to get something that works into production. They don’t want to come all that way just to spend most of their day in the word processor. They want to code.
Sometimes, user documentation is not a nice to have but a legal requirement or a requirement to meet a standard like the FDA. But more important, quality user documentation improves the usability of the product and enhances the credibility of the company.
During Scrum adoption, people tend to get away from tasks and activities that they don’t like in traditional projects like documentation or writing proper code comments. In this article, a ScrumMaster shares his experience with a “no documentation” approach. He learned the hard way that minimal documentation is better than no documentation in Scrum projects. The team can decide on a case-by-case basis what level of documentation for which components and code logics is needed.
Does the term “documentation” have any place in an agile environment? The goal on agile projects is to keep documentation as simple as possible, relying on roadmaps, overviews and concepts rather than enterprise-focused details. But what happens when using an agile approach on more complex projects? For example, what if the team that writes the software is different from the team that must maintain it? Or what if auditors come calling? In these instances, basic agile documentation based on user stories alone may come up short. This article provides insights into how teams can take an agile approach to documentation in more complex environments.
Upfront Modeling is fine, documents describing the intended architecture are fine, and so forth. But the architecture, and our learning about it, can improve. Speculative software architecture should be made concrete and not of concrete.