Advertisement

Reusing Requirements in Global Software Engineering

  • Juan Manuel Carrillo de GeaEmail author
  • Joaquín Nicolás
  • José Luis Fernández Alemán
  • Ambrosio Toval
  • A. Vizcaíno
  • Christof Ebert
Chapter

Abstract

Knowledge sharing and reuse in global software engineering (GSE) are challenging issues. Knowledge management (KM) is specifically impacted because on top of distance, culture and language mismatches, there is also the perceived risk of sharing something which could mean that others could take over some work. Mistrust and protectionism are often the consequence, leading to insufficient reuse. This is visible specifically in requirements engineering (RE), where all reuse should start. In this chapter, we will look to reuse in RE with a detailed look on how to improve knowledge sharing and collaboration in distributed environments. We first look into the state of the practice. Then we present a lightweight, reuse-based, global RE method called PANGEA (Process for globAl requiremeNts enGinEering and quAlity), based on natural language requirements and software engineering standards. Based on this method, we also build a prototypical tool, called PANTALASA (PANgea Tool And Lightweight Automated Support Architecture) which provides automated support for PANGEA. Its features are drawn from PANGEA and the state of the practice commercially available RE tools. A prototype of PANTALASA was developed by using Semantic MediaWiki and Facebook and applied to a case study in the domain of hotel management. We could show with this method and prototype that collaboration and thus KM and reuse in RE are improved.

Keywords

Knowledge Management Requirement Engineering Team Leader Software Reuse Requirement Document 
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 has been funded by the PEGASO/PANGEA project (TIN2009-13718-C02-02), the ORIGIN Integrated Project (IDI-2010043 (1–5)) and the ENGLOBAS Project (PII2I09-0147-8235).

