An empirical study on decision making in off-the-shelf component-based development
Proceedings of the 28th international conference on Software engineering
Hi-index | 0.00 |
Within a long-term distributed systems project we repeatedlystumbled across the well-known yet difficult questionto either implement from scratch or comprehend and adaptexisting software. Having tried both ways allows us to retrospectivelycompare the effectiveness of "from scratch"implementation versus software evolution. By using thecode bases of GNU GCC and Linux for the adaptation approachwe gained valuable experiences with the comprehensionand adaptation of large but sparsely documentedcode bases. In most cases, the adaptation of existing softwareproved to be by far more effective than implementingfrom scratch. Surprisingly, the effort needed to comprehendthe existing voluminous source codes repeatedly proved tobe less than expected. In this paper we discuss our positiveand negative experiences and the various factors influencingsuccess and failure. Albeit collected in an academic setting,the observations described in this paper might well betransferable to the maintenance of large-scale commercialenvironments, too.