RE in Global Software Development
-
Upload
yasarfayyaz -
Category
Documents
-
view
108 -
download
0
Transcript of RE in Global Software Development
Requirements Engineering
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).
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.
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
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009
Same Different
Same Offshoring
Different Outsourcing Offshoreoutsourcing
Country
Com
pany
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
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
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– …
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.
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
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.”
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.
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, …)
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, …)
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)
Requirements Validation
in GSD
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
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
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
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
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
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
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
Proposed Solution
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
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
Case Study
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
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
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
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
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
Q&A
e-mail : [email protected]