Reusing Requirements in Global Software Engineering

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.

[1]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[2]  Ademar Aguiar,et al.  Software Knowledge Capture and Acquisition: Tool Support for Agile Settings , 2009, 2009 Fourth International Conference on Software Engineering Advances.

[3]  Christof Ebert,et al.  Surviving Global Software Development , 2001, IEEE Softw..

[4]  Christof Ebert Global Software and IT: A Guide to Distributed Development, Projects, and Outsourcing , 2011 .

[5]  Walid Maalej,et al.  Managing Requirements Knowledge (MaRK_08) , 2008 .

[6]  André van der Hoek,et al.  Collaborative Software Engineering: Concepts and Techniques , 2010, Collaborative Software Engineering.

[7]  Antony Tang,et al.  The Impact of Multi-site Software Governance on Knowledge Management , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering.

[8]  Mario Piattini,et al.  Tools to Support Global Software Development Processes: A Survey , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[9]  Ilan Oshri,et al.  Social ties, knowledge sharing and successful collaboration in globally distributed system development projects , 2005, Eur. J. Inf. Syst..

[10]  T. Allen Managing the flow of technology , 1977 .

[11]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[12]  Victor R. Basili,et al.  User Interface Evaluation and Empirically-Based Evolution of a Prototype Experience Management Tool , 2003, IEEE Trans. Software Eng..

[13]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[14]  Christof Ebert,et al.  Improving the Exchange of Requirements and Specifications between Business Partners , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[15]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[16]  Sabrina Marczak,et al.  The Effects of Distance, Experience, and Communication Structure on Requirements Awareness in Two Distributed Industrial Software Projects , 2007 .

[17]  Jeffrey C. Carver,et al.  Issues in using students in empirical studies in software engineering education , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[18]  Bashar Nuseibeh,et al.  Relating software requirements and architectures using problem frames , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[19]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[20]  Antony Tang,et al.  The Impact of Multi-site Governance on Knowledge Management , 2011, ICGSE 2011.

[21]  Rafael Prikladnicki,et al.  A Systematic Literature Review of Requirements Engineering in Distributed Software Development Environments , 2009, ICEIS.

[22]  John Grundy,et al.  Collaborative Software Engineering , 2010 .

[23]  Joaquín Nicolás,et al.  Risks and Safeguards for the Requirements Engineering Process in Global Software Development , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[24]  Kevin C. Desouza,et al.  Managing Knowledge in Global Software Development Efforts: Issues and Practices , 2006, IEEE Software.

[25]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[26]  Pär J. Ågerfalk,et al.  A framework for considering opportunities and threats in distributed software development , 2005 .

[27]  Jyoti M. Bhat,et al.  Overcoming Requirements Engineering Challenges: Lessons from Offshore Outsourcing , 2006, IEEE Software.

[28]  Nour Ali,et al.  Architectural Knowledge Management in Global Software Development: A Review , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[29]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[30]  Victor R. Basili,et al.  Experience in Implementing a Learning Software Organization , 2002, IEEE Softw..

[31]  Jeffrey C. Carver,et al.  Using Empirical Studies during Software Courses , 2003, ESERNET.

[32]  Lin Ma,et al.  On Presuppositions in Requirements , 2009, 2009 Second International Workshop on Managing Requirements Knowledge.

[33]  Joaquín Nicolás,et al.  Requirements Reuse for Improving Information Systems Security: A Practitioner’s Approach , 2002, Requirements Engineering.

[34]  J. Favare,et al.  Managing requirements for business value , 2002 .

[35]  Daniela E. Damian,et al.  StakeSource2.0: using social networks of stakeholders to identify and prioritise requirements , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[36]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[37]  Ilan Oshri,et al.  Knowledge transfer in globally distributed teams: the role of transactive memory , 2008, Inf. Syst. J..

[38]  Ban Al-Ani Questions Regarding Knowledge Engineering and Management , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[39]  Daniela E. Damian,et al.  Stakeholders in Global Requirements Engineering: Lessons Learned from Practice , 2007, IEEE Software.

[40]  Peng Liang,et al.  Requirements Reasoning for Distributed Requirements Analysis Using Semantic Wiki , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[41]  Brian Berenbach,et al.  Impact of organizational structure on distributed requirements engineering processes: lessons learned , 2006, GSD '06.

[42]  Daniela E. Damian,et al.  The impact of stakeholders' geographical distribution on managing requirements in a multi-site organization , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[43]  Jörg Dörr,et al.  Using Enhanced Wiki-based Solutions for Managing Requirements , 2008, 2008 First International Workshop on Managing Requirements Knowledge.

