Top Banner
Requirements Engineering In Global Software Development
33
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: RE in Global Software Development

Requirements Engineering

In Global Software Development

Page 2: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

What is Global Software Development (GSD)?

• “Software work undertaken at geographically separated locations across national boundaries in a coordinated fashion involving real time (synchronous) and asynchronous interaction” .

• GSD Involves– Communication for information exchange.– Coordination of groups, activities and artifacts so they

contribute to the overall objective.– Control of groups (adhering to goals and policies) and

artifacts (quality, visibility & management).

Page 3: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Global Team

A global software team is defined as separated by a national boundary while actively collaborating on a common software/system project.

Page 4: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

It is good to know!

• Outsourcing:– Transfer of an activity to an external provider

• Offshore outsourcing:– Outsourcing when the external provider is in another country

• Offshoring:– Transfer of an activity to another country– With or without outsourcing

• Global software development (GSD)– Software development that uses teams from multiple geographic

locations– With or without outsourcing– With or without offshoring

Page 5: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Same Different

Same Offshoring

Different Outsourcing Offshoreoutsourcing

Country

Com

pany

Page 6: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

GSD: Challenges

• Why global software development is different from the traditional co-located development?

• The main difference is the distance between the groups of developers.

• Distance!!– Temporal distance– Spatial/geographical distance– Socio-cultural distance

Page 7: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Distance

3 3x2 3x3

2 2x2 2x3

1 2 3

Country

Com

pany

Geographical Distance

Org

an

iza

tio

na

l Dis

tan

ce

Page 8: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

GSD: Challenges

• Challenges affect:– project management– development process– communication, coordination, collaboration and

knowledge management– planning, management and development of

product artifacts– …

Page 9: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

GSD : Challenges

• Strategic issues: when, to whom and how, task allocation.• Communication issues: distance, time zone difference,

infrastructure support, distinct backgrounds, lack of informal communication.

• Coordination complexity• Cultural issues: power distance, individualism vs. collectivism,

attitude to time etc.• Geographical dispersion: vendor support, access to experts,

software practices that need face-to-face comm. • Technical issues: information and artifact sharing, software

architecture.• Knowledge management: slow communication, poor

documentation, tacit knowledge, repositories etc.

Page 10: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Framework

• Two dimensional framework by Ågerfalk et al for distributed development

• Process– Communication– Coordination– Control

• Distance– Temporal– Geographical– Socio-cultural

Page 11: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

C3

• Communication is “the exchange of complete and unambiguous information - that is, the sender and receiver can reach a common understanding.”

• Coordination is “the act of integrating each task with each organizational unit, so the unit contributes to the overall objective.”

• Control is “the process of adhering to goals, policies, standards, or quality levels.”

Page 12: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Distance

• Geographical distance is a directional measure of the effort required for one actor to visit another at the latter's home site.

• Temporal distance is a directional measure of the dislocation in time experienced by two actors wishing to interact.

• Socio-cultural distance is a directional measure of an actor's understanding of another actor's values and normative practices.

Page 13: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Temporal distance challenges

• Communication:– Being effective (asynchronous is less effective,

misunderstandings, …)• Coordination:

– Cost is larger (travels, infrastructure cost, …)• Control:

– Delays (wait for next teleconference meeting, send email and wait, search for contact, …)

Page 14: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Geographical distance challenges

• Communication:– Effective information exchange (less informal exchange,

different languages, different domain knowledge, …)– Build a team (cohesiveness, “them and us” feelings, trust, …)

• Coordination:– Task awareness (shared mental model, …)– Sense of urgency (perception, …)

• Control:– Accurate status information (tracking, blaming, …)– Uniform process (different tools and techniques, …)

Page 15: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Sociocultural distance challenges

• Communication:– Cultural misunderstandings (corporate, technical,

national, …)• Coordination:

– Effectiveness (vocabulary, communication style, …)• Control:

– Quality and expertise (CMM level 5 does not guarantee quality)

Page 16: RE in Global Software Development

Requirements Validation

in GSD

Page 17: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Requirements Validation

• Requirements validation activities are performed to ensure the following desired properties:– Correctness– Consistency– Completeness– Non-ambiguity– Feasibility

• The techniques widely used for validating requirements include prototyping, animations, inspections and natural language validation.

17

Page 18: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• Requirements Validation is a communication-intensive activity.– It requires interactions between a diverse group of people

including analysts, customers of the intended system and users in the problem domain.

• Given the differences in their backgrounds, skills and knowledge, increased communication is required to bridge the gap between them.

• Carrying out this communication and coordination between the relevant stakeholders is a key challenge of Global Software Development (GSD).

18

Requirements Validation in GSD

Page 19: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• How effective are traditional Requirements Validation techniques, with respect to communication and coordination, when applied in a globally distributed software development environment?

