Managing Requirements Knowledge pp 171-197 | Cite as
Reusing Requirements in Global Software Engineering
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 DocumentNotes
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.Brooks FP Jr (1987) No silver bullet: essence and accidents of software engineering. IEEE Comp 20:10–19CrossRefGoogle Scholar
- 2.Meyer B (1997) Object-oriented software construction, 2nd edn. Prentice-Hall, New YorkzbMATHGoogle Scholar
- 3.Mili H, Mili F, Mili A (1995) Reusing software: issues and research directions. IEEE Trans Softw Eng 21:528–562CrossRefGoogle Scholar
- 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.Sommerville I (2004) Software engineering, 7th edn. Pearson Addison Wesley, BostonGoogle Scholar
- 6.Favaro J (2002) Managing requirements for business value. IEEE Softw 19:15–17CrossRefGoogle Scholar
- 7.Robertson S, Robertson J (2006) Mastering the requirements process, 2nd edn. Addison-Wesley, Upper Saddle RiverGoogle Scholar
- 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.Rine DC, Nada N (2000) An empirical study of a software reuse reference model. Inf Softw Technol 42(1):47–65CrossRefGoogle Scholar
- 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.Damian D, Moitra D (2006) Global software development: how far have we come? IEEE Softw 23:17–19CrossRefGoogle Scholar
- 12.Noll J, Beecham S, Richardson I (2010) Global software development and collaboration: barriers and solutions. ACM Inroads 1(3):66–78CrossRefGoogle Scholar
- 13.Damian D (2007) Stakeholders in global requirements engineering: lessons learned from practice. IEEE Softw 24:21–27CrossRefGoogle Scholar
- 14.Sinha V, Sengupta B, Chandra S (2006) Enabling collaboration in distributed requirements management. IEEE Softw 23:52–61CrossRefGoogle Scholar
- 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.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.Aurum A, Jeffery R, Wohlin C, Handzic M (eds) (2003) Managing software engineering knowledge. Springer, BerlinzbMATHGoogle Scholar
- 18.Rus I, Lindvall M (2002) Knowledge management in software engineering. IEEE Softw 19:26–38CrossRefGoogle Scholar
- 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.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.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.Ebert C, De Man J (2008) Effectively utilizing project, product and process knowledge. Inf Softw Technol 50(6):579–594CrossRefGoogle Scholar
- 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.Portillo Rodríguez J, Ebert C, Vizcaíno A (2010) Technologies and tools for distributed teams. IEEE Softw 27:10–14CrossRefGoogle Scholar
- 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.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.Lethbridge TC, Singer J, Forward A (2003) How software engineers use documentation: the state of the practice. IEEE Softw 20:35–39CrossRefGoogle Scholar
- 28.Ebert C, De Neve P (2001) Surviving global software development. IEEE Softw 18(2):62–69CrossRefGoogle Scholar
- 29.Mika P (2007) Social networks and the semantic web, Semantic web and beyond. Springer, New YorkGoogle Scholar
- 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.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.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.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.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.Desouza KC, Awazu Y, Baloh P (2006) Managing knowledge in global software development efforts: issues and practices. IEEE Softw 23:30–37CrossRefGoogle Scholar
- 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.Schneider K, von Hunnius JP, Basili V (2002) Experience in implementing a learning software organization. IEEE Softw 19:46–49CrossRefGoogle Scholar
- 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.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.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.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.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.Bhat JM, Gupta M, Murthy SN (2006) Overcoming requirements engineering challenges: lessons from offshore outsourcing. IEEE Softw 23:38–44CrossRefGoogle Scholar
- 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.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.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.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.Carmel E, Agarwal R (2001) Tactical approaches for alleviating distance in global software development. IEEE Softw 18:22–29CrossRefGoogle Scholar
- 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.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.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.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.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.Ebert C (2012) Global software and IT: a guide to distributed development, projects, and outsourcing. Wiley, HobokenGoogle Scholar
- 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.Basili VR, Shull F, Lanubile F (1999) Building knowledge through families of experiments. IEEE Trans Softw Eng 25:456–473CrossRefGoogle Scholar
- 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.Allen T (1977) Managing the flow of technology. MIT Press, Cambridge, MAGoogle Scholar