Title
Causes of premature aging during software development: an observational study
Abstract
Much work has been done on the subject of what happens to software architecture during maintenance activities. There seems to be a consensus that it degrades during the evolution of the software. More recent work shows that this degradation occurs even during development activities: design decisions are either adjusted or forgotten. Some studies have looked into the causes of this degradation, but these have mostly done so at a very high level. This study examines three projects at code level. Three architectural pre-implementation designs are compared with their post-implementation design counterparts, with special attention paid to the causes of the changes. We found many negative changes causing anti-patterns, at the package, class, and method levels. After analysis of the code, we were able to find the specific reasons for the poor design decisions. Although the underlying causes are varied, they can be grouped into three basic categories: knowledge problems, artifact problems, and management problems. This categorization shows that anti-pattern causes are varied and are not all due to the developers. The main conclusion is that promoting awareness of anti-patterns to developers is insufficient to prevent them since some of the causes escape their grasp.
Year
DOI
Venue
2011
10.1145/2024445.2024458
EVOL/IWPSE
Keywords
Field
DocType
method level,categorization shows,post-implementation design counterpart,poor design decision,software development,recent work,premature aging,observational study,software architecture,high level,design decision,architectural pre-implementation design,code level,software aging
Categorization,Observational study,GRASP,Systems engineering,Computer science,Software,Software aging,Software architecture,Software development,Premature aging
Conference
Citations 
PageRank 
References 
2
0.39
8
Authors
2
Name
Order
Citations
PageRank
Mathieu Lavallée1435.94
Pierre N Robillard256865.22