[44]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[45]  Joaquín Nicolás,et al.  Eight key issues for an effective reuse-based requirements process , 2008, Comput. Syst. Sci. Eng..

[46]  John M. Favaro Managing Requirements for Business Value , 2002, IEEE Softw..

[47]  Joaquín Nicolás,et al.  An integrated domain analysis approach for teleoperated systems , 2009, Requirements Engineering.

[48]  Gabriel Szulanski The Process of Knowledge Transfer: A Diachronic Analysis of Stickiness , 2000 .

[49]  Claes Wohlin,et al.  Using students as subjects - an empirical evaluation , 2008, ESEM '08.

[50]  James D. Herbsleb,et al.  Global Software Engineering: The Future of Socio-technical Coordination , 2007, Future of Software Engineering (FOSE '07).

[51]  John S. Edwards,et al.  Managing software engineers and their knowledge , 2003 .

[52]  Bikram Sengupta,et al.  Enabling Collaboration in Distributed Requirements Management , 2006, IEEE Software.

[53]  Meliha Handzic,et al.  Managing Software Engineering Knowledge , 2010, Springer Berlin Heidelberg.

[54]  Daniele Quercia,et al.  StakeSource: harnessing the power of crowdsourcing and social networks in stakeholder analysis , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[55]  Jacob L. Cybulski,et al.  Requirements Classification and Reuse: Crossing Domain Boundaries , 2000, ICSR.

[56]  Päivi Parviainen,et al.  Improving Knowledge Management in Software Reuse Process , 2001, PROFES.

[57]  Stefanie Betz,et al.  Knowledge Transfer in IT Offshore Outsourcing Projects: An Analysis of the Current State and Best Practices , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[58]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[59]  Viktor Clerc,et al.  Towards architectural knowledge management practices for global software development , 2008, SHARK '08.

[60]  Ita Richardson,et al.  Crafting a Global Teaming Model for Architectural Knowledge , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[61]  Peter Mika,et al.  Social Networks and the Semantic Web , 2007, IEEE/WIC/ACM International Conference on Web Intelligence (WI'04).

[62]  Daniela E. Damian,et al.  Guest Editors' Introduction: Global Software Development: How Far Have We Come? , 2006, IEEE Software.

[63]  Christof Ebert,et al.  Effectively utilizing project, product and process knowledge , 2008, Inf. Softw. Technol..

[64]  Ian Sommerville,et al.  An empirical study of industrial requirements engineering process assessment and improvement , 2005, TSEM.

[65]  Suzanne Robertson,et al.  Mastering the Requirements Process (2nd Edition) , 2006 .

[66]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[67]  Aurora Vizcaíno,et al.  Technologies and Tools for Distributed Teams , 2010, IEEE Software.

[68]  André van der Hoek,et al.  Collaborative Software Engineering: Challenges and Prospects , 2010, Collaborative Software Engineering.

[69]  Takanori Ugai,et al.  Domain Knowledge Wiki for Eliciting Requirements , 2009, 2009 Second International Workshop on Managing Requirements Knowledge.

[70]  Mario Piattini,et al.  A Personal Data Audit Method through Requirements Engineering , 2010, Comput. Stand. Interfaces.

[71]  Peter Mika Social Networks and the Semantic Web (Semantic Web and Beyond) , 2007 .

[72]  Paula Laurent Globally Distributed Requirements Engineering , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[73]  Patricia Lago,et al.  Using wikis to support architectural knowledge management in global software development , 2010, SHARK '10.

[74]  Yvonne Hsieh,et al.  Culture and Shared Understanding in Distributed Requirements Engineering , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[75]  Mario Piattini,et al.  Legal requirements reuse: a critical success factor for requirements quality and personal data protection , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[76]  Nader Nada,et al.  An empirical study of a software reuse reference model , 2000, Inf. Softw. Technol..

[77]  Rosalva E. Gallardo-Valencia,et al.  Continuous and Collaborative Validation: A Field Study of Requirements Knowledge in Agile , 2009, 2009 Second International Workshop on Managing Requirements Knowledge.

[78]  Ita Richardson,et al.  Global software development and collaboration: barriers and solutions , 2010, INROADS.

[79]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[80]  Aurora Vizcaíno,et al.  Requirements Engineering Tools , 2011, IEEE Software.

[81]  Sajjan G. Shiva,et al.  An Approach to Overcoming Knowledge Sharing Challenges in a Corporate IT Environment , 2010, 2010 5th IEEE International Conference on Global Software Engineering.