skip to main content
research-article

Documented decision-making strategies and decision knowledge in open source projects

Published: 01 November 2016 Publication History

Abstract

Empirical study on documented decisions based on 260 Firefox issue discussions.Shows that more naturalistic than rational decision-making was documented.Shows that developers mostly documented knowledge on decision context and solution.Further research required on the impact and support of naturalistic documentation.Our coding tables can be used by other researchers for documentation analysis. Context: Decision-making is a vital task during software development. Typically, issue tracking systems are used to document decisions in large open source projects where developers are spread across the world. While most decision documentation approaches assume that developers use rational decision strategies, in practice also naturalistic strategies are employed. However, quantitative studies of the distribution of decision strategies and related knowledge are missing.Objective: Our overall goal is to provide insights and ideas for further research to systematically support and document decision-making during software development in open source projects. In this paper, we analyze decisions documented in comments to issue reports in order to understand the documentation of decision-making in detail.Method: We coded the comments of 260 issue reports of the open source project Firefox for decision-making strategies and knowledge on decisions. Then, we statistically analyzed the coded data with regard to the dominant decision strategy, the distribution of decision strategies and knowledge, and the relations between strategy and knowledge.Results: The vast majority of documented decision-making strategies was naturalistic. Interestingly, for feature requests the percentage of rational decision-making strategies was higher than for bugs. Documented knowledge mostly concerned the decision context. More solutions were documented together with a higher amount of naturalistic decision-making. However, solutions were negatively correlated with the assessment of the situation. So, developers are likely to exploit and document decision problems and solutions in an imbalanced way.Conclusion: Our analysis revealed important insights on how decision-making and its related knowledge is documented during software development in open source projects. For instance, we found naturalistic decision-making to play an important role for development decisions. Our coding tables can be used by other researchers to further investigate our results. The study insights should be reflected in decision support systems to improve their effectiveness and acceptance by developers.

References

