2004 · 27 citations · 11 references
ComputingComputer ScienceComputer SystemsOperating SystemsRequirements EngineeringSoftware EngineeringSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware EvolutionSoftware Quality AssuranceBottom-up InnovationEvolvabilitySoftware Development Life CycleSoftware Development LifecycleSoftware Development Methodology
The decision on whether to proceed top-down or bottomup during software development has a strong and underestimated impact on the quality of the final product including its later evolvability. Various examples for both strategies taken from such different domains as operating systems and computer games provide evidence that bottom-up developed systems are more suitable for future evolution. The reasons for this range from the increased compositionality of bottom-up developed artefacts at the technical level up to a greater independence from certain requirements which constitute the most transient part of a software system. Besides those advantages concerning evolvability, the negative effects of bottom-up orientation can not be ignored. Furthermore, proceeding bottom-up contradicts most conventional development processes. We regard this as a clear indication for the need of new development processes to improve the construction of evolvable software. 1. Processes Influence Evolvability
11
Manifesto for agile software development
K. Beck, Mike Beedle, Arie van Bennekum et al. · 2001 · 3.9K citations
Management, Project Management, Agile Project Management +11
Dennis M. Ritchie, Ken Thompson · Communications of the ACM · 1983 · 970 citations
A staged model for the software life cycle
Václav Rajlich, Keith Bennett · Computer · 2000 · 244 citations
Practical Software Maintenance
Carolyn Seaman · Journal of Software Maintenance Research and Practice · 2000 · 161 citations