Be the first to like this
Agile processes often consider “to document” as a very expensive activity, which is often true, indeed, and also unnecessary, which is not always true, however.
To better communicate and preserve all the knowledge about a software system, agile processes suggest practices such as simple design, pair programming, and collective code ownership, to name only a few.
While the extreme practice of “not document” can lead to success in many cases, this is not always true for complex software products, where there is a lot of global knowledge and system understanding that is impossible to capture internally in source code.
In this presentation, we will outline a set of practices, patterns, and tools to support an agile way of minimally documenting the global understanding of complex software systems, from source code to high level design and how to (re)use.