Requirements Engineering

, Volume 22, Issue 1, pp 1–26 | Cite as

The role of distances in requirements communication: a case study

Original Article

Abstract

Requirements communication plays a vital role in development projects in coordinating the customers, the business roles and the software engineers. Communication gaps represent a significant source of project failures and overruns. For example, misunderstood or uncommunicated requirements can lead to software that does not meet the customers’ requirements, and subsequent low number of sales or additional cost required to redo the implementation. We propose that requirements engineering (RE) distance measures are useful for locating gaps in requirements communication and for improving on development practice. In this paper, we present a case study of one software development project to evaluate this proposition. Thirteen RE distances were measured including geographical and cognitive distances between project members, and semantic distances between requirements and testing artefacts. The findings confirm that RE distances impact requirements communication and project coordination. Furthermore, the concept of distances was found to enable constructive group reflection on communication gaps and improvements to development practices. The insights reported in this paper can provide practitioners with an increased awareness of distances and their impact. Furthermore, the results provide a stepping stone for further research into RE distances and methods for improving on software development processes and practices.

Keywords

Case study Communication Requirements Testing Measurements Agile Distances 

References

  1. 1.
    Agerfalk PJ, Fitzgerald B, Holmstrom Olsson H, Lings B, Lundell B, ÓConchúir E (2005) A framework for considering opportunities and threats in distributed software development. Proc Int Works Distr Softw Eng DiSD 2005:47–61Google Scholar
  2. 2.
    Allen T (1977) Managing the flow of technology. MIT Press, Cambridge, MAGoogle Scholar
  3. 3.
    Angermo Ringstad M, Dingsøyr T, Moe NB (2011) Agile process improvement: diagnosis and planning to improve teamwork. In: Proceedings of 18th European conference on systems, software and service process improvement (EuroSPI’11), Communications in computer and information science ,vol 172, pp 167–178Google Scholar
  4. 4.
    Barmi ZA, Ebrahimi AH, Feldt R (2011) Alignment of requirements specification and testing: a systematic mapping study. In: Proceedings of the 4th international conference on software testing, verification and validation workshops (ICSTW), pp 476–485Google Scholar
  5. 5.
    Basili VR, Rombach HD (1988) The TAME project: towards improvement-oriented software environments. IEEE Trans Softw Eng 14(6):758–773CrossRefGoogle Scholar
  6. 6.
    Benner P (1982) From novice to expert. Am J Nurs 82(3):402–407Google Scholar
  7. 7.
    Berntsson Svensson R, Aurum A, Paech B, Gorschek T, Sharma D (2012) Software architecture as a means of communication in a globally distributed software development context. In: Proceedings of the 13th international conference on product-focused software process improvement (PROFES’12), pp 175–189Google Scholar
  8. 8.
    Bjarnason E, Wnuk K, Regnell B (2011) Requirements are slipping through the gaps—a case study on cause and effects of communication gaps in large-scale software development. In: Proceedings of the 19th IEEE international requirements engineering conference, pp 37–46Google Scholar
  9. 9.
    Bjarnason E (2013) Distances between requirements engineering and later software development activities: a systematic map. In: Proceedings of requirements engineering for software quality conference (REFSQ) 2013, pp 292–307Google Scholar
  10. 10.
    Bjarnason E, Runeson P, Borg M et al (2013) Challenges and practices in aligning requirements with verification and validation: a case study of six companies. Empirical software engineering, published on-line July 2013Google Scholar
  11. 11.
    Bjarnason E (2013) Research material for Gap Finder evaluation study incl measurement instruments, interview guide etc. (latest access: 2015-02-27). http://serg.cs.lth.se/research/experiment_packages/GapFinder/
  12. 12.
    Bjarnason E, Smolander K, Engström E, Runeson P (2014) Alignment practices affect distances in software development: a theory and a model. 3rd Semat workshop on general theories of software engineering (GTSE14), pp 21–31Google Scholar
  13. 13.
    Bjarnason E, Hess A, Berntsson Svensson R, Regnell B, Doerr J (2014) Reflecting on evidence-based timelines. IEEE Softw 31(4):37–43CrossRefGoogle Scholar
  14. 14.
    Briand LC, Labiche Y, O’Sullivan L, Sówka MM (2006) Automated impact analysis of UML models. J Syst Softw 79(3):339–352CrossRefGoogle Scholar
  15. 15.
    Calefato F, Damian D, Lanubile F (2007) An empirical investigation on text-based communication in distributed requirements workshops. In: Proceedings of 2nd international conference on global software engineering (ICGSE 2007), pp 3–11. doi:10.1109/ICGSE.2007.9
  16. 16.
    Cataldo M, Herbsleb J, Carley K (2008) Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In: Proceedings of 2nd ACM-IEEE international symposium on empirical software engineering and measurements (ESEM ‘08)Google Scholar
  17. 17.
    Charrada EB, Koziolek A, Glinz M (2012) Identifying outdated requirements based on source code changes. In: 20th IEEE international requirements engineering conference (RE), pp 61–70Google Scholar
  18. 18.
    Cheng BH, Atlee JM (2007) Research directions in requirement engineering. In: Proceeding of future of software engineering (FOSE), pp 285–303, May 2007Google Scholar
  19. 19.
    Cleland-Huang J, Chang CK, Christensen M (2003) Event-based traceability for managing evolutionary change. IEEE Trans Softw 29(9):796–810CrossRefGoogle Scholar
  20. 20.
    Curtis B, Krasner H, Iscoe N (1988) A field study of the software design process for large systems. Commun ACM 31(11):1268–1287CrossRefGoogle Scholar
  21. 21.
    Damian D (2001) An empirical study of requirements engineering in distributed software projects: is distance negotiation more effective? In: Proceedings of 8th Asia-Pacific software engineering conference (APSEC 2001), pp 149–152Google Scholar
  22. 22.
    Damian DE, Zowghi D (2003) Requirements engineering challenges in multi-site software development organizations. Req Eng J 8:149–160CrossRefGoogle Scholar
  23. 23.
    Damian D, Chisan J, Vaidyanathasamy L, Pal Y (2005) Requirements engineering and downstream software development: findings from a case study. Empir Softw Eng 10:255–283CrossRefGoogle Scholar
  24. 24.
    Damian D, Kwan I, Marczak S (2010) Requirements-driven collaboration: leveraging the invisible relationships between requirements and people. Collaborative software engineering. Springer, New York, pp 57–76Google Scholar
  25. 25.
    Davis CJ, Tremblay MC, Fuller RM, Berndt DJ (2006) Communication challenges in requirements elicitation and use of the repertory grid technique. J Comput Inf Syst 46(5):78 (Special Issue 2006)Google Scholar
  26. 26.
    De Lucia A, Fasano F, Oliveto R, Tortora G (2007) Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans Softw Eng Methodol 16(4):Article 13Google Scholar
  27. 27.
    Dias Neto AC, Arilo C, Subramanyan R, Vieira M, Travassos GH (2007) A survey on model-based testing approaches: a systematic review. In: Proceedings of 1st ACM international workshop on empirical assessment of software engineering languages and technologies, pp 31–36Google Scholar
  28. 28.
    Dibbern J, Winkler J, Heinz A (2008) Explaining variations in client extra costs between software projects offshored to India. MIS Q Manag Inf Syst 32(2):333–366Google Scholar
  29. 29.
    Feldt R, Staron M, Hult E, Liljegren T (2013) Supporting software decision meetings: heatmaps for visualising test and code measurements. In: Software engineering and advanced applications (SEAA), 39th EUROMICRO conference on, pp 62–69Google Scholar
  30. 30.
    Feldt R, Torkar R, Lefteris A, Samuelsson M (2008) Proceedings of 2008 international workshop on cooperative and human aspects of software engineering (CHASE’08), pp 49–52Google Scholar
  31. 31.
    Flemming WR (1978) Requirements communication. International conference automatic testing (AUTOMTESTCON’78), pp 228–229. doi: 10.1109/AUTEST.1978.764370
  32. 32.
    Fricker S, Glinz M (2010) Comparison of requirements hand-off, analysis, and negotiation: case study. In: Proceedings of IEEE international requirements engineering conference, Sept 2010, pp 167–176. doi:10.1109/RE.2010.29
  33. 33.
    Gotel O, Finkelstein A (1994) An analysis of the requirements traceability problem. In: Proceedings of first international conference on requirements engineering, pp 94–101Google Scholar
  34. 34.
    Grieskamp W, Kicillof N, Stobie K, Braberman V (2011) Model-based quality assurance of protocol documentation: tools and methodology. Softw Test Verif Reliab 21(1):55–71CrossRefGoogle Scholar
  35. 35.
    Hasling B, Goetz H, Beetz K (2008) Model based testing of system requirements using UML use case models. In: Proceedings of 2008 international conference on software testing, verification, and validationGoogle Scholar
  36. 36.
    Hayes JH, Dekhtyar A, Sundaram SK, Holbrook EA, Vadlamudi S, April A (2007) REquirements TRacing on target (RETRO): improving software maintenance through traceability recovery. Innov Syst Softw Eng 3(3):193–202CrossRefGoogle Scholar
  37. 37.
    Hofmann HF, Lehner F (2001) Requirements engineering as a success factor in software projects. IEEE Softw 18(4):58–66CrossRefGoogle Scholar
  38. 38.
    Jalali S, Gencel C, Šmite D (2010) Trust dynamics in global software engineering. In: Proceedings of the 2010 ACM-IEEE international symposium on empirical software engineering and measurement. ACM, New York, p 23Google Scholar
  39. 39.
    Jarke M (1998) Requirements traceability. Comm ACM 41(12):32–36Google Scholar
  40. 40.
    Jilani LL, Desharnais J, Mili A (2001) Defining and applying measures of distance between specifications. IEEE Trans Softw Eng 27(8):673–703CrossRefGoogle Scholar
  41. 41.
    Jørgensen M, Sjøberg D (2000) The importance of NOT learning from experience. Proceedings of European software process improvement, EuroSPI’2000, pp 2.2–2.8Google Scholar
  42. 42.
    Karlsson L, Dahlstedt AG, Regnell B, Natt och Dag J, Persson A (2007) Requirements engineering challenges in market-driven software development-an interview study with practitioners. Inf Softw Technol 49(6):588–604Google Scholar
  43. 43.
    Kraut RE, Streeter L (1995) Coordination in software development. Commun ACM 38(3):69–81CrossRefGoogle Scholar
  44. 44.
    Kukkanen J, Vakevainen K, Kauppinen M, Uusitalo E (2009) Applying a systematic approach to link requirements and testing: a case study. In: Proceedings of Asia-Pacific software engineering conference (APSEC ‘09):482–488Google Scholar
  45. 45.
    Kwan I, Marczak S, Damian D (2007) Viewing project collaborators who work on interrelated requirements. In: Proceedings of 15th IEEE international requirements engineering conference (RE’07), pp 369–370Google Scholar
  46. 46.
    Lormans M, van Deursen A, Gross H (2008) An Industrial case study in reconstructing requirements views. Emp Softw Eng 13(6):727–760CrossRefGoogle Scholar
  47. 47.
    Lubars M, Potts C, Richter C (1993) A review of the state of the practice in requirements modelling. In: Proceedings of 1st IEEE international symposium on requirements engineering, pp 2–14Google Scholar
  48. 48.
    Marczak S, Damian D, Stege U, Schröter A (2008) Information brokers in requirement-dependency social networks. In: Proceedings of 16th IEEE international conference on requirements engineering (RE’08), pp 53–62Google Scholar
  49. 49.
    Marczak S, Damian D (2011) How interaction between roles shapes the communication structure in requirements-driven collaboration. In: 19th IEEE international requirements engineering conference, pp 47–56Google Scholar
  50. 50.
    Martin R, Melnik G (2008) Tests and requirements, requirements and tests a Möbius strip. IEEE Softw 25(1):54–59CrossRefGoogle Scholar
  51. 51.
    Melnik G, Maurer F, Chiasson M (2006) Executable acceptance tests for communicating business requirements: customer perspective. In: Proceedings of agile conference, Minneapolis, USA, pp 12–46Google Scholar
  52. 52.
    Misra SH, Kumar V, Kumar U (2009) Identifying some important success factors in adopting agile software development practices. J Syst Softw 82(11):1869–1890CrossRefGoogle Scholar
  53. 53.
    Mohagheghi P, Dehlen V (2008) Where is the proof? A review of experiences from applying MDE in industry. In: Proceedings of model driven architecture–foundations and applications, pp 432–443Google Scholar
  54. 54.
    Moe NB, Dingsøyr T, Røyrvik EA (2009) Putting agile teamwork to the test—an preliminary instrument for empirically assessing and improving agile software development. In: Proceedings of XP 2009, LNBIP 31, pp 114–123Google Scholar
  55. 55.
    Nebut C, Fleurey F, Traon YL, Jézéquel J (2006) Automatic test generation: a use case driven approach. IEEE Trans Softw Eng 32(3):140–155CrossRefGoogle Scholar
  56. 56.
    Post H, Sinz C, Merz F, Gorges T, Kropf T (2009) Linking functional requirements and software verification. In: Proceedings of 17th IEEE international requirements engineering conference, pp 295–302Google Scholar
  57. 57.
    Ramesh B, Stubbs C, Powers T, Edwards M (1997) Requirements traceability: theory and practice. Ann Softw Eng 3(1):397–415CrossRefGoogle Scholar
  58. 58.
    Ramesh B (1998) Factors influencing requirements traceability practice. Commun ACM CACM Homepage Arch 41(12):37–44CrossRefGoogle Scholar
  59. 59.
    Ramesh B, Cao L, Baskerville R (2010) Agile requirements engineering practices and challenges: an empirical study. Inf Syst J 20(5):449–480CrossRefGoogle Scholar
  60. 60.
    Randell B (1969) Towards a methodology of computing system design. NATO working conference on software engineering 1968, report on a conference sponsored by NATO Scientific Committee, Garmisch, Germany, pp 204–208Google Scholar
  61. 61.
    Regnell B, Runeson P (1998) Combining Scenario-based requirements with static verification and dynamic testing. In: Proceedings of 4th international working conference requirements engineering: foundation for software quality, pp 195–206Google Scholar
  62. 62.
    Regnell B, Runeson P, Wohlin C (2000) Towards integration of use case modelling and usage-based testing. J Syst Softw 50(2):117–130CrossRefGoogle Scholar
  63. 63.
    Robinson H, Segal J, Sharp H (2007) Ethnographically-informed empirical studies of software practice. Inf Softw Technol 49:540–551CrossRefGoogle Scholar
  64. 64.
    Robson C (2002) Real world research, 2nd ed. Blackwell Publishing, HobokenGoogle Scholar
  65. 65.
    Runeson P, Höst M, Rainer A, Regnell B (2012) Case study research in software engineering—guidelines and examples. Wiley, HobokenGoogle Scholar
  66. 66.
    Sabaliauskaite G, Loconsole A, Engström E, Unterkalmsteiner M, Regnell B, Runeson P, Gorschek T, Feldt R (2010) Challenges in aligning requirements engineering and verification in a large-scale industrial context. In: Proceedings of REFSQ 2010Google Scholar
  67. 67.
    Stapel K, Knauss E, Schneider K (2009) Using FLOW to improve communication of requirements in globally distributed software projects. In: IEEE proceedings of international workshop on collaboration and intercultural issues on requirements: communication, understanding and softskills, pp 5–14Google Scholar
  68. 68.
    Stapel K, Knauss E, Schneider K, Zazworka N (2011) FLOW mapping: planning and managing communication in distributed teams. In: Proceedings of 6th IEEE international conference on global software engineering (ICGSE), pp 190–199Google Scholar
  69. 69.
    Tsun C, Dac-Buu C (2008) A survey study of critical success factors in agile software projects. J Syst Softw 81(6):961–971CrossRefGoogle Scholar
  70. 70.
    Uusitalo EJ, Komssi M, Kauppinen M et al (2008) Linking requirements and testing in practice. In: 16th IEEE international requirements engineering conference, NJ, USA, pp 265–270Google Scholar
  71. 71.
    Watkins R, Neal M (1994) Why and how of requirements tracing. IEEE Softw 11(4):104–106CrossRefGoogle Scholar
  72. 72.
    Wolf T, Nguyen T, Damian D (2008) Does distance still matter? J Impr Practice Softw Process 13(6):493–510Google Scholar
  73. 73.
    Yue T, Briand LC, Labiche Y (2011) A systematic review of transformation approaches between user requirements and analysis models. Requir Eng 16(2):75–99CrossRefGoogle Scholar
  74. 74.
    von Zedtwitz M (2002) Organizational learning through post-project reviews in R&D. R&D Manag 32(3):255–268CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London 2015

Authors and Affiliations

  1. 1.Department of Computer ScienceLund UniversityLundSweden
  2. 2.Centre for Research in ComputingThe Open UniversityMilton KeynesUK

Personalised recommendations