Advertisement

Requirements Engineering

, Volume 23, Issue 3, pp 381–399 | Cite as

Discovering undocumented knowledge through visualization of agile software development activities

Case studies on industrial projects using issue tracking system and version control system
  • Shinobu Saito
  • Yukako Iimura
  • Aaron K. Massey
  • Annie I. Antón
RE 2017

Abstract

In agile software development projects, software engineers prioritize implementation over documentation. Is the cost of missing documentation greater than the cost of producing unnecessary or unused documentation? Agile software engineers must still maintain other software artifacts, such as tickets in an issue tracking system or source code committed to a version control system (VCS). Do these artifacts contain useful knowledge? In this paper, we examine undocumented knowledge in a multi-case exploratory case study of industrial agile software development projects. The first is an internal project with 159 source code commits and roughly 8000 lines of code. The second is an external project with 760 source code commits and roughly 50,000 lines of code. We introduce a ticket-commit network chart (TCC) that visually represents time-series commit activities along with filed issue tickets. We also implement a tool to generate the TCC using both commit log and ticket data. Our case study revealed that software engineers committed source code to the VCS without a corresponding issue ticket in a non-trivial minority of instances. If these commits were based on and linked to individual issue tickets, then these “unissued” tickets would have accounted for a non-trivial minority (5–21%) of the knowledge needed for future software modification and operations. End users and requirements engineers also evaluated the contents of these commits. They found that the omission of links to individual tickets had an important impact on future software modification or operation with between 22 and 49% of these instances resulting in undocumented knowledge.

Keywords

Agile Agile development Agile requirements Requirements management Requirements knowledge 

Notes

Acknowledgements

The authors are grateful to Messrs. Takashi Hoshino, Keiichiro Horikawa, Daisuke Hamuro, and Masayuki Inoue of NTT, Tetsuo Kobashi, Masatoshi Hiraoka and Hironori Shibayama of NTT DATA, Dr. Noriaki Izumi and Motoi Yamane at Piecemeal Technology for their assistance in the case study. We also wish to thank the anonymous referees of both the Requirements Engineering Conference and this special issue of the Requirements Engineering Journal for their feedback.

