Abstract
Software engineering is a knowledge-intensive task. Many different kinds of knowledge are created, for example, system knowledge, such as requirements, design, or code, and project knowledge, such as project plans, decisions, and work items. In this chapter, we study two kinds of project knowledge: work items and decisions. Work items document what should or has been done by whom and when. Decisions represent the solution to a decision problem. They are important to be kept in mind so that the future development will be consistent with the past. These kinds of knowledge can be implicit or explicit. Work items are typically managed explicitly in issue trackers, while decisions are mostly hidden in informal notes or in the artifacts, which result from these decisions. Rationale management research has suggested several approaches to make decisions and their rationale explicit. However, in contrast to issue trackers, which are widespread, these approaches are considered as overhead in industry. In this chapter, we argue that work items and decisions should be managed together with the system knowledge. This has several benefits for project management processes, such as project planning or monitoring, for example, with better information for the allocation of work items or risk identification. We present a vision detailing these benefits and discuss what is known in research and practice about the realization of this vision. In particular, we review existing approaches to capture work items or decisions and their links to other knowledge and discuss the empirical evidence of their benefits for an integrated system and project knowledge management in industry.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
References
Aurum A, Jefferey R, Wohlin C, Handzic M (eds) (2003) Managing software engineering knowledge. Springer, Berlin
Aurum A, Wohlin C, Porter A (2006) Aligning software project decisions: a case study. Int J Softw Eng Knowl Eng 16(6):795–818
Babar MA, Gorton I (2007) A tool for managing software architecture knowledge. In: SHARK/ADI’07: 2nd workshop on sharing and reusing architectural knowledge - architecture, rationale, and design. IEEE, Minneapolis, MN
Babar MA, Gorton I, Kitchenham B (2006) A framework for supporting architecture knowledge and rationale management. In: Dutoit AH, McCall R, Mistrik I, Paech B (eds) Rationale management in software engineering. Springer, Berlin
Babar MA, de Boer RC, Dingsoyr T, Farenhorst R (2007) Architectural knowledge management strategies: approaches in research and industry. In: SHARK/ADI’07: 2nd workshop on sharing and reusing architectural knowledge - architecture, rationale, and design. IEEE, Minneapolis, MN
Bachmann A, Bird C, Rahman F, Devanbu P, Bernstein A (2010) The missing links: bugs and bug-fix commits. In: FSE: 18th ACM SIGSOFT international symposium on foundations of software engineering, pp 97–106
Bangcharoensap P, Ihara A, Kamei Y, Matsumoto K (2012) Locating source code to be fixed based on initial bug reports - a case study on the eclipse project. In: International workshop on empirical software engineering in practice, pp 10–15
Bettenburg N, Just S, Schröter A, Weiss C, Premraj R, Zimmermann T (2008) What makes a good bug report? In: FSE: 16th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, NY, pp 308–318
Bjørnson FO, Dingsøyr T (2008) Knowledge management in software engineering: a systematic review of studied concepts, findings and research methods used. Inf Softw Technol 50:1055–1068
Burge JE, Brown DC (2004) An integrated approach for software design checking using design rationale. In: First international conference of design computing and cognition, pp 557–576
Burge JE, Brown DC (2008) Software engineering using RATionale. J Syst Softw 81(3):395–413
Burge JE, Carroll JM, McCall R, Mistrik I (2008) Rationale-based software engineering. Springer, Berlin
Canfora G, Cerulo L (2005) Impact analysis by mining software and change request repositories. In: 11th IEEE international symposium software metrics, Como, pp 21–29
Canfora G, Cerulo L (2006) Jimpa: an eclipse plug-in for impact analysis. In: CSMR: 10th European conference on software maintenance and reengineering, Bari, pp 340–342
Canfora G, Casazza G, de Lucia A (2000) A design rationale based environment for cooperative maintenance. Int J Softw Eng Knowl Eng 10(5):627–645
Capilla R, Nava F, Duenas JC (2007) Modeling and documenting the evolution of architectural design decisions. In: SHARK/ADI’07: 2nd workshop on sharing and reusing architectural knowledge - architecture, rationale, and design. IEEE Computer Society, Washington, DC
Capilla R, Zimmermann O, Zdun U, Avgeriou P, Kuester JM (2011) An enhanced architectural knowledge metamodel linking architectural design decisions to other artifacts in the software engineering lifecycle. In: ECSA: 5th european conference on software architecture, Essen, Germany, pp 303–318
Carroll JM, Rosson MB (1992) Getting around the task-artifact cycle: how to make claims and design by scenario. ACM Trans Inf Syst 10(2):181–212
Cleland-Huang J, Gotel O, Zisman A (eds) (2012) Software and systems traceability. Springer, New York
Davies S, Roper M, Wood M (2012) Using bug report similarity to enhance bug localisation. In: WCRE: working conference on reverse engineering, Kingston, pp 125–134
Delater A, Paech B (2013a) Analyzing the tracing of requirements and source code during software development: a research preview. In: REFSQ’13: 19th international working conference on requirements engineering: foundation for software quality, LNCS, vol 7830. Springer, Berlin, pp 308–314
Delater A, Paech B (2013b) Tracing requirements and source code during software development: an empirical study. In: ESEM’13: 7th ACM/IEEE international symposium on empirical software engineering and measurement, Baltimore, MD, pp 24–35
Delater A, Paech B (2013c) UNICASE trace client: a CASE tool integrating requirements engineering, project management and code implementation. In: Workshop Nutzung und Nutzen von Traceability. Lecture notes in informatics, vol 215. GI, pp 459–463
Delater A, Narayan N, Paech B (2012) Tracing requirements and source code during software development. In: ICSEA’12: 7th international conference of software engineering advances, pp 274–282
Duncan WR (2013) A guide to the project management body of knowledge (PMBOK® guide), 5th edn. Project Management Institute (PMI)
Dutoit AH, Paech B (2001) Rationale management in software engineering. In: Chang SK (ed) Handbook of software engineering and knowledge engineering, vol 1. World Scientific, Singapore
Dutoit AH, McCall R, Mistrik I, Paech B (eds) (2006) Rationale management in software engineering. Springer, Berlin
Falessi D, Becker M, Cantone G (2006a) Design decision rationale: experiences and steps ahead towards systematic use. SIGSOFT Softw Eng Notes 31(5)
Falessi D, Cantone G, Becker M (2006b) Documenting design decision rationale to improve individual and team design decision making. In: ISESE’06: international symposium on empirical software engineering. ACM Press, New York, pp 134–143
Falessi D, Cantone G, Kruchten P (2008a) Value-based design decision rationale documentation: principles and empirical feasibility study. In: WICSA 08: seventh working IEEE/IFIP conference on software architecture. IEEE, Vancouver, BC, pp 189–198
Falessi D, Capilla R, Cantone G (2008b) A value-based approach for documenting design decisions rationale. In: SHARK’08: 3rd international workshop on Sharing and reusing architectural knowledge. ACM Press, New York, pp 63–70
Falessi D, Cantone G, Kazman R, Kruchten P (2011) Decision-making techniques for software architecture design: a comparative survey. ACM Comput Surv 43(4):Article 33
Gervasi V, Gacitua R, Rouncefield M, Sawyer P, Kof L, Li M, Piwek P, De Roeck A, Willis A, Hui Y, Nuseibeh B (2013) Unpacking tacit knowledge for requirements engineering. In: Maalej W, Thurimella AK (eds) Managing requirements knowledge. Springer, Heidelberg, pp 23–48
Gethers M, Kagdi H, Dit B, Poshyvanyk D (2011) An adaptive approach to impact analysis from change requests to source code. In: ASE: 26th IEEE/ACM international conference on automated software engineering, Lawrence, KS, pp 540–543
Gethers M, Dit B, Kagdi H, Pashyvanyk D (2012) Integrated impact analysis for managing software changes. In: ICSE: international conference on software engineering. IEEE, Piscataway, NJ, pp 430–440
Gotel O, Finkelstein A (1994) An analysis of the requirements traceability problem. In: First international conference on requirements engineering, Colorado Springs, CO, pp 94–101
Hassan, AE (2008) The road ahead for mining software repositories. In: FoSM’08: frontiers of software maintenance, Beijing, pp 48–57
Helming J, David J, Koegel M, Naughton H (2009a) Integrating system modeling with project management - a case study. In: COMPSAC’09: international computer software and applications conference. IEEE Computer Society, Seattle, WA, pp 571–578
Helming J, Koegel M, Naughton H (2009b) Towards traceability from project management to system models. In: TEFSE’09: ICSE workshop on traceability in emerging forms of software engineering. IEEE Computer Society, Washington, DC, pp 11–15
Helming J, Koegel M, Naughton H, David J, Shterev A, Bruegge B (2009c) Traceability-based change awareness. In: MODELS’09: 12th international conference on model driven engineering languages and systems. Springer, Berlin, pp 372–376
Helming J, Arndt H, Hodaie Z, Koegel M, Narayan N (2010) Automatic assignment of work items. In: ENASE’10: evaluation of novel approaches to software engineering. Communications in computer and information science. Springer, Berlin, pp 236–250
Jansen A, Bosch J (2005) Software architecture as a set of architectural design decisions. In: WICSA’05: 5th working conference on software architecture. IEEE, Pittsburgh, PA, pp 109–120
Jansen A, Bosch J, Avgeriou P (2008) Documenting after the fact: recovering architectural design decisions. J Syst Softw 81(4):536–557
Jansen A, Avgeriou P, van der Ven JS (2009) Enriching software architecture documentation. J Syst Softw 82(8):1232–1248
Kagdi H, Poshyvanyk D (2009) Who can help me with this change request? In: ICPC: 17th international conference on program comprehension. IEEE, Vancouver, BC, pp 273–277
Kaushik N, Tahvildari L, Moore M (2011) Reconstructing traceability between bugs and test cases: an experimental study. In: WCRE: 18th working conference on reverse engineering, Limerick, pp 411–414
Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. Technical report EBSE-2007-01. School of Computer Science and Mathematics, Keele University
Klein G (2008) Naturalistic decision making. J Hum Fact Ergon Soc 50(10):456–460
Könemann P (2009) Integrating decision management with UML modeling concepts and tools. In: Joint working IEEE/IFIP conference on software architecture & European conference on software architecture. IEEE, Cambridge, pp 297–300
Kruchten P, Lago P, van Vliet H (2006) Building up and reasoning about architectural knowledge. In: Hofmeister C, Crnkovic I, Reussner R (eds) Quality of software architectures, vol 4214, Lecture notes in computer science. Springer, Berlin, pp 43–58
Lee J (1991) Extending the Potts and Bruns model for recording design rationale. In: ICSE: 13th international conference on software engineering, pp 114–125
Lindvall M, Rus I (2003) Knowledge management for software organizations. In: Aurum A, Jefferey R, Wohlin C, Handzic M (eds) Managing software engineering knowledge. Springer, Berlin, pp 73–94
Lipshitz R, Klein G, Orasanu J, Salas E (2011) Taking stock of naturalistic decision making. J Behav Decis Mak 14(5):331–352
López C, Codocedo V, Astudillo H, Cysneiros LM (2012) Bridging the gap between software architecture rationale formalisms and actual architecture documents: an ontology-driven approach. Sci Comput Program 77(1):66–80
MacLean A, Young RM, Victoria ME, Moran TP (1991) Questions, options, and criteria: elements of design space analysis. Hum Comput Interact 6(3–4):201–250
Maeder P, Egyed A (2011) Do software engineers benefit from source code navigation with traceability? - an experiment in software change management. In: ASE: 26th IEEE/ACM international conference on automated software engineering, Lawrence, KS, pp 444–447
Maeder P, Gotel O (2012) Ready-to-use traceability on evolving projects. In: Cleland-Huang J, Gotel O, Zisman A (eds) Software and systems traceability. Springer, New York, pp 173–194
Mentis HM, Bach PM, Hoffman B, Rosson MB, Carroll JM (2009) Development of decision rationale in complex group decision-making. In: CHI: 27th international conference on human factors in computing systems. ACM, New York, pp 1341–1350
Menzies T, Zimmermann TH (2013) Software analytics: so what? Guest editor introduction, special issue. IEEE Softw 30(4):31–37
Ngo T, Ruhe G (2005) Decision support in requirements engineering. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin
Nguyen THD, Adams B, Hassan AE (2010) A case study of bias in bug-fix datasets. In: WCRE: 7th working conference on reverse engineering, Beverly, MA, pp 259–268
PMI (2013) Software extension to the PMBOK guide, 5th edn. IEEE Computer Society, Project Management Institute (PMI)
Rockwell J, Grosse IR, Krishnamurty S, Wileden JC (2009) A Decision Support Ontology for collaborative decision making in engineering design. In: International symposium on collaborative technologies and systems. IEEE, Baltimore, MD, pp 1–9
Saaty T (1990) How to make a decision: the analytic hierarchy process. Eur J Oper Res 48(1):9–26
Skerrett I (2011) The eclipse foundation. The eclipse community survey 2011. http://www.eclipse.org/org/press-release/20110610_survey.php
Smith JL, Bohner SA, McCrickard DS (2005) Project management for the 21st century: supporting collaborative design through risk analysis. ACM Southe Conf 43(2):300–305
Sureka A, Lal S, Agarwal L (2011) Applying Fellegi-Sunter (FS) model for traceability link recovery between bug databases and version archives. In: APSEC: 18th Asia Pacific software engineering conference, Ho Chi Minh, pp 146–153
Tang A, Babar MA, Gorton I, Han J (2006) A survey of architecture design rationale. J Syst Softw 79(12):1792–1804
Tang A, Jin Y, Han J (2007) A rationale-based architecture model for design traceability and reasoning. J Syst Softw 80(6):918–934
Tang A, Avgeriou P, Jansen A, Capilla R, Babar MA (2010) A comparative study of architecture knowledge management tools. J Syst Softw 83(3):352–370
Tyree J, Akerman A (2005) Architecture decisions: demystifying architecture. IEEE Softw 22(2):19–27
Wang W, Burge JE (2010) Using rationale to support pattern-based architectural design. In: SHARK’10: ICSE workshop on sharing and reusing architectural knowledge. ACM Press, New York, pp 1–8
Yadla S, Hayes JH, Dekhtyar A (2005) Tracing requirements to defect reports: an application of information retrieval techniques. Innov Syst Softw Eng 1:116–124
Zannier C, Maurer F (2006) Foundations of agile decision making from agile mentors and developers. In: Abrahamsson P, Marchesi M, Succi G (eds) Extreme programming and agile processes in software engineering. Springer, Berlin, pp 11–20
Zannier C, Chiasson M, Maurer F (2007) A model of design decision-making based on empirical results of interviews with software designers. Inf Softw Technol 49(6):637–653
Zimmermann O, Gschwind T, Küster J, Leymann F, Schuster N (2007) Reusable architectural decision models for enterprise application development. In: Overhage S, Szyperski CA, Reussner R, Stafford JA (eds) Software architectures, components, and applications. Springer, Berlin, pp 15–32
Acknowledgments
This work was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP1593: Design for Future—Managed Software Evolution. We thank the reviewers for their helpful comments.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Paech, B., Delater, A., Hesse, TM. (2014). Supporting Project Management Through Integrated Management of System and Project Knowledge. In: Ruhe, G., Wohlin, C. (eds) Software Project Management in a Changing World. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-55035-5_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-55035-5_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-55034-8
Online ISBN: 978-3-642-55035-5
eBook Packages: Computer ScienceComputer Science (R0)