References

  1. 1.
    Brooks FP Jr (1987) No silver bullet: essence and accidents of software engineering. IEEE Comp 20:10–19CrossRefGoogle Scholar
  2. 2.
    Meyer B (1997) Object-oriented software construction, 2nd edn. Prentice-Hall, New YorkzbMATHGoogle Scholar
  3. 3.
    Mili H, Mili F, Mili A (1995) Reusing software: issues and research directions. IEEE Trans Softw Eng 21:528–562CrossRefGoogle Scholar
  4. 4.
    Cybulski JL, Reed K (2000) Requirements classification and reuse: crossing domain boundaries. In: Proceedings of the 6th international conference on software reuse: advances in software reusability, Vienna, pp 190–210Google Scholar
  5. 5.
    Sommerville I (2004) Software engineering, 7th edn. Pearson Addison Wesley, BostonGoogle Scholar
  6. 6.
    Favaro J (2002) Managing requirements for business value. IEEE Softw 19:15–17CrossRefGoogle Scholar
  7. 7.
    Robertson S, Robertson J (2006) Mastering the requirements process, 2nd edn. Addison-Wesley, Upper Saddle RiverGoogle Scholar
  8. 8.
    Cheng BHC, Atlee JM (2007) Research directions in requirements engineering. In: Future of software engineering, IEEE Computer Society, Minneapolis, USA, pp 285–303Google Scholar
  9. 9.
    Rine DC, Nada N (2000) An empirical study of a software reuse reference model. Inf Softw Technol 42(1):47–65CrossRefGoogle Scholar
  10. 10.
    Herbsleb JD (2007) Global software engineering: the future of socio-technical coordination. In: Future of software engineering, IEEE Computer Society, Minneapolis, USA, pp 188–198Google Scholar
  11. 11.
    Damian D, Moitra D (2006) Global software development: how far have we come? IEEE Softw 23:17–19CrossRefGoogle Scholar
  12. 12.
    Noll J, Beecham S, Richardson I (2010) Global software development and collaboration: barriers and solutions. ACM Inroads 1(3):66–78CrossRefGoogle Scholar
  13. 13.
    Damian D (2007) Stakeholders in global requirements engineering: lessons learned from practice. IEEE Softw 24:21–27CrossRefGoogle Scholar
  14. 14.
    Sinha V, Sengupta B, Chandra S (2006) Enabling collaboration in distributed requirements management. IEEE Softw 23:52–61CrossRefGoogle Scholar
  15. 15.
    Gallardo-Valencia RE, Sim SE (2009) Continuous and collaborative validation: a field study of requirements knowledge in agile. In: Proceedings of the 2nd international workshop on managing requirements knowledge, IEEE Computer Society, Atlanta, USA, pp 65–74Google Scholar
  16. 16.
    Manteli C, van den Hooff B, Tang A, van Vliet H (2011) The impact of multi-site software governance on knowledge management. In: Proceedings of the 6th IEEE international conference on global software engineering, IEEE Computer Society, Helsinki, Finland, pp 40–49Google Scholar
  17. 17.
    Aurum A, Jeffery R, Wohlin C, Handzic M (eds) (2003) Managing software engineering knowledge. Springer, BerlinzbMATHGoogle Scholar
  18. 18.
    Rus I, Lindvall M (2002) Knowledge management in software engineering. IEEE Softw 19:26–38CrossRefGoogle Scholar
  19. 19.
    Ebling T, Nicolas Audy JL, Prikladnicki R (2009) A systematic literature review of requirements engineering in distributed software development environments. In: Proceedings of the 11th international conference on enterprise information systems, Milan, Italy, pp 363–366Google Scholar
  20. 20.
    Berenbach B (2006) Impact of organizational structure on distributed requirements engineering processes: lessons learned. In: Proceedings of the international workshop on global software development for the practitioner, ACM, Shanghai, China, pp 15–19Google Scholar
  21. 21.
    Al-Ani B (2010) Questions regarding knowledge engineering and management. In: Proceedings of the 5th IEEE International conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 324–329Google Scholar
  22. 22.
    Ebert C, De Man J (2008) Effectively utilizing project, product and process knowledge. Inf Softw Technol 50(6):579–594CrossRefGoogle Scholar
  23. 23.
    Ågerfalk PJ, Fitzgerald B, Holmström H, Lings B, Lundell B, Conchúir EO (2005) A framework for considering opportunities and threats in distributed software development. In: Proceedings of the international workshop on distributed software development, Austrian Computer Society, Paris, France, pp 47–61Google Scholar
  24. 24.
    Portillo Rodríguez J, Ebert C, Vizcaíno A (2010) Technologies and tools for distributed teams. IEEE Softw 27:10–14CrossRefGoogle Scholar
  25. 25.
    Portillo Rodríguez J, Vizcaíno A, Ebert C, Piattini M (2010) Tools to support global software development processes: a survey. In: Proceedings of the 5th IEEE international conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 13–22Google Scholar
  26. 26.
    Edwards JS (2003) Managing software engineers and their knowledge. In: Aurum A, Jeffery R, Wohlin C, Handzic M (eds) Managing software engineering knowledge. Springer, Berlin, pp 5–27CrossRefGoogle Scholar
  27. 27.
    Lethbridge TC, Singer J, Forward A (2003) How software engineers use documentation: the state of the practice. IEEE Softw 20:35–39CrossRefGoogle Scholar
  28. 28.
    Ebert C, De Neve P (2001) Surviving global software development. IEEE Softw 18(2):62–69CrossRefGoogle Scholar
  29. 29.
    Mika P (2007) Social networks and the semantic web, Semantic web and beyond. Springer, New YorkGoogle Scholar
  30. 30.
    Beecham S, Noll J, Richardson I, Ali N (2010) Crafting a global teaming model for architectural knowledge. In: Proceedings of the 5th IEEE international conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 55–63Google Scholar
  31. 31.
    Ali N, Beecham S, Mistrík I (2010) Architectural knowledge management in global software development: a review. In: Proceedings of the 5th IEEE international conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 347–352Google Scholar
  32. 32.
    Hall JG, Jackson M, Laney RC, Nuseibeh B, Rapanotti L (2002) Relating software requirements and architectures using problem frames. In: Proceedings of the 10th anniversary IEEE joint international conference on requirement engineering, IEEE Computer Society, Essen, Germany, pp 137–144Google Scholar
  33. 33.
    Clerc V (2008) Towards architectural knowledge management practices for global software development. In: Proceedings of the 3rd international workshop on sharing and reusing architectural knowledge, ACM, Leipzig, Germany, pp 23–28Google Scholar
  34. 34.
    López A, Nicolás J, Toval A (2009) Risks and safeguards for the requirements engineering process in global software development. In: Proceedings of the 4th IEEE international conference on global software engineering, IEEE Computer Society, Limerick, Ireland, pp 394–399Google Scholar
  35. 35.
    Desouza KC, Awazu Y, Baloh P (2006) Managing knowledge in global software development efforts: issues and practices. IEEE Softw 23:30–37CrossRefGoogle Scholar
  36. 36.
    Kucza T, Nättinen M, Parviainen P (2001) Improving knowledge management in software reuse process. In: Proceedings of the 3rd international conference on product focused software process improved, Kalserslautern, pp 141–152Google Scholar
  37. 37.
    Schneider K, von Hunnius JP, Basili V (2002) Experience in implementing a learning software organization. IEEE Softw 19:46–49CrossRefGoogle Scholar
  38. 38.
    Seaman CB, Mendonça MG, Basili VR, Kim YM (2003) User interface evaluation and empirically-based evolution of a prototype experience management tool. IEEE Trans Softw Eng 29:838–850CrossRefGoogle Scholar
  39. 39.
    Maalej W, Thurimella AK, Happel HJ, Decker B (2008) Managing requirements knowledge (MaRK’08). In: Proceedings of the 1st international workshop on managing requirement knowledge, IEEE Computer Society, Barcelona, Spain, pp i–iiGoogle Scholar
  40. 40.
    Ma L, Nuseibeh B, Piwek P, Roeck AD, Willis A (2009) On presuppositions in requirements. In: Proceedings of the 2nd international workshop on managing requirement knowledge, IEEE Computer Society, Atlanta, USA, pp 27–31Google Scholar
  41. 41.
    Damian D, Zowghi D (2002) The impact of stakeholders’ geographical distribution on managing requirements in a multi-site organization. In: Proceedings of the 10th anniversary IEEE joint international conference on requirements engineering, IEEE Computer Society, Essen, Germany, pp 319–330Google Scholar
  42. 42.
    Kwan I, Damian D, Marczak S (2007) The effects of distance, experience, and communication structure on requirements awareness in two distributed industrial software projects. In: Proceedings of the 1st international global requirements engineering workshop, Munich, Germany, pp 29–35Google Scholar
  43. 43.
    Bhat JM, Gupta M, Murthy SN (2006) Overcoming requirements engineering challenges: lessons from offshore outsourcing. IEEE Softw 23:38–44CrossRefGoogle Scholar
  44. 44.
    Hsieh Y (2006) Culture and shared understanding in distributed requirements engineering. In: Proceedings of the IEEE international conference on global software engineering, IEEE Computer Society, Florianopolis, Brazil, pp 101–108Google Scholar
  45. 45.
    Betz S, Oberweis A, Stephan R (2010) Knowledge transfer in IT offshore outsourcing projects: an analysis of the current state and best practices. In: Proceedings of the 5th IEEE international conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 330–335Google Scholar
  46. 46.
    Herbsleb JD, Mockus A (2003) An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng 29:481–494CrossRefGoogle Scholar
  47. 47.
    Szulanski G, Winter S, Grant R, Spender JC, Kogut B, Miner A, Ghoshal S (2000) The process of knowledge transfer: a diachronic analysis of stickiness. Organ Behav Hum Dec Proc 82:9–27CrossRefGoogle Scholar
  48. 48.
    Carmel E, Agarwal R (2001) Tactical approaches for alleviating distance in global software development. IEEE Softw 18:22–29CrossRefGoogle Scholar
  49. 49.
    Correia FF, Aguiar A (2009) Software knowledge capture and acquisition: tool support for agile settings. In: Proceedings of the 4th international conference on software engineering advanced, IEEE Computer Society, Limerick, Ireland, pp 542–547Google Scholar
  50. 50.
    Clerc V, de Vries E, Lago P (2010) Using wikis to support architectural knowledge management in global software development. In: Proceedings of the ICSE workshop on sharing and reusing architectural knowledge, ACM, Cape Town, South Africa, pp 37–43Google Scholar
  51. 51.
    Oshri I, van Fenema PC, Kotlarsky J (2008) Knowledge transfer in globally distributed teams: the role of transactive memory. Inf Syst J 18(6):593–616CrossRefGoogle Scholar
  52. 52.
    Lee SB, Shiva SG (2010) An approach to overcoming knowledge sharing challenges in a corporate IT environment. In: Proceedings of the 5th IEEE international conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 342–346Google Scholar
  53. 53.
    Kotlarsky J, Oshri I (2005) Social ties, knowledge sharing and successful collaboration in globally distributed system development projects. Eur J Inf Syst 14:37–48CrossRefGoogle Scholar
  54. 54.
    Ebert C (2012) Global software and IT: a guide to distributed development, projects, and outsourcing. Wiley, HobokenGoogle Scholar
  55. 55.
    Heindl M, Reinisch F, Biffl S (2007) Requirements management infrastructures in global software development – Towards application lifecycle management with role-based in-time notification. In: Proceedings of the international conference on global software engineering (ICGSE), workshop on tool-supported requirements management in distributed projects (REMIDI), Munich, GermanyGoogle Scholar
  56. 56.
    Mistrík I, Grundy J, Van der Hoek A, Whitehead J (2010) Collaborative software engineering: challenges and prospects. In: Mistrík I, Grundy J, Van der Hoek A, Whitehead J (eds) Collaborative software engineering. Springer, Berlin/Heidelberg, pp 389–403CrossRefGoogle Scholar
  57. 57.
    Laurent P (2010) Globally distributed requirements engineering. In: Proceedings of the 5th IEEE international conference on global software engineering, IEEE Computer Society, Princeton, USA, pp 361–362Google Scholar
  58. 58.
    Monteiro MR, Ebert C, Recknagel M (2009) Improving the exchange of requirements and specifications between business partners. In: Proceedings of the 17th IEEE international requirements engineering conference, IEEE Computer Society, Atlanta, USA, pp 253–260Google Scholar
  59. 59.
    Toval A, Nicolás J, Moros B, García F (2002) Requirements reuse for improving information systems security: a practitioner’s approach. Requir Eng 6:205–219zbMATHCrossRefGoogle Scholar
  60. 60.
    Sommerville I, Ransom J (2005) An empirical study of industrial requirements engineering process assessment and improvement. ACM Trans Softw Eng Methodol 14:85–117CrossRefGoogle Scholar
  61. 61.
    Toval A, Moros B, Nicolás J, Lasheras J (2008) Eight key issues for an effective reuse-based requirements process. Comp Syst Sci Eng 23:1–13Google Scholar
  62. 62.
    Toval A, Olmos A, Piattini M (2002) Legal requirements reuse: a critical success factor for requirements quality and personal data protection. In: Proceedings of the 10th anniversary IEEE joint international conference on requirement engineering, IEEE Computer Society, Essen, Germany, pp 95–103Google Scholar
  63. 63.
    Martínez MA, Lasheras J, Fernández-Medina E, Toval A, Piattini M (2010) A personal data audit method through requirements engineering. Comp Stand Interf 32:166–178CrossRefGoogle Scholar
  64. 64.
    Nicolás J, Lasheras J, Toval A, Ortiz FJ, Álvarez B (2009) An integrated domain analysis approach for teleoperated systems. Requir Eng 14:27–46CrossRefGoogle Scholar
  65. 65.
    Carrillo de Gea JM, Nicolás J, Fernández Alemán JL, Toval A, Ebert C, Vizcaíno A (2011) Requirements engineering tools. IEEE Softw 28(4):86–91CrossRefGoogle Scholar
  66. 66.
    ISO/IEC JTC 1 SC 7: ISO/IEC TR 24766 (2009) Information technology – systems and software engineering – guide for requirements engineering tool capabilities, 1st edn. ISO, GenevaGoogle Scholar
  67. 67.
    Uenalan O, Riegel N, Weber S, Doerr J (2009) Using enhanced wiki-based solutions for managing requirements. In: Proceedings of the 2nd international workshop on managing requirement knowledge, IEEE Computer Society, Atlanta, USA, pp 63–67Google Scholar
  68. 68.
    Ugai T, Aoyama K (2009) Domain knowledge wiki for eliciting requirements. In: Proceedings of the 2nd international workshop on managing requirement knowledge, IEEE Computer Society, Atlanta, USA, pp 4–6Google Scholar
  69. 69.
    Liang P, Avgeriou P, Clerc V (2009) Requirements reasoning for distributed requirements analysis using semantic wiki. In: Proceedings of the 4th IEEE international conference on global software engineering, IEEE Computer Society, Limerick, Ireland, pp 388–393Google Scholar
  70. 70.
    Whitehead J, Mistrík I, Grundy J, Van der Hoek A (2010) Collaborative software engineering: concepts and techniques. In: Mistrík I, Grundy J, Van der Hoek A, Whitehead J (eds) Collaborative software engineering. Springer, Berlin/Heidelberg, pp 1–30CrossRefGoogle Scholar
  71. 71.
    Lim SL, Quercia D, Finkelstein A (2010) StakeSource: harnessing the power of crowdsourcing and social networks in stakeholder analysis. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, ACM, Cape Town, South Africa, pp 239–242Google Scholar
  72. 72.
    Lim SL, Damian D, Finkelstein A (2011) StakeSource2.0: using social networks of stakeholders to identify and prioritise requirements. In: Proceedings of the 33rd international conference on software engineering, Waikiki, pp 1022–1024Google Scholar
  73. 73.
    Carver J, Jaccheri L, Morasca S, Shull F (2003) Issues in using students in empirical studies in software engineering education. In: Proceedings of the 9th IEEE international symposium on software metrics, IEEE Computer Society, Sydney, Australia, pp 239–249Google Scholar
  74. 74.
    Carver J, Jaccheri L, Morasca S, Shull F (2003) Using empirical studies during software courses. In: Conradi R, Wang A (eds) Empirical methods and studies in software engineering, Lecturer notes in computer science, vol 2765, Springer, Berlin/Heidelberg, pp 81–103Google Scholar
  75. 75.
    Kitchenham BA, Pfleeger SL, Pickard LM, Jones PW, Hoaglin DC, Emam KE, Rosenberg J (2002) Preliminary guidelines for empirical research in software engineering. IEEE Trans Softw Eng 28:721–734CrossRefGoogle Scholar
  76. 76.
    Basili VR, Shull F, Lanubile F (1999) Building knowledge through families of experiments. IEEE Trans Softw Eng 25:456–473CrossRefGoogle Scholar
  77. 77.
    Svahnberg M, Aurum A, Wohlin C (2008) Using students as subjects – An empirical evaluation. In: Proceedings of the 2nd ACM-IEEE international symposium on empirical software engineering & measurement, ACM, Kaiserslautern, Germany, pp 288–290Google Scholar
  78. 78.
    Allen T (1977) Managing the flow of technology. MIT Press, Cambridge, MAGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Juan Manuel Carrillo de Gea
    • 1
    Email author
  • Joaquín Nicolás
    • 1
  • José Luis Fernández Alemán
    • 1
  • Ambrosio Toval
    • 1
  • A. Vizcaíno
    • 2
  • Christof Ebert
    • 3
  1. 1.Universidad de MurciaMurciaSpain
  2. 2.Universidad de Castilla - La ManchaCiudad RealSpain
  3. 3.Vector Consulting ServicesStuttgartGermany

Personalised recommendations