References

  1. 1.
    Apache Subversion. Enterprise-class centralized version control for the masses. https://subversion.apache.org/. Accessed 03 Jan 2017
  2. 2.
    Backlog. Online project management tool for developers. https://backlog.com/. Accessed 03 Jan 2017
  3. 3.
    Beck K, Cynthia A (2005) Extreme programming explained: embrace change. Addison-Wesley Professional, BostonGoogle Scholar
  4. 4.
    Beck K, Grenning J, Martin RC, Beedle M, Highsmith J, Mellor S, van Bennekum A, Hunt A, Schwaber K, Cockburn A, Jefferies R, Sutherland J, Cunningham W, Kern J, Thomas D, Fowler M, Marick B (2001) Manifesto for agile software development. http://agilemanifesto.org/. Accessed 10 Jan 2017
  5. 5.
    Cockburn A (2006) Agile software development: the cooperative game, 2nd edn. Addison-Wesley Professional, BostonGoogle Scholar
  6. 6.
    Cohn M (2005) Agile estimating and planning. Prentice Hall, Upper Saddle RiverGoogle Scholar
  7. 7.
    Dhungana D, Grünbacher P, Rabiser R (2011) The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom Softw Eng 18(1):77–114CrossRefGoogle Scholar
  8. 8.
    Dorairaj S, Noble J, Malik P (2012) Knowledge management in distributed agile software development. In: The Agile conference, pp 64–73Google Scholar
  9. 9.
    Eisenhardt KM (1989) Building theories from case study research. Acad Manag Rev 14(4):532–550CrossRefGoogle Scholar
  10. 10.
    GitHub. The world’s leading software development platform. https://github.com/. Accessed 03 Jan 2017
  11. 11.
    Hoda R, Noble J, Marshall S (2010) How much is just enough?: Some documentation patterns on agile projects. In: Proceedings of the 15th European conference on pattern languages of programs, New York, NY, USA, pp 13:1–13:13Google Scholar
  12. 12.
    Lanza M, D’Ambros M, Bacchelli A, Hattori L, Rigotti F (2013) Manhattan: supporting real-time visual team activity awareness. In: Proceedings of the 21st international conference on program comprehension, pp 207–210Google Scholar
  13. 13.
    Levy M, Hazzan O (2009) Knowledge management in practice: the case of agile software development. IN: Proceedings of the 2009 ICSE workshops (CHASE’09), pp 60–65Google Scholar
  14. 14.
    Maalej W, Thurimella AK (2015) Managing requirements knowledge. Springer, BerlinGoogle Scholar
  15. 15.
    Martin RC (2003) Agile software development: principles, patterns, and practices. Prentice Hall, Upper Saddle RiverGoogle Scholar
  16. 16.
    Mendes TS, de F. Farias MA, Mendonça M, Soares HF, Kalinowski M, Spínola RO (2016) Impacts of agile requirements documentation debt on software projects: a retrospective study. In: Proceedings of the 31st annual ACM symposium on applied computing, pp 1290–1295Google Scholar
  17. 17.
    Moe NB, Faegri TE, Cruzes DS, Faugstad JE (2016) Enabling knowledge sharing in agile virtual teams. In: Proceedings of the 11th international conference on global software engineering, pp 29–34Google Scholar
  18. 18.
    NTT DATA. NTT DATA: Global IT Innovator. http://www.nttdata.com/global/en/. Accessed 10 Jan 2017
  19. 19.
    NTT R&D. NTT Research & Development. http://www.ntt.co.jp/RD/e/index.html. Accessed 10 Jan 2017
  20. 20.
    Palmer SR, Felsing JM (2002) A practical guide to feature driven development. Prentice Hall, Upper Saddle RiverGoogle Scholar
  21. 21.
    Redmine. Flexible project management. https://redmine.org/. Accessed 03 Jan 2017
  22. 22.
    Rubin KS (2012) Essential Scrum: a practical guide to the most common agile process. Addison-Wesley Professional, BostonGoogle Scholar
  23. 23.
    Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. EmpirSoftw Eng 14(2):131–165Google Scholar
  24. 24.
    Saito S, Iimura Y, Takahashi K, Massey AK, Antón AI (2014) Tracking Requirements evolution by using issue tickets: a case study of a document management and approval system. In: 36th international conference on software engineering, pp 245–254Google Scholar
  25. 25.
    Saito S, Iimura Y, Tashiro H, Massey AK, Antón AI (2016) Visualizing the effects of requirements evolution. In: 38th International conference on software engineering, pp 152–161Google Scholar
  26. 26.
    Saito S, Iimura Y, Massey AK, Antón AI (2017) How much undocumented knowledge is there in agile software development?: Case study on industrial project using issue tracking system and version control system. In: Proceedings of the 25th international conference on requirements engineering, pp 194–203Google Scholar
  27. 27.
    Schwaber K, Beedle M (2001) Agile software development with Scrum. Prentice Hall, Upper Saddle RiverGoogle Scholar
  28. 28.
    Stettina CJ, Heijstek W (2011) Necessary and neglected?: An empirical study of internal documentation in agile software development teams. In: Proceedings of the 29th ACM international conference on design of communication, pp 159–166Google Scholar
  29. 29.
    Trac. Integrated SCM & project management. https://trac.edgewall.org/. Accessed 03 Jan 2017
  30. 30.
    Thurimella AK, Bruegge B, Janzen D (2017) Variability Plug-Ins for Requirements Tools: a Case-Based Theory Building Approach. IEEE Syst J 11(4):1935–1946CrossRefGoogle Scholar
  31. 31.
    Thurimella AK, Schubanz M, Pleuss A, Botterweck G (2017) Guidelines for managing requirement rationales. IEEE Softw 34(1):82–90CrossRefGoogle Scholar
  32. 32.
    Voigt S, von Garrel J, Müller J, Wirth D (2016) A study of documentation in agile software projects. In: Proceedings of the 10th ACM/IEEE international symposium on empirical software engineering and measurement, pp 4:1–4:6Google Scholar
  33. 33.
    Wnuk K, Regnell B, Karlsson L (2009) Feature transition charts for visualization of cross-project scope evolution in large-scale requirements engineering for product lines. In: Proceedings of the 4th international workshop on requirements engineering visualization, pp 11–20Google Scholar
  34. 34.
    Yin RK (2003) Case study research: design and methods, vol 5, 3rd edn. Sage, Thousand OaksGoogle Scholar

Copyright information

© Springer-Verlag London Ltd., part of Springer Nature 2018

Authors and Affiliations

  1. 1.Software Innovation CenterNTT CorporationTokyoJapan
  2. 2.Department of Information SystemsUniversity of Maryland, Baltimore CountyBaltimoreUSA
  3. 3.Georgia Institute of Technology School of Interactive ComputingAtlantaUSA

Personalised recommendations