Refine
Document Type
- Doctoral thesis (1)
- Report (1)
Has Fulltext
- yes (2) (remove)
Is part of the Bibliography
- no (2) (remove)
Language
- English (2)
Keywords
- Scrum <Vorgehensmodell> (2) (remove)
Institute
- FG Praktische Informatik / Softwaresystemtechnik (2) (remove)
Managing decisions in software development, especially in the agile context, is a challenging task. Often, decisions can be traced back through actions taken or the source code. However, the "Why?" behind these decisions is frequently unclear. The absence of explanations significantly complicates future development, maintenance, or further advancements. Also intriguing is the question of "Why not?" – why was an alternative solution discarded? These questions are central to software developers.
In contrast, linear models like the waterfall approach tend to over-document. Product and process documentation, along with detailed manuals, are common. However, they fail to address the dilemma of asymmetry between supply and demand. The paradigm shift towards agile methods hasn't solved this problem, possibly exacerbating it. Though the agile manifesto emphasizes communication over documentation, many developers misunderstand it, considering code the sole documentation.
This work addresses this issue within the Scrum framework, aiming to integrate the documentation of important decisions more systematically. It includes a literature review to determine what and to what extent should be documented. Additionally, it explores how this documentation can be effectively integrated into the Scrum process.
To achieve these goals, practical experiences were gathered through interviews and a comprehensive survey. Industry-experienced software developers and several hundred students participated in case studies. The resulting data complement existing research and help identify ways to structure documentation, processing, and reuse decision knowledge in Scrum.
Based on these insights, an extension of the Scrum framework called Custom-MADE Scrum was derived. It features an adaptive and flexible approach to documenting decisions and their rationale. It also defines clear responsibilities and provides process modules for the structured integration of decision documentation. This extension can be integrated into both existing and new projects. In addition to the extension, a tool called Custom-MADE Editor was developed. It aims to leverage automation to streamline documentation within Custom-MADE Scrum, making the process as efficient as possible.
Overall, the author presents a flexible approach to systematically integrate decision documentation into the Scrum framework. The results are based on various empirical works.
The Agile Manifesto titled “Working software over comprehensive documentation”. Although the stated principle makes an important point, it should not follow that documentation becomes obsolete. On the contrary, agile software development (ASD) is based on frequent decisions focused on customer benefits. Those decisions guide further development, subsequent maintenance, and software evolution and are made during every stage of the software development cycle. Thus, documenting the most important ones is an important foundation fostering product comprehension, software quality, and customer benefit. Besides, preserving decision knowledge supports refactoring and, thus, diminishing software erosion.
However, all these beneficial properties are opposed by a dismissive attitude among software developers. Documentation is very unpopular among software developers, especially in the ASD community. A common interpretation of the agile manifesto at this point is that good and functional code can fully replace documentation. Among other reasons, this attitude is the reason for the sparse application of structured and systematic documentation of decisions and their rationale.
To shed more light on imponderables, developer’s desires regarding decision documentation, and assess the outlined perception of a lack of decision documentation, this paper reports a survey on decision documentation in Scrum among industry practitioners. The author assesses to what extent the above claims hold by asking industry practitioners about their perceptions and applied practices regarding decision documentation in Scrum. Therefore, the author conducted a large-scale survey in the German and English speaking Scrum community. A few more than 100 software developers were asked what they document, how they document and how they use/share produced documentation.
The findings of this report reveal that there is a wide range of opinions in the agile community. The responses show that a developer’s experience significantly impacts the documentation frequency and the interest in the available documentation. Similarly, the role in which software developers have operated in Scrum plays a significant role in the frequency of documentation and the timing when developers document.