[1]
M. Ali Babar, I. Gorton, A tool for managing software architecture knowledge, IEEE, 2007.
[2]
D. Arnott, G. Pervan, Eight key issues for the decision support systems discipline, Decis. Support Syst., 44 (2008) 657-672.
[3]
V.R. Basili, G. Caldiera, D.H. Rombach, Goal question metric paradigm, in: Encyclopedia of Software Engineering, Wiley-Interscience, New York, 1994, pp. 528-532.
[4]
P. Berander, A. Andrews, Requirements prioritization, in: Engineering and Managing Software Requirements, Springer, Berlin, Heidelberg, 2005, pp. 69-94.
[5]
J.E. Burge, D.C. Brown, An integrated approach for software design checking using design rationale, Springer, Berlin, Heidelberg, 2004.
[6]
J.E. Burge, J.M. Carroll, R. McCall, I. Mistrík, Springer, Berlin, Heidelberg, 2008.
[7]
G. Canfora, G. Casazza, A. De Lucia, A design rationale based environment for cooperative maintenance, Int. J. Softw. Eng. Knowl. Eng., 10 (2000) 627-645.
[8]
R. Capilla, F. Nava, J.C. Duenas, Modeling and documenting the evolution of architectural design decisions, IEEE, 2007.
[9]
L. Chen, M. Ali Babar, B. Nuseibeh, Characterizing architecturally significant requirements, Software, 30 (2013) 38-45.
[10]
D.V. Cicchetti, S.A. Sparrow, Developing criteria for establishing interrater reliability of specific items: Applications to assessment of adaptive behavior, Am. J. Mental Defic., 86 (1981) 127-137.
[11]
J. Cohen, Erlbaum Associates, Hillsdale, 1988.
[12]
D. Falessi, G. Cantone, M. Becker, Documenting design decision rationale to improve individual and team design decision making, ACM, 2006.
[13]
D. Falessi, G. Cantone, R. Kazman, P. Kruchten, Decision-making techniques for software architecture design, ACM Comput. Surv., 43 (2011) 1-28.
[14]
D. Falessi, R. Capilla, G. Cantone, A value-based approach for documenting design decisions rationale, ACM, 2008.
[15]
Firefox project, Issue tracking system Bugzilla, 2015. (accessed 2015-08-30).
[16]
C. Francalanci, F. Merlo, Empirical analysis of the bug fixing process in open source projects, Springer US, 2008.
[17]
M. Gamer, J. Lemon, I. Fellows, P. Singh, irr: Various Coefficients of Interrater Reliability and Agreement. R package version 0.84, 2012. (accessed 2015-08-30). URL http://CRAN.R-project.org/package=irr.
[18]
J. Gore, A. Banks, L. Millward, O. Kyriakidou, Naturalistic decision making and organizations: Reviewing pragmatic science, Org. Stud., 27 (2006) 925-942.
[19]
N.B. Harrison, P. Avgeriou, U. Zdun, Using patterns to capture architectural decisions, Software, 24 (2007) 38-45.
[20]
T.-M. Hesse, A. Kuehlwein, B. Paech, T. Roehm, B. Bruegge, Documenting implementation decisions with code annotations, KSI Research, 2015.
[21]
T.-M. Hesse, B. Paech, Supporting the collaborative development of requirements and architecture documentation, IEEE, 2013.
[22]
A. Jansen, J. Bosch, Software architecture as a set of architectural design decisions, IEEE, 2005.
[23]
D. Jonassen, Designing for decision making, Edu. Technol. Res. Dev., 60 (2012) 341-359.
[24]
F. Khomh, T. Dhaliwal, Y. Zou, B. Adams, Do faster releases improve software quality? An empirical case study of mozilla firefox, IEEE, 2012.
[25]
G. Klein, Naturalistic decision making, Human Factors, 50 (2008) 456-460.
[26]
G. Klein, R. Calderwood, A. Clinton-Cirocco, Rapid Decision Making on the Fire Ground: The Original Study Plus a Postscript, J. Cognit. Eng. Decis. Mak., 4 (2010) 186-209.
[27]
A.J. Ko, P.K. Chilana, Design, discussion, and dissent in open bug reports, ACM, 2011.
[28]
P. Kruchten, P. Lago, H.V. Vliet, Building up and reasoning about architectural knowledge, in: Lecture Notes in Computer Science, 4214, Springer, Berlin, Heidelberg, 2006, pp. 43-58.
[29]
J. Lee, Extending the Potts and Bruns model for recording design rationale, IEEE, 1991.
[30]
R. Lipshitz, G. Klein, J. Orasanu, E. Salas, Taking stock of naturalistic decision making, J. Behav. Decis. Mak., 14 (2001) 331-352.
[31]
A. MacLean, R.M. Young, M.E. Victoria, T.P. Moran, Questions, options, and criteria: Elements of design space analysis, Human-Comput. Interact., 6 (1991) 201-250.
[32]
C. Manteuffel, D. Tofan, H. Koziolek, T. Goldschmidt, P. Avgeriou, Industrial implementation of a documentation framework for architectural decisions, IEEE, 2014.
[33]
P. Mayring, Qualitative Inhaltsanalyse, in: Handbuch Qualitative Forschung in der Psychologie, VS Verlag für Sozialwissenschaften, Wiesbaden, 2010, pp. 601-613.
[34]
H.M. Mentis, P.M. Bach, B. Hoffman, M.B. Rosson, J.M. Carroll, Development of decision rationale in complex group decision making, ACM, 2009.
[35]
T. Ngo, G. Ruhe, Decision support in requirements engineering, in: Engineering and Managing Software Requirements, Springer, Berlin, Heidelberg, 2005, pp. 267-286.
[36]
J. Orasanu, T. Connolly, The reinvention of decision making, in: Decision Making in Action: Models and Methods, Ablex Publishing, Westport, 1993, pp. 3-20.
[37]
B. Paech, A. Delater, T.-M. Hesse, Supporting project management through integrated management of system and project knowledge, in: Software Project Management in a Changing World, Springer, Berlin, Heidelberg, 2014, pp. 157-192.
[38]
R Core Team, R: A language and environment for statistical computing, 2014. (accessed 2015-08-30) URL http://www.R-project.org/.
[39]
M. Razavian, A. Tang, R. Capilla, P. Lago, In two minds: How reflections influence software design thinking, VU University Amsterdam, 2015.
[40]
G. Ruhe, Software engineering decision support - A new paradigm for learning software organizations, in: Lecture Notes in Computer Science, 2640, Springer, Berlin, Heidelberg, 2003, pp. 104-113.
[41]
P. Runeson, M. Höst, A. Rainer, B. Regnell, Case study research in software engineering. Guidelines and examples, Wiley, Hoboken, 2012.
[42]
P.E. Shrout, J.L. Fleiss, Intraclass correlations: Uses in assessing rater reliability, Psychol. Bullet., 86 (1979) 420-428.
[43]
R. Souza, C. Chavez, R. Bittencourt, Do rapid releases affect bug reopening? A case study of firefox, IEEE, 2014.
[44]
N.A. Stanton, B.L.W. Wong, Editorial: Explorations into naturalistic decision making with computers, Int. J. Human Comput. Interact., 26 (2010) 99-107.
[45]
A. Tang, A. Aleti, J. Burge, H. van Vliet, What makes software design effective?, Des. Stud., 31 (2010) 614-640.
[46]
A. Tang, M. Ali Babar, I. Gorton, J. Han, A survey of architecture design rationale, J. Syst. Softw., 79 (2006) 1792-1804.
[47]
A. Tang, P. Avgeriou, A. Jansen, R. Capilla, M. Ali Babar, A comparative study of architecture knowledge management tools, J. Syst. Softw., 83 (2010) 352-370.
[48]
A. Tang, Y. Jin, J. Han, A rationale-based architecture model for design traceability and reasoning, J. Syst. Softw., 80 (2007) 918-934.
[49]
A. Tang, H. van Vliet, Software designers satisfice, in: Software Architecture: 9th European Conference, ECSA 2015, Dubrovnik/Cavtat, Croatia, September 7-11, 2015. Proceedings, Springer International Publishing, Cham, 2015, pp. 105-120.
[50]
D. Tofan, M. Galster, P. Avgeriou, W. Schuitema, Past and future of software architectural decisions - A systematic mapping study, Inf. Softw. Technol., 56 (2014) 850-872.
[51]
A. Tversky, D. Kahneman, Judgment under uncertainty: Heuristics and biases, Science, 185 (1974) 1124-1131.
[52]
J. Tyree, A. Akerman, Architecture decisions: Demystifying architecture, Software, 22 (2005) 19-27.
[53]
U. van Heesch, P. Avgeriou, R. Hilliard, A documentation framework for architecture decisions, J. Syst. Softw., 85 (2012) 795-820.
[54]
U. van Heesch, P. Avgeriou, A. Tang, Does decision documentation help junior designers rationalize their decisions? A comparative multiple-case study, J. Syst. Softw., 86 (2013) 1545-1565.
[55]
S. Zaman, B. Adams, A.E. Hassan, Security versus performance bugs: A case study on firefox, ACM, 2011.
[56]
C. Zannier, M. Chiasson, F. Maurer, A model of design decision making based on empirical results of interviews with software designers, Inf. Softw. Technol., 49 (2007) 637-653.
[57]
C. Zannier, F. Maurer, Foundations of agile decision making from agile mentors and developers, in: Lecture Notes in Computer Science, volume 4044, Springer, Berlin, Heidelberg, 2006, pp. 11-20.
[58]
O. Zimmermann, T. Gschwind, J. Küster, F. Leymann, N. Schuster, Reusable architectural decision models for enterprise application development, in: Lecture Notes in Computer Science, volume 4880, Springer, Berlin, Heidelberg, 2007, pp. 15-32.

