Towards Specification Patterns for Global Software Development Projects - Experiences from the Industry

The quality of a software requirements specification (SRS) is critical to project success, especially in global software development (GSD). Devising a high quality SRS however is difficult. Moreover, companies have compiled their own specification method, and find it impossible to rewrite rolled-out methods so profoundly that they address GSD specific challenges. We describe how Capgemini sd&m addressed this problem by augmenting its specification method by a set of ‘specification patterns’ for GSD projects. These patterns concisely describe practices that analysts have to keep in mind when writing a SRS for an offshore development team. The patterns are agnostic to concrete life cycle models, and can thus be employed in various GSD project settings. We explain how applying the patterns help to melt client, onshore and offshore developers into ‘one team’. A real world case study shows how the patterns have been applied in a GSD project at Capgemini sd&m.

[1]  Päivi Parviainen,et al.  Philips experiences in global distributed software development , 2007, Empirical Software Engineering.

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Gregor Engels,et al.  Assessments in global software development: a tailorable framework for industrial projects , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[4]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .

[5]  Rafael Prikladnicki,et al.  Global software development in practice lessons learned , 2003, Softw. Process. Improv. Pract..

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

[7]  B. Sengupta Test-driven global software development , 2004, ICSE 2004.

[8]  Brian Berenbach,et al.  Software & Systems Requirements Engineering: In Practice , 2009 .

[9]  J.D. Herbsleb,et al.  Global software development at Siemens: experience from nine projects , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[10]  Michael A. Cusumano Managing software development in globally distributed teams , 2008, CACM.

[11]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[12]  James J. Cusick,et al.  A Practical Management and Engineering Approach to Offshore Collaboration , 2006, IEEE Software.

[13]  Ian Graham Requirements Modelling and Specification for Service Oriented Architecture , 2008 .

[14]  Mark T True,et al.  Software Requirements , 2005 .

[15]  Lars Hagge,et al.  Sharing requirements engineering experience using patterns , 2005, IEEE Software.

[16]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[17]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

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

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

[20]  Daniela E. Damian,et al.  An insight into the interplay between culture, conflict and distance in globally distributed requirements negotiations , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[21]  Mohamed El-Attar,et al.  Matching Antipatterns to Improve the Quality of Use Case Models , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[22]  Raghvinder S. Sangwan,et al.  Global software development handbook , 2006 .

[23]  Shan Ling Pan,et al.  Knowledge Transfer in Offshore Insourcing , 2006, ICIS.

[24]  Gregor Engels,et al.  An Integrated Quality Assurance Framework for Specifying Business Information Systems , 2009, CAiSE Forum.

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

[26]  Steven Hall,et al.  Managing Global Development Risk , 2007 .

[27]  Manfred Broy,et al.  Orchestration of Global Software Engineering Projects - Position Paper , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.