Documenting for Program Comprehension in Agile Software Development

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 agi...

Full description

Bibliographic Details
Main Author: Kiss, Fabian
Format: Others
Language:English
Published: Högskolan i Borås, Institutionen Handels- och IT-högskolan 2011
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:hb:diva-20393
id ndltd-UPSALLA1-oai-DiVA.org-hb-20393
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-hb-203932019-05-01T05:16:45ZDocumenting for Program Comprehension in Agile Software DevelopmentengKiss, FabianHögskolan i Borås, Institutionen Handels- och IT-högskolanUniversity of Borås/School of Business and Informatics2011software documentationsource code documentationprogram comprehensionprogram understandingagile software developmentEngineering and TechnologyTeknik och teknologierProgram 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 informatikStudent thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:hb:diva-20393Local 2320/7977Magisteruppsats, ; 2010MI11application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic software documentation
source code documentation
program comprehension
program understanding
agile software development
Engineering and Technology
Teknik och teknologier
spellingShingle software documentation
source code documentation
program comprehension
program understanding
agile software development
Engineering and Technology
Teknik och teknologier
Kiss, Fabian
Documenting for Program Comprehension in Agile Software Development
description 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
author Kiss, Fabian
author_facet Kiss, Fabian
author_sort Kiss, Fabian
title Documenting for Program Comprehension in Agile Software Development
title_short Documenting for Program Comprehension in Agile Software Development
title_full Documenting for Program Comprehension in Agile Software Development
title_fullStr Documenting for Program Comprehension in Agile Software Development
title_full_unstemmed Documenting for Program Comprehension in Agile Software Development
title_sort documenting for program comprehension in agile software development
publisher Högskolan i Borås, Institutionen Handels- och IT-högskolan
publishDate 2011
url http://urn.kb.se/resolve?urn=urn:nbn:se:hb:diva-20393
work_keys_str_mv AT kissfabian documentingforprogramcomprehensioninagilesoftwaredevelopment
_version_ 1719023935535710208