Cited By

View all
  • (2024)When rationality meets intuitionJournal of Software: Evolution and Process10.1002/smr.266436:9Online publication date: 16-Sep-2024
  • (2021)To Reuse or Not To Reuse?Proceedings of the ACM on Human-Computer Interaction10.1145/34492405:CSCW1(1-35)Online publication date: 22-Apr-2021
  • (2018)Decision knowledge triggers in continuous software engineeringProceedings of the 4th International Workshop on Rapid Continuous Software Engineering10.1145/3194760.3194765(23-26)Online publication date: 29-May-2018
  1. Documented decision-making strategies and decision knowledge in open source projects

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image Information and Software Technology
      Information and Software Technology  Volume 79, Issue C
      November 2016
      128 pages

      Publisher

      Butterworth-Heinemann

      United States

      Publication History

      Published: 01 November 2016

      Author Tags

      1. Decision documentation
      2. Decision knowledge
      3. Decision-making strategy
      4. Design decision
      5. Empirical study
      6. Issue tracking system
      7. Naturalistic decision-making
      8. Rational decision-making
      9. Software development decision

      Qualifiers

      • Research-article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 24 Oct 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)When rationality meets intuitionJournal of Software: Evolution and Process10.1002/smr.266436:9Online publication date: 16-Sep-2024
      • (2021)To Reuse or Not To Reuse?Proceedings of the ACM on Human-Computer Interaction10.1145/34492405:CSCW1(1-35)Online publication date: 22-Apr-2021
      • (2018)Decision knowledge triggers in continuous software engineeringProceedings of the 4th International Workshop on Rapid Continuous Software Engineering10.1145/3194760.3194765(23-26)Online publication date: 29-May-2018
      • (2017)Analysing problem handling schemes in software projectsInformation and Software Technology10.1016/j.infsof.2017.06.00691:C(56-71)Online publication date: 1-Nov-2017

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media