Supporting Project Management Through Integrated Management of System and Project Knowledge

  • Barbara Paech
  • Alexander Delater
  • Tom-Michael Hesse
Chapter

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.

Keywords

System Knowledge Software Project Project Participant Traceability Link Work Item 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

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.

References

  1. Aurum A, Jefferey R, Wohlin C, Handzic M (eds) (2003) Managing software engineering knowledge. Springer, BerlinMATHGoogle Scholar
  2. Aurum A, Wohlin C, Porter A (2006) Aligning software project decisions: a case study. Int J Softw Eng Knowl Eng 16(6):795–818CrossRefGoogle Scholar
  3. 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, MNGoogle Scholar
  4. 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, BerlinGoogle Scholar
  5. 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, MNGoogle Scholar
  6. 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–106Google Scholar
  7. 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–15Google Scholar
  8. 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–318Google Scholar
  9. 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–1068CrossRefGoogle Scholar
  10. 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–576Google Scholar
  11. Burge JE, Brown DC (2008) Software engineering using RATionale. J Syst Softw 81(3):395–413CrossRefGoogle Scholar
  12. Burge JE, Carroll JM, McCall R, Mistrik I (2008) Rationale-based software engineering. Springer, BerlinMATHCrossRefGoogle Scholar
  13. Canfora G, Cerulo L (2005) Impact analysis by mining software and change request repositories. In: 11th IEEE international symposium software metrics, Como, pp 21–29Google Scholar
  14. 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–342Google Scholar
  15. 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–645CrossRefGoogle Scholar
  16. 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, DCGoogle Scholar
  17. 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–318Google Scholar
  18. 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–212CrossRefGoogle Scholar
  19. Cleland-Huang J, Gotel O, Zisman A (eds) (2012) Software and systems traceability. Springer, New YorkGoogle Scholar
  20. 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–134Google Scholar
  21. 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–314Google Scholar
  22. 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–35Google Scholar
  23. 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–463Google Scholar
  24. 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–282Google Scholar
  25. Duncan WR (2013) A guide to the project management body of knowledge (PMBOK® guide), 5th edn. Project Management Institute (PMI)Google Scholar
  26. 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, SingaporeGoogle Scholar
  27. Dutoit AH, McCall R, Mistrik I, Paech B (eds) (2006) Rationale management in software engineering. Springer, BerlinGoogle Scholar
  28. Falessi D, Becker M, Cantone G (2006a) Design decision rationale: experiences and steps ahead towards systematic use. SIGSOFT Softw Eng Notes 31(5)Google Scholar
  29. 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–143Google Scholar
  30. 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–198Google Scholar
  31. 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–70Google Scholar
  32. 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 33Google Scholar
  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–48CrossRefGoogle Scholar
  34. 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–543Google Scholar
  35. 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–440Google Scholar
  36. Gotel O, Finkelstein A (1994) An analysis of the requirements traceability problem. In: First international conference on requirements engineering, Colorado Springs, CO, pp 94–101Google Scholar
  37. Hassan, AE (2008) The road ahead for mining software repositories. In: FoSM’08: frontiers of software maintenance, Beijing, pp 48–57Google Scholar
  38. 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–578Google Scholar
  39. 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–15Google Scholar
  40. 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–376Google Scholar
  41. 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–250Google Scholar
  42. 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–120Google Scholar
  43. Jansen A, Bosch J, Avgeriou P (2008) Documenting after the fact: recovering architectural design decisions. J Syst Softw 81(4):536–557CrossRefGoogle Scholar
  44. Jansen A, Avgeriou P, van der Ven JS (2009) Enriching software architecture documentation. J Syst Softw 82(8):1232–1248CrossRefGoogle Scholar
  45. 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–277Google Scholar
  46. 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–414Google Scholar
  47. 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 UniversityGoogle Scholar
  48. Klein G (2008) Naturalistic decision making. J Hum Fact Ergon Soc 50(10):456–460CrossRefGoogle Scholar
  49. 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–300Google Scholar
  50. 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–58CrossRefGoogle Scholar
  51. Lee J (1991) Extending the Potts and Bruns model for recording design rationale. In: ICSE: 13th international conference on software engineering, pp 114–125Google Scholar
  52. 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–94CrossRefGoogle Scholar
  53. Lipshitz R, Klein G, Orasanu J, Salas E (2011) Taking stock of naturalistic decision making. J Behav Decis Mak 14(5):331–352CrossRefGoogle Scholar
  54. 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–80CrossRefGoogle Scholar
  55. 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–250CrossRefGoogle Scholar
  56. 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–447Google Scholar
  57. 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–194CrossRefGoogle Scholar
  58. 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–1350Google Scholar
  59. Menzies T, Zimmermann TH (2013) Software analytics: so what? Guest editor introduction, special issue. IEEE Softw 30(4):31–37CrossRefGoogle Scholar
  60. Ngo T, Ruhe G (2005) Decision support in requirements engineering. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, BerlinGoogle Scholar
  61. 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–268Google Scholar
  62. PMI (2013) Software extension to the PMBOK guide, 5th edn. IEEE Computer Society, Project Management Institute (PMI)Google Scholar
  63. 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–9Google Scholar
  64. Saaty T (1990) How to make a decision: the analytic hierarchy process. Eur J Oper Res 48(1):9–26MATHCrossRefGoogle Scholar
  65. Skerrett I (2011) The eclipse foundation. The eclipse community survey 2011. http://www.eclipse.org/org/press-release/20110610_survey.php
  66. 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–305Google Scholar
  67. 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–153Google Scholar
  68. Tang A, Babar MA, Gorton I, Han J (2006) A survey of architecture design rationale. J Syst Softw 79(12):1792–1804CrossRefGoogle Scholar
  69. Tang A, Jin Y, Han J (2007) A rationale-based architecture model for design traceability and reasoning. J Syst Softw 80(6):918–934CrossRefGoogle Scholar
  70. 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–370CrossRefGoogle Scholar
  71. Tyree J, Akerman A (2005) Architecture decisions: demystifying architecture. IEEE Softw 22(2):19–27CrossRefGoogle Scholar
  72. 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–8Google Scholar
  73. Yadla S, Hayes JH, Dekhtyar A (2005) Tracing requirements to defect reports: an application of information retrieval techniques. Innov Syst Softw Eng 1:116–124CrossRefGoogle Scholar
  74. 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–20CrossRefGoogle Scholar
  75. 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–653CrossRefGoogle Scholar
  76. 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–32CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Barbara Paech
    • 1
  • Alexander Delater
    • 1
  • Tom-Michael Hesse
    • 1
  1. 1.Institute of Computer ScienceUniversity of HeidelbergHeidelbergGermany

Personalised recommendations