2006
DOI: 10.1590/s0104-65002006000400004
|View full text |Cite
|
Sign up to set email alerts
|

Which documentation for software maintenance?

Abstract: Software engineering has been striving for years to improve the practice of software development and maintenance. Documentation has long been prominent on the list of recommended practices to improve development and help maintenance. Recently however, agile methods started to shake this view, arguing that the goal of the game is to produce software and that documentation is only useful as long as it helps to reach this goal.On the other hand, in the re-engineering field, people wish they could re-document usef… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
15
0

Year Published

2010
2010
2021
2021

Publication Types

Select...
4
1

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(15 citation statements)
references
References 15 publications
0
15
0
Order By: Relevance
“…& in relation to the agile characteristic of iterative development: maintenance work can be organised into sprints (iterations), but the task synergy and common goal assumed in development work are usually missing in maintenance & in relation to focused work objective: maintenance sprints are subject to interruption by urgent customer demands and there are few common delivery points or integrated releases (Bennett and Rajlich 2000) & in relation to teams working closely together: maintainers predominantly work on individual tasks on many different systems and system variants (Bennett and Rajlich 2000) & in relation to close customer involvement: maintenance engineers typically work with many customers with many small change requests, they are seldom on-site, and there is often little close interaction (Bennett and Rajlich 2000) & in relation to face-to-face communication: this is not always necessary or productive in maintenance, due to the diverse nature of the tasks undertaken (Kitchenham et al 1999) & in relation to light documentation: maintainers consider documentation necessary to maintain the integrity of the evolving system, and to help with program comprehension in future maintenance work (de Souza et al 2006;Prochazka 2011) & in relation to frequent testing: comprehensive system testing is usually impractical, testing limited to immediate impacts of current fix (Junio et al 2011) & in relation to motivation through collective ownership: collective ownership may be irrelevant where maintainers are working on independent tasks in multiple codebases, motivation is difficult without common tasks and delivery points (Kitchenham et al 1999;Singer 1998) & in relation to knowledge transfer through openness: openness and information sharing may be of little value if tasks are un-related, and there is no coherent release or natural deadline (Bennett and Rajlich 2000) Table 2 summarizes the results of the literature investigation.…”
Section: Challenges For Optimising Agile Methods For Maintenancementioning
confidence: 99%
See 3 more Smart Citations
“…& in relation to the agile characteristic of iterative development: maintenance work can be organised into sprints (iterations), but the task synergy and common goal assumed in development work are usually missing in maintenance & in relation to focused work objective: maintenance sprints are subject to interruption by urgent customer demands and there are few common delivery points or integrated releases (Bennett and Rajlich 2000) & in relation to teams working closely together: maintainers predominantly work on individual tasks on many different systems and system variants (Bennett and Rajlich 2000) & in relation to close customer involvement: maintenance engineers typically work with many customers with many small change requests, they are seldom on-site, and there is often little close interaction (Bennett and Rajlich 2000) & in relation to face-to-face communication: this is not always necessary or productive in maintenance, due to the diverse nature of the tasks undertaken (Kitchenham et al 1999) & in relation to light documentation: maintainers consider documentation necessary to maintain the integrity of the evolving system, and to help with program comprehension in future maintenance work (de Souza et al 2006;Prochazka 2011) & in relation to frequent testing: comprehensive system testing is usually impractical, testing limited to immediate impacts of current fix (Junio et al 2011) & in relation to motivation through collective ownership: collective ownership may be irrelevant where maintainers are working on independent tasks in multiple codebases, motivation is difficult without common tasks and delivery points (Kitchenham et al 1999;Singer 1998) & in relation to knowledge transfer through openness: openness and information sharing may be of little value if tasks are un-related, and there is no coherent release or natural deadline (Bennett and Rajlich 2000) Table 2 summarizes the results of the literature investigation.…”
Section: Challenges For Optimising Agile Methods For Maintenancementioning
confidence: 99%
“…Maintenance, though under-researched, is by far the predominant activity in software engineering. The majority of commercial projects are built over a previously developed codebase (Svensson and Host 2005), and maintenance represents typically 90 % of the total cost of a typical software product (de Souza et al 2006). Cockburn (2006) argues that agile methods represent an evolutionary kind of development in which maintenance activities are subsumed in an iterative sequence of software deliveries, but there is no evidence that this has become common practice.…”
mentioning
confidence: 99%
See 2 more Smart Citations
“…These annotations can communicate a programmer's intent, or it can be used with other specific software engineering tools [Kellens et al, 2010]. Previous research reveals that source code comments are the primary resource used by developers to understand code [Souza et al, 2006]. In fact, many program failures and "bugs" are caused by miscommunication among developers or misinterpretations of code, often triggered by improper or lack of source code documentation [Tan et al, 2007].…”
Section: Annotations In Software Developmentmentioning
confidence: 99%