Zusammenfassung
Der Softwaredokumentation wird offensichtlich ein nur sehr geringer Stellenwert eingeräumt. So zeichnet sich beispielsweise ca. 80 % der weltweiten Software durch eine unzureichende Dokumentation aus. Dabei bestätigen empirische Studien, dass mit der Verfügbarkeit einer adäquaten technischen Programmdokumentation eine Reduktion der Fehleranfälligkeit von nachträglichen Änderungen im Rahmen der Softwarewartung einhergeht. Für jedes Softwareprojekt ergibt sich demnach die Frage, in welcher Höhe eine Investition in die Erstellung einer technischen Programmdokumentation ökonomisch sinnvoll ist. Dieses Entscheidungsproblem wurde wissenschaftlich bisher stark vernachlässigt. Da entsprechende Zusammenhänge empirisch vermutlich nur schwer aufgedeckt werden können, stellt der Beitrag einen neuartigen deduktiven Ansatz vor, welcher die barwertigen Auszahlungen für die Erstellung einer technischen Programmdokumentation und für die Fehlerbehebung gegenüberstellt. Grundlage des Modells bildet das Phänomen der Fehlerausbreitung von einer Komponente über deren Abhängigkeiten zu angrenzenden Komponenten. Auf dieser Basis kann folgende Hypothese abgeleitet werden: Auch bei einer beliebig niedrigen Dokumentationsqualität oder einem beliebig hohen Kalkulationszinssatz ist es stets vorteilhaft, eher zu viel als vergleichsweise zu wenig zu dokumentieren. Diese Hypothese erweist sich dabei auch gegenüber der Änderung einiger Annahmen als robust.
Abstract
Only a very low priority seems to be given to software documentation. For example, about 80% of the software systems in production worldwide are badly documented. In contrast empirical studies confirm that an adequate technical documentation reduces the error rate of subsequent changes during software maintenance. This leads to the question about the optimal scale of investment in technical documentation in any software project. In research, this decision problem has been largely neglected. Since underlying cause-effect relationships may be empirically hard to detect, this paper proposes a new deductive approach, which compares the present value of payments for the documentation and bug fixing. The basis of this model is the phenomenon of error propagation from one component to adjacent components through its dependencies. As a result the following hypothesis can be inferred: It is always beneficial to document too much rather than comparatively too little even for an arbitrarily low quality of documentation and for any required rate of interest. This hypothesis shows robustness even against some changes in assumptions.
Literatur
Abdelmoez W, Nassar DM, Shereshevsky M, Gradetsky N, Gunnalan R, Ammar HH, Yu B, Mili A (2004) Error propagation in software architectures. In: Proceedings of the international symposium on software metrics (METRICS 2004). IEEE Computer Society, S 384–393
Abdelmoez W, Shereshevsky M, Gunnalan R, Ammar HH, Yu B, Bogazzi S, Korkmaz M, Mili A (2005) Quantifying software architectures: an analysis of change propagation probabilities. In: Proceedings of the 3rd ACS/IEEE International Conference on Computer Systems and Applications (AICCSA 2005). IEEE, S 124-vii
Aggarwal KK, Singh Y, Kaur A, Malhotra R (2009) Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: a replicated case study. Softw Process Improv Pract 14(1):39–62
Arisholm E, Briand LC, Hove SE, Labiche Y (2006) The impact of UML documentation on software maintenance: an experimental evaluation. IEEE Trans Softw Eng 32(6):365–381
Bamberg G, Dorfleitner G, Krapp M (2006) Unternehmensbewertung unter Unsicherheit: Zur entscheidungstheoretischen Fundierung der Risikoanalyse. ZfB 76(3):287–307
Beszédes Á, Gergely T, Jász J, Tóth G, Gyimóthy T, Rajlich V (2007) Computation of static execute after relation with applications to software maintenance. In: Proceedings of the 23rd IEEE International Conference on Software Maintenance (ICSM 2007). IEEE, S 295–304
Binkley AB, Schach SR (1998) Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures. In: Proceedings of the 20th International Conference on Software Engineering (ICSE 1998). IEEE Computer Society, S 452–455
Briand LC, Melo WL, Wüst J (2002) Assessing the applicability of fault-proneness models across object-oriented software projects. IEEE Trans Softw Eng 28(7):706–720
de Souza SCB, Anquetil N, de Oliveira KM (2005) A study of the documentation essential to software maintenance. In: Proceedings of the 23rd annual international conference on design of communication: documenting & designing for pervasive information. ACM, S 68–75
Dzidek WJ, Arisholm E, Briand LC (2008) A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans Softw Eng 34(3):407–432
Eaddy M, Zimmermann T, Sherwood KD, Garg V, Murphy GC, Nagappan N, Aho AV (2008) Do crosscutting concerns cause defects? IEEE Trans Softw Eng 34(4):497–515
Fenton NE, Ohlsson N (2000) Quantitative analysis of faults and failures in a complex software system. IEEE Trans Softw Eng 26(8):797–814
Grottke M (2005) Prognose von Softwarezuverlässigkeit, Softwareversagensfällen und Softwarefehlern. In: Mertens P, Rässler S (Hrsg) Prognoserechnung, 6. Aufl. Physica, Heidelberg, S 459–487
Gyimóthy T, Ferenc R, Siket I (2005) Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans Softw Eng 31(10):897–910
Hanssen GK, Yamashita AF, Conradi R, Moonen L (2009) Maintenance and agile development: challenges, opportunities and future directions. In: Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM 2009). IEEE, S 487–490
Hruschka P (2003) Agility. Informatik-Spektrum 26(6):397–401
Ko AJ, Myers BA, Coblenz MJ, Aung HH (2006) An exploratory study of how developers seek, relate, and collect relevant information during software maintenance task. IEEE Trans Softw Eng 32(12):971–987
Krishnan MS, Mukhopadhyay T, Kriebel CH (2004) A decision model for software maintenance. Inf Syst Res 15(4):396–412
Kruschwitz L (2006) Finanzmathematik: Lehrbuch der Zins-, Renten-, Tilgungs-, Kurs- und Renditerechnung, 4. Aufl. Vahlen, München
Lehman MM (1996) Laws of software evolution revisited. In: Montangero C (Hrsg) Proceedings lecture notes in computer science 1149. Springer, New York, S 108–124
MacCormack A, Rusnak J, Baldwin CY (2006) Exploring the structure of complex software designs: an empirical study of open source and proprietary code. Manag Sci 52(7):1015–1030
Meredith JR, Raturi A, Amoako-Gyampah K, Kaplan B (1989) Alternative research paradigms in operations. J Operations Manag 8(4):297–326
Olague HM, Etzkorn LH, Gholston S, Quattlebaum S (2007) Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes. IEEE Trans Softw Eng 33(6):402–419
Parnas DL (1994) Software aging. In: Proceedings of the 16th International Conference on Software Engineering (ICSE 1994). IEEE Computer Society Press, Los Alamitos, USA, S 279–287
Prechelt L, Unger-Lamprecht B, Philippsen M, Tichy WF (2002) Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Trans Softw Eng 28(6):595–606
Radatz J (1990) IEEE standard glossary of software engineering terminology. Std 610.12–1990, Standards Coordinating Committee of the Computer Society of the IEEE
Rajlich V (2006) Changing the paradigm of software engineering. Commun ACM 49(8):67–70
Rajlich V (2009) Intensions are a key to program comprehension. In: IEEE 17th International Conference on Program Comprehension (ICPC 2009). IEEE, S 1–9
Riedl R, Kepler J (2003) Begriffliche Grundlagen des Business Process Outsourcing. Inf Manag Consult 18(3):6–11
Robillard MP, Coelho W, Murphy GC (2004) How effective developers investigate source code: an exploratory study. IEEE Trans Softw Eng 30(12):889–903
Rostkowycz AJ, Rajlich V, Marcus A (2004) A case study on the long-term effects of software redocumentation. In: Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM 2004). IEEE, S 92–101
Sharif KY, Buckley J (2008) Developing schema for open source programmers’ information-seeking. In: 3rd International Symposium on Information Technology (ITSIM 2008). IEEE, S 1–9
Singh Y, Kaur A, Malhotra R (2010) Empirical validation of object-oriented metrics for predicting fault proneness models. Softw Qual J 18(1):3–35
Sneed HM (2008) Offering software maintenance as an offshore service. In: IEEE International Conference on Software Maintenance (ICSM 2008). IEEE, S 1–5
Statista (2010a) Weltweite Ausgaben von Wirtschaft und öffentlicher Verwaltung für IT-Outsourcing im Jahr 2010 in Milliarden US Dollar. http://de.statista.com/statistik/daten/studie/163365/umfrage/weltweite-ausgaben-fuer-it-outsourcing-in-2010/. Zugegriffen: 18. Feb 2011
Statista (2010b) Weltweite IT-Ausgaben von Wirtschaft und öffentlicher Verwaltung für ITK Produkte und Services im Jahr 2010 in Milliarden US-Dollar. http://de.statista.com/statistik/daten/studie/163257/umfrage/weltweite-ausgaben-fuer-itk-produkte-und-services-in-2010/. Zugegriffen: 18. Feb 2011
Subramanyam R, Krishnan MS (2003) Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects. IEEE Trans Softw Eng 29(4):297–310
Takahashi M, Kamayachi Y (1989) An empirical study of a model for program error prediction. IEEE Trans Softw Eng 15(1):82–86
Tan Y, Mookerjee VS (2005) Comparing uniform and flexible policies for software maintenance and replacement. IEEE Trans Softw Eng 31(3):238–255
Van Vliet H (2008) Software engineering: principles and practices, 3. Aufl. Wiley, West Sussex
Yu P, Systa T, Müller H (2002) Predicting fault-proneness using OO metrics: an industrial case study. In: Proceedings of the 6th European Conference on Software Maintenance and Reengineering (CSMR 2002). IEEE Computer Society, Los Alamitos, USA, S 99–107
Zarnekow R, Scheeg J, Brenner W (2004) Untersuchung der Lebenszykluskosten von IT-Anwendungen. Wirtschaftsinformatik 46(3):181–187
Zimmermann T, Nagappan N (2008) Predicting defects using network analysis on dependency graphs. In: Proceedings of the 30th International Conference on Software Engineering (ICSE 2008). ACM, S 531–540
Danksagung
An dieser Stelle möchte ich den anonymen Gutachtern herzlich für die stets sehr konstruktive Kritik danken. Ihre wertvollen Hinweise im Rahmen der Begutachtung haben maßgeblich zum Erfolg dieser Arbeit beigetragen. Ein ganz besonderer Dank gilt darüber hinaus Herrn Prof. Dr. Hans Ulrich Buhl und Herrn Prof. Dr. Andreas Rathgeber. Ohne ihre bedingungslose Unterstützung und ihre überaus wertvollen Anregungen in zahllosen Diskussionen wäre die Erstellung dieses Beitrags in dieser Form nicht möglich gewesen.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bartmann, P. Technische Softwaredokumentation unter ökonomischen Gesichtspunkten – Ein formal-deduktiver Ansatz. Z Betriebswirtsch 82, 243–274 (2012). https://doi.org/10.1007/s11573-012-0547-2
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11573-012-0547-2