Вы находитесь на странице: 1из 33

Requirements Engineering

In Global Software Development


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
artifactsNaveed
so Ikram
they contribute to the overall
@ 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


Country

Same Different

Offshorin
Company

Same
g
Offshore
Outsourci
Different outsourci
ng
ng

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

Organizational Distance

3 3x2 3x3
Company

2 2x2 2x3

1 2 3
Geographical Distance

Country
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,
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009
poor documentation, tacit knowledge, repositories
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
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
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,
…) 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)

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


Requirements Validation

in GSD
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.
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009 17
Requirements Validation in
GSD
• 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).
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009 18
Research Question
• 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?
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009 19
Framework for Evaluation of
RV techniques
• 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
Naveed Ikram and
@ REIN, coordination
MCS, NUST - 29-May-2009in a 20
• The figure depicts the proposed framework
for four-dimensional view on a
Requirements Validation technique.
Stakeholder
Selection &
Participation

Communication & Communication &


Coordination Technique Coordination
Activities Issues in GSD

Communication
Mode & Media

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


Evaluation Results
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


Naveed Ikram @ REIN, MCS, NUST and- coordination
29-May-2009 22
• 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
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009 23
Proposed Solution
Proposed Solution
• 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, Naveed
a guideline towards use of appropriate 25
Ikram @ REIN, MCS, NUST - 29-May-2009
The Communication Model for
Prototyping in GSD

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.

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


Case Study
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 Naveed
areas Ikramboth in local
@ REIN, MCS, and international
NUST - 29-May-2009 28
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 theNaveed Ikram @ REIN, MCS,
communication and NUST - 29-May-2009 problems
coordination 29
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
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009 30
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
Naveed Ikram @ REIN, MCS, NUST - 29-May-2009 31
Limitation of Case Study
• 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.

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


Q&A
e-mail : naveed.ikram@bcs.org