• What possible measures can be taken to improve the effectiveness of these techniques in GSD with respect to communication and coordination?

19

Research Question

Page 20: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• We proposed a four-dimensional framework to evaluate and compare various widely used collaborative RV techniques.

• The choice of dimensions for the framework is based on a review of the literature pertaining to:– communication and coordination problems in GSD– communication and coordination requirements for a

particular technique– factors that enable and influence communication and

coordination in a geographically distributed environment.

20

Framework for Evaluation of RV techniques

Page 21: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• The figure depicts the proposed framework for four-dimensional view on a Requirements Validation technique.

TechniqueCommunication &

Coordination Activities

Stakeholder Selection & Participation

Communication Mode & Media

Communication & Coordination

Issues in GSD

21

Page 22: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

The following table provides a summary of the evaluation of RV techniques in GSD based upon the dimensions of the proposed framework.

Evaluation of RV techniques with respect to dimensions relevant to communication and coordination 22

Evaluation Results

Page 23: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• From the comparative evaluation of widely used requirements validation techniques, it is concluded that: – Prototyping proves to be the best choice for validating

requirements in a GSD environment. – It works as an interaction medium between the multiple

stakeholders thus improving the quality of communication. – It requires lesser communication and coordination activities

as compared to inspections and NL that necessitate high interaction between the relevant stakeholders.

• However, it is of utmost importance to come up with an appropriate solution that addresses the issues and challenges that this technique faces in a GSD context so as to make the process fruitful and effective.

23

Page 24: RE in Global Software Development

Proposed Solution

Page 25: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• Communication and coordination issues are dependent on an intricate relationship of various factors.– The form of communication between the distributed teams,

direct or through an intermediary, – and the media employed are important factors that influence

the software development activities.• The proposed solution for dealing with issues of

prototyping in GSD consists of two parts:– A communication model to define communication paths that

are essentially required between various stakeholders– Secondly, a guideline towards use of appropriate

combination of mode and media for enabling communication between the paths identified in the model.

25

Proposed Solution

Page 26: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

We propose a communication model adapted from [16] and enhance it to address the communication and coordination

issues that exacerbate the problems of requirements validation through prototyping in GSD.

26

The Communication Model for Prototyping in GSD

Page 27: RE in Global Software Development

Case Study

Page 28: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Case Study• The proposed solution, for facilitating

communication and coordination in RV by means of prototyping, has been validated by means of a case study.

• The case study chosen is a project developed by a software development company that offers its services in areas of:– desktop and web programming– graphic and web design– customized database applications and – outsourcing to a wide range of industries and business

areas both in local and international market

28

Page 29: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Case Description• The chosen project is a software product which is:

– a web-based system provided to clients in United Kingdom (UK), – as a solution to their prevailing problem of managing student profiles and

their assessments based on various factors in their local secondary school setup.

• Initially most of the requirements for the system were communicated to the development team by means of emails and documents.

• Because of communication problems however, the project overran its time and cost budgets.

• A new project team was developed:– New communication protocols were developed to effectively deal with the

communication and coordination problems encountered.– The developed communication protocols added by the experiences of the

previous team helped in achieving a common understanding of requirements and thus in achieving the project objectives in a more timely and cost effective manner.

29

Page 30: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

C & C problems

• Various communication and coordination issues, as reported in literature pertaining to GSD, were identified in this case study.

• The following problems were identified from interviews and communication via emails:– Natural language issues– IT infrastructure requirements– Different domain terminologies– Asynchronous communication and

• delayed feedback• Back and forth communication• Lack of response• Conflicting feedback• Mixed-up emails

– Undefined stakeholder roles and communication paths– Indirect communication between stakeholders

30

Page 31: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

Application of Proposed Model

• By application of the proposed solution most of these issues can be appropriately dealt with.

• Definition of stakeholder roles and responsibilities in initial stages of the project would– Help dealing with the issues of indirect communication– Assist in establishing clear communication paths between the various

stakeholders – Help in initiating contact with the right people for project related

information thus saving both time and effort. • Lead roles for stakeholder group would ensure limited

communication paths and therefore, – Lesser chances of conflicting requirements and unsatisfactory results.

• Use of synchronous means would help in resolving the issues of delayed feedbacks, lack of response, mixed up emails and back and forth communication.

31

Page 32: RE in Global Software Development

Naveed Ikram @ REIN, MCS, NUST - 29-May-2009

• In the selected case there were only two teams collaborating over geographical distance to achieve project goals and objectives.– Additional needs for communication and

coordination might surface if more than two teams were collaborating over geographical, time zone and cultural distance.

32

Limitation of Case Study

Page 33: RE in Global Software Development

Q&A

e-mail : [email protected]