Options
2017
Conference Paper
Title
A method for documenting agile software projects
Abstract
Agile methods play a major role in software development. Such methods as Scrum or XP rely heavily on managing tacit knowledge through direct communication. The success of this approach has virtually eliminated documentation in agile projects. This can potentially result in a loss of experience when developers leave a team or even an organization. Documentation and agile methods are not necessarily antithetical. A number of studies address documentation in agile projects but fail to provide any holistic methods. Taking our empirical study of German software companies as our point of departure, we derived a set of requirements for our method and toolset. We used these requirements to develop an integrated concept for documentation in agile software projects. The method we developed enables developers to document their findings, software architecture and requirements in conformance to agile values. Since agile methods have often been criticized for only being appropriate f or small projects, we designed our method to be scalable. A morphology based on characteristics of a project is used to select the optimal level of documentation. Our method addresses the following questions: Why document the project? Who is the target audience? What is the content? What documents will be produced? How much has to be written? Whence does the information come? What form does documentation take? Who is responsible for documentation? When should information be documented? We integrated our method in a structured wiki to facilitate documentation and information searches. This paper presents the central concept of our agile documentation method in detail. Our findings indicate that the method enables software developers to externalize their knowledge in a structured manner and provides guidance within documentation.