Ademar Aguiar was an early adopter of agile back in 2000 with XP, and since then has been training others to fine-tune agile development processes to their specific needs, both in academy and industry. Ademar started the Agile Portugal line of conferences and related events to develop the agile community in Portugal. As a member of the ScrumPLoP group, he is helping to identify and document the best practices of Scrum, to uncover the “why’s” and “how’s” of successfully adopting and implementing Scrum in an organisation. Ademar is a pragmatic software engineer, doing training on software engineering, agile methods, and software design at Faculty of Engineering of University of Porto, doing research at INESCTEC, and was also co-founder of a few tech startups. He serves as a board member of Hillside Group, and was a former WikiSym steering committee member.
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.