{"title":"A brief top-down and bottom-up philosophy on software evolution","authors":"M. Pizka, A. Bauer","doi":"10.1109/IWPSE.2004.1334777","DOIUrl":null,"url":null,"abstract":"The decision on whether to proceed to top-down or bottom-up 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.","PeriodicalId":359040,"journal":{"name":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"30","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 7th International Workshop on Principles of Software Evolution, 2004.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IWPSE.2004.1334777","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 30
Abstract
The decision on whether to proceed to top-down or bottom-up 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.