Treffer: Documenting for Program Comprehension in Agile Software Development

Title:
Documenting for Program Comprehension in Agile Software Development
Authors:
Publisher Information:
Högskolan i Borås, Institutionen Handels- och IT-högskolan
University of Borås/School of Business and Informatics
Publication Year:
2011
Collection:
University of Borås (DiVA)
Document Type:
Dissertation bachelor thesis
File Description:
application/pdf
Language:
English
Relation:
Magisteruppsats; 2010MI11; Local 2320/7977
Rights:
info:eu-repo/semantics/openAccess
Accession Number:
edsbas.5EA6691B
Database:
BASE

Weitere Informationen

Program comprehension, i.e. to understand from its source code what a computer programdoes, is crucial for change and maintenance in software development. In this thesis, it is lookedfor innovative documentation techniques and tools that support program comprehension, butthat are also conform to agile values and principles – commonly, documentation is consideredcritical due to the agile value “working software over comprehensive documentation.”1 First,a research framework is developed that embodies detailed requisites for such techniques andtools. Apart from its internal use for examining techniques and tools subsequently obtainedfrom a literature search, this framework is intended to be likewise employed by software practitioners.Eventually, the findings of a series of survey studies conducted in an industrial softwareorganization for the primary purpose of evaluating the obtained techniques and tools are analyzed.Three innovative techniques that meet all requisites are revealed. These are regarded bypractitioners independently from the support of program comprehension as helpful for a changeimpact analysis conducted by non-developers. Therefore, a requisite deduced from the highestpriority in agile software development – customer satisfaction – is met. It says that a techniqueor tool has to directly induce a benefit for non-developer stakeholders besides the benefits forthem which are indirectly induced by the support of program comprehension, e.g. a potentiallyimproved source code quality. Further, the technique most beneficial for developers as well asfor non-developers among the three techniques is identified, which bases on design rationales– textual information related to the source code that states the reasons why a part of the programhas been implemented in a certain way. Secondarily, the studies revealed that the researchframework is difficult to understand for practitioners due to its unstructured form. ; Program: Magisterutbildning i informatik