Professional Documents
Culture Documents
ENVIRONMENT
Author:
Suresh Kumar Bhattarai
First Supervisor:
Paul Laifa
Second Supervisor:
Anne Rutkowski
Reader:
Hannu Salmela
06.04.2011
Turku
Table of Contents
1
INTRODUCTION ................................................................................................... 7
1.1
1.2
1.3
1.4
Research Background..................................................................................... 7
Research Problem........................................................................................... 8
Research Boundaries ...................................................................................... 8
Organization of the thesis............................................................................... 9
IT OFFSHORING ................................................................................................. 10
2.1
2.2
Introduction .................................................................................................. 10
Models of IT Offshoring .............................................................................. 11
2.2.1 Vendor Partners ............................................................................... 11
2.2.2
2.2.3
2.3
2.4
Introduction .................................................................................................. 17
3.2
3.3
3.4
4
4.4
Introduction .................................................................................................. 30
Scaling Factors ............................................................................................. 31
Agile Scaling Model (ASM) ........................................................................ 31
4.3.1 Core Agile Development ................................................................. 31
4.3.2 Disciplined Agile Delivery .............................................................. 32
4.3.3 Agility at Scale ................................................................................. 32
Agile Scaling with IT Offshoring Factor ..................................................... 33
4.4.1 Benefits of Agile with IT Offshoring............................................... 33
5.2
RESEARCH OUTCOME...................................................................................... 37
6.1
6.2
6.3
CONCLUSION ..................................................................................................... 46
REFERENCES ...................................................................................................... 47
List of Figures
Figure 1: Organization of the thesis ............................................................................. 9
Figure 2: (In/Out) sourcing from (on/off) shore (Source: Chakrabarty 2006) ........... 10
Figure 3: IT Project Resolution during 1990s (source: Extreme Chaos 2001)......... 17
Figure 4: Visual of the standard Agile Software Development Methodology (Source:
VersionOne, Inc.) ............................................................................... 20
Figure 5: Scrum Process (Source: Sutherland, J. 2010)............................................. 21
Figure 6: An Overview of Feature Driven Development (Source: Williams 2007) .. 26
Figure 7: The DSDM Development Process (Source: DSDM Consortium 2008) .... 28
Figure 8: Dynamic Speculate-Collaborate-Learn Life Cycle (Source: Highsmith
2002). .................................................................................................. 29
Figure 9: Overview of the Agile Scaling Model (Source: Ambler 2009) .................. 32
Figure 10: Benefits of blending Agile and Offshoring (Source: Forrester Research
Inc. 2004)............................................................................................ 34
Figure 11: Participants by their current position ........................................................ 38
Figure 12: Participants distribution according to their experience ............................ 39
Figure 13: Participants of Secondary Data Collection by their roles ......................... 39
Figure 14: Participants of Secondary Data Collection by their experience ............... 40
Figure 15: Categorization of the Challenges of Scaling Agile in Offshoring
environment ........................................................................................ 42
Figure 16: Categorization of possible strategies in scaling Agile in offshoring
environment ........................................................................................ 45
Figure 17: Graphical Summary for Challenges in Suceeding with scaling Agile in
offshoring environment ...................................................................... 55
Figure 18: Strategies for Scaling Agile in offshoring Environment .......................... 56
Figure 19: Project Success Rate by Development Paradigm (Source: DDJ 2008
Project Success Survey) ..................................................................... 57
Figure 20: Effectiveness of Development Paradigms (Source: DDJ 2008 Project
Success Survey) .................................................................................. 57
Figure 21: Project Success Rate by Paradigm and Distribution Level (Source: DDJ
2008 Project Success Survey) ............................................................ 58
List of Tables
Table 1: Characteristics of agile versus traditional distributed software development
(Source: mite, Moe, and gerfalk 2010) ......................................... 30
Table 2: Different Research Methods (Galliers 1991) ............................................... 35
Table 3: Tabular Summary for Challenges in Suceeding with scaling Agile in
offshoring environment ...................................................................... 55
Table 4: Summary Table for Strategies for Scaling Agile in offshoring Environment56
INTRODUCTION
1.1
Research Background
Long has gone the days, when IT operations were just kept inside on departs or inside a
company. Nowadays, IT Outsourcing has become integral part of Business. Not only Business
firms, But also IT Companies are also utilizing the benefits of IT Outsourcing. IT Outsouring can
be defined as the process of involvement in the partnership with the third parties to perform IT
tasks and process of an organization. Decreasing total cost of ownership of IT-Services, realizing
a strategic focus on central competences, shortening time-to-market for new IT services and
many others factors are the beneficial reasons behind outsourcing (Willekens 2007). With the
evolution of outsourcing, offshoring has become popular option to address factors behind
outsourcing. Carmel & Tija (2005) defines offshoring is shifting of tasks and processes to lowcost nations, which are developing countries or emerging countries (Carmel & Tija 2005, P.
XVIII). As era of Offshoring started, different models of Offshoring evolved for various reasons
such as: nature of business and business objectives of companies, to mitigate the problem of lack
of control and co-ordination, to gain expected quality for the contracted tasks or processes and
many others. Different types of Offshoring models that companies have tried out are establishing
their own captive center, working with vendor partners, entering into a joint venture with
offshore companies, build-operate-transfer (BOT) model, and a mix of two or more of these
models (Machigad & Acharya 2008).Nowadays, many IT companies are expanding to offshore
by setting up their own new subsidiary. IT Companies establish offshore subsidiary in order to
protect IP (Intellectual Property), gain control over the operations, knowledge transfer and
retention, strengthen their presence in local market, and reduce cost (Machigad & Acharya
2008).
At the meantime, Agile Methodologies started to become popular and Seventeen Intellectual
gather together to bring different Agile practices together and developed common principals.
Agile Methodologies was regarded appropriate for small and co-located team and for small projects rather than big ones. But Agile Methodologies were accepted quickly as adaptation of agile
process has significant advantages such as Iterative delivery with small iteration, involvement
and interaction with customer, Flexibility wth changing requirement, test driven development
(Arefin & Korzun 2010). Success rate, Customer satisfaction due to customers active participation, Quality software development started the process for scaling Agile Methodologies in different complex environment such as in large projects, far-located teams and so on. Similarly, Scaling of Agile Methodologies in IT Offshoring environment has become very important due to
increase in offshoring and increase in benefits in software development brought by Agile Methodologies. But just bringing both technique together does not mean significant results. There
remains the challenge of making both technique to co-exist and provide the continuous
governance. Hence, there is challenges to improve in the offshore environment which has
adapted the Agile process for IT project development.
This thesis further describes challenges faced by far-located team in scaling of Agile Methodologies in offshoring environment.
1.2
Research Problem
The research will attempt to answers related with the challenges of scaling Agile software
development process in offshoring environment. The research will try to find critical root causes
that are affecting the Business scaling Agile process in its offshoring environment and then
formulate the solution for the critical root causes affecting scaling process in the organization.
Hence, the research will attempt to provide answer for following questions:
What are the challenges when scaling Agile Software Development process in offshore
sourcing environment?
What are the possible solutions for key challenges in scaling Agile Software Development process in offshore sourcing environment?
1.3
Research Boundaries
Scaling of Agile Software Development happens due to different factors, such as Geographical
distribution, Size of the team, and others. Factors for scaling Agile Software Development will
be discussed in Chapter 4. But before starting with the research, we need to set the scope or
boundaries of the Research. This research att empt to find out the key challenges faced in Scaling
Agile Software Development process in IT offshoring environment and provides the solution for
it on the basis of Researched Organization. Hence, All Scaling factors will not be considered
here, only scaling effects due to IT offshoring is considered. The analysis will solely base on the
work experience in the Researched Organization and on the different documents analyzed during
the research. The primary data will be collected with the individual associated with Researched
Organization. Hence, this research may not be able to cover all types of issue related with scaling
Agile in Offshoring environment. The research will neither focus solely on the offshoring
environment nor only on agile process.
1.4
IT OFFSHORING
2.1
Introduction
IT Offshoring, as shown in Figure 2, can be simply defined as the process of moving IT related
work outside the country. Rise of Internet made it enable to reduce the distance and integration
issues that could have arise when moving out IT related tasks and processes. Slowly, opportunity
arised to reduce the cost of software production drastically by offshoring to low-cost nations.
Hence, Carmel & Tija (2005) defines IT offshoring is shifting of tasks ans processes to low cost
nations, shich are developing countries or emerging countries (Carmel & Tija 2005, P. XVIII).
As era of offshoring started, concept of IT offshoring evolved and Idea of IT offshoring
incorporated cross-organizational boundaries.
2.2
Models of IT Offshoring
As concept of software development went global with IT Offshoring, Software development not
only involved different people in cultural aspects ,time zone differences ,different working
process but also different risks associated with IT offshoring. Then, Business and IT Companies
started to develop different types of model of IT Offshoring according to their business
objectives and the model that will realize them much higher or full benefits of IT Offshoring.
Machigad & Acharya (2008) has come up with following types of IT Offshoring models that IT
Companies and Business have tried out (Machigad & Acharya 2008):
2.2.1
Vendor Partners
In this form of Partnership, IT Offshoring company (Client Company) finds the vendors with IT
Capabilites for the area, which is related with the task that is being offshored. The involvement
in partnership with vendor allows Client companies to concentrate in their own core business
(Vashistha & Vashistha 2005). Companies such as GE, Verisign and American Express has
already used this model of IT Offshoring ( Vashistha & Vashistha 2005).
2.2.2
Joint Venture
Joint Venture is the form of partnership in which two or more companies come together and
involving parties generally have commercial and economical objectives. Joint Venture can
involved local partners and its main advantage is to reduce startup costs and operating risks,
although revenue will be shared (Vashistha & Vashistha 2005).
2.2.3
In Build-Operate-Transfer Model of Partnership, Offshore supplier builts the offshore unit and it
is transfered after the contracted time span to foriegn Client or in another case offshore unit is
brought by the foriegn client (Vashistha & Vashistha 2005). In BOT model, all assets, operations
and staffs are handed over to the foriegn client. Aetna and AIG followed the BOT model and
now own the subsidiary developed by the offshore supplier (Vashistha & Vashistha 2005).
2.2.4
In Captive Center Model, IT companies or Business, who are looking to offshore their IT task
and process, build their own subsidiary in the offshoring nation. The key motivation for
companies to setup their own subsidiary was for Intellectual Property(IP) proctection (Machigad
& Acharya 2008). This model was initially adopted by companies, like GE, when offshoring to
India in early 90s (Machigad & Acharya 2008).
2.2.5
The models discussed earlier has their own benefits and disadvantages. Hence, Companies
prepare the hybrid model by mixing of two or more models stated above, so that they can take
advantages of the different models. One of the best example is Dedicated Center. Lack of control
and quality issue related with offshoring model Vendor Partners; and Higher cost of seting up
own subsidiary such as captive center, whether it is for single project offshoring or for long term
offshoring, Dedicated Center was a better option for offshoring (Vashistha & Vashistha 2005). In
Dedicated Center model, IT operations are offshore to Vendor partners, but Vendor Partners
provide separate dedicated center with staffs, equipments and facilities for the offshoring client
(Vashistha & Vashistha 2005).
2.3
Benefits of IT Offshoring
Increase in the IT Capabilities allowed the Business and IT companies to offshore their task and
process. But without the real benefits for Business, it was not possible to move the task and
process outside the organizational boundaries. Decrease in the cost of the project was the major
benefits which Business can realized from the IT Offshoring. But gradually other benefits, which
Business can realized, opened up. Here we point out some of those key benefits.
2.3.1
Cost Savings
Moore and Barnett (2004) says that Labor costs (86%) and Project time to completion (37%) are
the major areas where significant cost savings are realized for IT Offshoring projects (Moore &
Barnett 2004). Hence, IT offshoring provides the options for training IT managers to demostrate
their worth to their organization by reducing the cost of IT projects (OLeonard 2005). Cost
savings was considered major benefits for offshoring the IT projects in low cost nation. But, it
alone cannot decide the success of the projects to rip the total benefits of offshoring the IT
projects and other factors such as vendors IT skills, service and support are also other major
factor for project success (OLeonard 2005).
2.3.2
IT Offshoring can have strategic benefits to the Business and IT Companies. The key strategic
benefit for the Business is the focus on its core competencies and strategic issues while
offshoring non-critical software and project-management functions (Vogel & Connolly 2005). It
also means for non IT-Business, they can offshore their IT related task and process to IT
specialist vendor and they can focus on their non-IT related task and process, which is the core of
their Business.
2.3.3
Offshoring creates an environment where collaboration of team members with different cultural,
national, and organizational background cometogether, which in turn increase innovation and
share the best practices (gerfalk et. all 2008). And this kind of sharing best practices and other
knowledge will increase the quality of the project. Also, Nowadays Vendors with CMM Level 5
can be found for the offshoring and they use formal and mature software development processes,
which will assure overall quality and efficieny of the project (Moore & Barnett 2004).
2.3.4
Time-to-Market
The offshoring setup creates the collaboration environment between onsite and offsite to work
for 24 hours a day due to difference in time zone. This process of creating environment for 24
hours software development is called round-the-clock development. This round-the-clock
development allows significant improve in time-to-market (Vogel & Connolly 2005).
2.4
Issues of IT Offshoring
When IT Companies started to offshore their IT task and process to offshore center, they started
to faces challenges, which was critical for the success of IT offshoring. If the issues of IT
Offshoring is not considered before offshoring task and process, then these issues gradually
becomes obstacle and result in failure of the IT offshoring project, which might add cost to the
project itself. Here, we list some of the key issues faced during IT Offshoring.
2.4.1
Lack of Control
When IT task and process are offshored, these operations moves away from the companies and
companies are dependent on the vendor for the true completion of it (Nischat 2008). Hence,
Companies feel lack of control over the completion of the offshored IT task and process. And in
case of incompletion of task within the timeframe specified and incomplete task, Companies face
loss in case of money and value of the project.
2.4.2
Changing Requirements
Client companies always want to built right software, which will provide good value for the
money invested. But when building a new product (software) and also when projects requirement
are not well specified, then changes will come up as development phase move on (Bicer 2007).
Integration of these new changes are essential for building right software, but integration these
new changes will add the cost of the project (Bicer 2007).
2.4.3
Cultural Differences
Generally Cultural differences are ignored, when transitioning onshore process flow and
knowledge, and also when making the communication. Hence, culture difference will raise
integration issues and add up costs and delay (NeoIT 2005).
2.4.4
Distance
Geographical distance, created between the team on onsite and offsite due to offshoring, also
introduce time difference and increase difficulty in the project completion (Palmer & Lawler
2005). Geographical distance introduces travelling cost and while time difference reduce the
communication and co-ordination time between the teams and results in delay in providing
feedbacks and other necessary ideas (gerfalk et. al 2008).
2.4.5
Communication is the big challenge in itself and in offshoring environment, it is the critical issue
due to communication involved between the far-located teams. And when there is difference in
language then different language styles, and difference in use and understanding of vocabulary
creates miscommunication (Vogel & Connolly 2005). Vogel and Connolly (2005) says that good
communication is essential for accurate understanding of the feature requirements and project
requirement as a whole (Vogel & Connolly 2005).
2.4.6
Staff turnover
Staff turnover is another key issue related with offshoring. Staff turnover has direct impact on
loss of overall knowledge of offshore center if Knowledge is not transfered from terminated staff
to hired staff (Palmer & Lamler 2005). Knowledge management has been challenge in itself for
the Business. Staff turnover also has impact on the ongoing project development and service
needed for maintenace for earlier projects (Palmer & Lamler 2005).
2.4.7
Quality
Although quality is one of the benefits associated with IT offshoring, due to which Business and
IT companies offshore their IT task and Process, Quality of software or project delivered can be
a major issue in IT offshoring. Vogel and Connolly (2005) has describe the experience of one of
the Client company, which was surprised to recieve poor quality of source code, when they were
delivered the software (Vogel & Connolly 2005). Also Vogel and Connolly (2005) quotes
Krishnan Puthucode, head of TUV Rheinlands Software Quality Services, an SEI-authorized
lead assessor for CMM-based assessments, saying that some Indian software companies using
CMM for increasing the market value rather than improving their process as they inflate their
CMM rating from internal assessment (Vogel & Connolly 2005). Hence quality is key issue
associated with IT offshoring.
AGILE METHODOLOGIES
3.1
Introduction
Although, Figure 3 indicates slight increase in Succeeded IT Project and subsequent decrease
in Failed IT Project, large portion in the graph includes IT Projects categorized as Challenged,
which remains same over the years in 1990s. Extreme Chaos (2001) has labeled those completed and operation IT projects as Challenged, which was completed over the estimated budget,
over the estimated time and the included features were less than initially specified feature requirements (Extreme Chaos 2001).
This statement can be further clarified by the Manifesto for agile software development,
developed by 17 software developers at the Snowbird, Utah in Febrauary 2001, which says We
are uncovering better ways of developing software by doing it and helping others do it. Through
this work we have come to value:
3.2
When 17 software developers came together in Snowbird, Utah in February 2001, they also
developed principal behind the Agile Manifesto, which are actually the principals for Agile
software development methodologies. The twelve prinicpals given by those software developer
are: (Manifesto for Agile Software Development 2001)
Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
3.3
Agile Methods
Different Practices, which are currently categorized under Agile Software Development
Methodologies, existed before common philosophy was developed by 17 intellectuals during
2001. Hence, these Agile Software Development Methodologies has its own practices but conforms to common philosophy. In Figure 4, VersionOne Inc. has visualized the key characteristics of standard agile software development methodology, which conforms to principals of agile
methodologies.
3.3.1
Scrum
Scrum is an iterative, incremental framework for projects and product or application development (Sutherland 2010). Scrum can be defined as Project management process where projects
progress and are managed in the short iterations. Iterations are called sprints and they are generally 1-4 weeks long. At the start of the project, where a scrum methodology is to be implemented, Product Owner converts the requirement of the project into the features in the Product Backlog. Then, at the start of each iteration, Sprint Planning meeting is conducted, where Scrum Master facilitate between Product Owner and team member for discussion about the features to be
done in the sprint and Team member commits to perform certain features in the sprint, which are
moved to the Sprint Backlog. Features can be broken down into different tasks, depending on the
size of the features. After the start of the sprint, Daily Scrum meeting, which last for 15 minutes,
is held in every 24 hours to communicate three points with other team members: What did you
do after last scrum meeting? Are you facing any obstacles? What will you do before next scrum
meeting? The main aim of this meeting is to control the progress of the sprint. After the end of
Daily Scrum meeting, it may be essential to conduct other meeting to clear the obstacles faced by
any team member. At the end of every sprint, product with new functionalities is achieved. Then,
Team member along with Stakeholder come together for Sprint Review, where what was done in
last sprint is inspected. After review is completed, Team goes for Retrospection, where team
discusses on things that went right and that didnt and ways to improve on the things which
didnt went right. This scrum process is depicted in Figure 5.
3.3.2
Extreme Programming
Planning Game
Short Releases
Metaphor
Simple Design
Testing
Refactoring
Pair Programming
Collective Ownership
Continuous Integration
40-Hour Week
On-Site Customer
Coding Standards
In XP, Customer works closely with the development team and helps them by creating smaller unit of functionality, called User Stories, for the project and prioritizing them. Then Development team starts working with highest priority User stories by following the practices mentioned above and delivering the working software on the iteration basis. Although these practices
provides recipe for practicing XP, there are always some values of practices which need to align
with Organization Environment in order to be implement the practice. Beck (1999) also provided
four such values, which are:
3.3.2.1 Communication
Lack of communication among the stakeholders of the projects can jeopardize the projects.
Hence, XP values Communication which is helped by practices such as Pair Programming, task
estimation and Testing, which in turn helps communication among customers, developers and
managers.
3.3.2.2 Simplicity
Simplicity is closely related with Communication value. Increase in Communication will help to
make things simple and clearer. XP also provides practices such as Simple Design, Coding
standards, Refactoring to make project simple and easier to make change and cost of change is
also low.
3.3.2.3 Feedback
Optimism is an occupational hazard of programming. Feedback is the treatment, (Beck 1999).
XP welcomes the changes from the continuous feedback through continuous functionality testing, involvement of the customer in the projects.
3.3.2.4 Courage
As we already said XP is about discipline, while Courage is about maintaining the discipline by
following the practices of XP based on the values defined earlier.
3.3.3
The foundation for Lean Software Development is based on the Toyotas Lean Manufacturing
practices, which was developed by Taiichi Ohno, Toyotas Assembly Shop Manager (Harvey
2004). Mary Poppendieck combined her experience of software development with Industrial
Manufacturing knowledge to come up with Lean Software Development along with Tom Poppendieck (Harvey 2004). Lean Software Development focus is to make value stream more efficient in order to deliver higher value to customer. Lean software development is also iterative
methodology. Here, Scope of the project changes continuously as features are changed and prioritized on the basis of its Return on Investment (Denne & Cleland-Huang 2004). The main principals of Lean Software Development during this process are (Poppendieck & Poppendieck 2005):
3.3.4
Above stages are depicted in the Figure 6. First three stages represent the phase of creation of
features for implementation. Hence, it is very important and requires active participation of customer. After this phase, last two stages represents phase of implementation of features.
Developing by Feature
Component/Class Ownership
Feature Teams
Inspections
Configuration Management
Regular Builds
3.3.5
Fitness for business purpose is the essential criterion for acceptance of deliverables.
Iterative and incremental development is necessary to converge on an accurate business
solution.
Implementation
Figure 7 depicts the five phases of the DSDM development process. Although, there are four
clear phases in the Figure 7, Feasibility study and Business study is carried out in sequential
manner. Here, in Functional Model Iteration, initial prototype is developed on the basis of prioritized list of requirements. Then, in Design and Build Iteration, Prototypes are refined to meet all
functional and non-functional requirements. Implementation Phase brings out the Systems
(Highsmith 2002).
3.4
Adaptive Agile
Adaptive Agile is an approach to move away from just one set of agile practice and adapting
different agile practices according to situation and project. Hence, in Adaptive Agile, on the basis of experience with single agile practices and need of hybrid model, different agile practices
are tailored and adapted when single agile practice is unable to solve problem in different condition. The concept of Adaptive Agile is supported by Martin Fowler, one of the intellectual, who
was involved in developing the manifesto for Agile Software Development. Fowler (2005) says,
Agile methods are adaptive rather than predictive (Fowler 2005) in comparison with other engineering methods. Engineering methods make plan for software process, which work until
changes occurs. But Engineering methods are not change adaptive so changes are not accepted.
While, Agile Methods are change adaptive by principal. Jim Highsmith describes a model of
Adaptive Agile which has four different layers (Hugos 2011):
Fourth Layer Portfolio Governance, for which Agile Project Management Book can
be utilized
Also, Highsmith (2002) explains his Adaptive Software Development (ASD) is based on continuous adaptation by welcoming the continuous change and also explains the Dynamic Speculate-Collaborate-Learn life cycle for adapting the changes through continuous learning.
SCALING AGILE
4.1
Introduction
Although, Agile Manifesto was formulated in 2001, Agile was still practiced before that. But
only after the formulation of Agile Manifesto and when different Agile Practices came under
Agile Methodologies, Agile practices started to become popular. And Adaption rate of Agile has
been very fast. It has been just a decade after formulation of Agile Manifesto, but Dr. Dobbs
Journals 2008 Project Success Survey (2009) indicated that 76% of organizations already have
one or more projects that follow agile practice. Rapid adoption rate of Agile practices can be
attributed to higher success rates, higher quality, higher return on investment, more satisfied
stakeholders and shorter market time (Dr. Donns Journals July 2009 State of the IT Union Survey 2009).
Generally, agile approaches are thought to be suitable only for small team and generally colocated team. This may be due to need of extensive informal communication and collaboration
required between the team members in agile practices. But, Agile process are being used in different types of organizations, such as financial companies, manufacturers, and others; in different
project teams, such as large project team size, distributed team, complex environment (Ambler
2009).
Characteristics
Communication
Coordination
Control
Agile Development
Informal
Face-to-Face
Synchronous
Many-to-Many
Change-driven
Mutual adjustment, self-management
Lightweight
Cross-functional team
Distributed Development
Formal
Computer-mediated
Often asynchronous
Tunneled
Plan-driven
Standardization
Command-and-Control
Clear separation of roles
presents the Agile Scaling model (ASM) which is built around on the basics of tailoring agile
methods and practices according to the situation presented by those complex situations.
4.2
Scaling Factors
Before defining the Agile Scaling Model, we list the different scaling factors which create
unique situation as indicated by Ambler (2009), which are:
Team Size
Geographical distribution
4.3
Regulatory compliance
Domain complexity
Organizational distribution
Technical complexity
Organizational complexity
Enterprise discipline
The Agile Scaling Model (ASM) is a contextual framework for effective adoption and tailoring
of agile practices to meet the unique challenges faced by a system delivery of any size (Ambler
2009). The Overview of ASM is depicted in Figure 9. Before scaling of Agile is done through
tailoring it, others initial steps are defined in the model to enter into full-fledged, discipline Agile
Delivery Process (Ambler 2009). The steps in ASM are:
4.3.1
In this first step, Core Agile methods such as Scrum and its practices such as scrum meetings
and requirements envisioning are optimized for small, co-located team in simple situation
(Ambler 2009).
4.3.2
Core Agile Development only addresses part of development lifecycle. So, Disciplined Agile
Delivery Processes such as DSDM are introduced, which cover full development lifecycle
from project inception to delivered system in the production environment (Ambler 2009). This is
also done for small, co-located team in simple situation. This step along with first step brings in
agile discipline within appropriate governance.
4.3.3
Agility at Scale
Now, at this step Agile scaling occurs according to the scaling factors applicable to discipline
agile delivery in step 2. Different scaling factors are indicated at Chapter 4.2. It is important to
understand that those scaling factors are ranges, so applicable scaling factors depends according
to the unique situation of the projects (Ambler 2009).
4.4
4.4.1
We have already discussed about the benefits provided by the Agile and offshoring individually.
But Are there any benefits for the Business to blend Agile and offshoring? Scaling of Agile in
offshoring environment provides some significant benefits for the Business and IT Companies
and those benefits are related with mitigating some of the issues realted with offshoring also.
Avritzer, Bronsard and Matos (2010) defines some benefits realted with scaling in distributed
environment and global projects. Here, we discuss the following relevant benefits associated
with scaling Agile in offshoring environment (Avritzer, Bronsard & Matos 2010):
included in the project, so that competitive software is developed according to current need.
Agile approach will allow to integrate this changing requirement as short and iterative
development allows to re-phase and reprioiritize the features of the product. While, chaning the
requirements in offshoring is one of the issues associated with the offshoring as we discussed
earlier.
While, according to Moore and Barnett (2004), there are two ways of blending offshore and
Agile Software development and the benefits associated with scaling Agile with offshoring
depends on the type of blending. Blending of Agile and offshoring depends on teams already
doing Offshore or Agile as benefits for adapting another process is different (Moore & Barnett
2004). So it can be categorized as:
Figure 10: Benefits of blending Agile and Offshoring (Source: Forrester Research Inc. 2004)
RESEARCH METHODOLOGY
5.1
Research Strategy
Research is the process of using the different research methods available in order to investigate
new or exisitngs question, search for new theories, and review and prove older theories. Hence,
Research methods is key strategy for conducting the research. Here, we try to define the type of
research methods, we have used for this research.
Galliers (1991, p.149) has identified the following different types of research methods, which
are categorized under Scientific Methods and Interpretivist Methods and listed in the Table 2
below:
Scientific Methods
Interpretivist Methods
Laboratory Experiments
Subjective/Argumentative
Field Experiments
Reviews
Surveys
Action Research
Case Studies
Case Studies
Theorem Proof
Descriptive/Interpretive
Forecasting
Futures Research
Simulation
Role/Game Playing
Table 2: Different Research Methods (Galliers 1991)
For this research, we have used following three research methods from the list above:
5.1.1
Review Research
At the first stage ot the research, we attempt to describe agile practices, offshoring, and scaling
Agile and review their benefits and issues also. And this stage is essential for better
understanding of research topic and understanding need to bring the area of agile and offshoring
together. This research forms the basis of the research question.
5.1.2
Survey Research
In this research, we use survey in order to collect the data for quantitative analysis. Quantitative
analysis is done to find the key challenges associated with scaling the agile in offshoring
environment. And also Quantatitive analysis is done to find the strategies for scaling the agile in
offshoring environment. Here, it is essential to perform survey in order to conform the challenges
and strategies with the people associated with scaling the agile in offshoring environment.
5.1.3
As for this research, survey was carried out on the onsite and offsite of one researched
organization, hence it resemble the case study research. But, this research can be important for
other organization following scaling of agile in offshoring environment.
5.2
Data Collection
For this research, there are two sources of data: Primary data and Secondary data. Primary data
was collected from the onsite location and offsite location of the researched organization.
Collected Primary data includes following section:
RESEARCH OUTCOME
In this chapter, we introduce the result of the survey conducted and also introduce the secondary
data that will be used for analysis. Then, we will analysis primary data and secondary data and
use them to support our research and then to answer the research questions that was posted in the
chapter 1.
Now, we will analyze the survey question, we have used to conduct the survey for collecting
primary data. The survey questionaire is provided in the Appendix 1. In the survey, we have
three section. The first section of the survey questionaire is Introduction part, where we collected
information about current position of survey participants and their number of year of experience.
This section will help us to understand the validity of the participants.
While, In second section of the survey questionaire for primary data collection, we try to find
answer for our first research question regarding the key challenges involved in suceeding in
scaling agile in offshoring environment. Here, we have provided six possible key challenges and
ask the participants to rate the challenges on the basis of their experience. Here we have also
provided the option of selecting No Idea in case participants have no experience regarding the
challenge in the question.
Then, In third section of the survey questionaire, we try to find answer for our second
research question, which is possible strategies that can be used for suceeding in scaling Agile in
offshoring environment. Here, we pose nine different questions to the participants and
participants answer the questions on the basis of their expereince categorizing the question
according to its effectiveness. In this section also, participants has been provided the privilege of
selecting No Idea option in case of no experience regarding the scenario in the quesiton.
Now, we will analyze the collected primary data and use secondary data for supporting the
use of Agile Method.
6.1
Distribution of Participants
It is important to analyze the distribution of the population, who has participated in the survey,
involved in both primary data collection and secondary data collection because it provides the
idea whether collected data is valid for the context of the research. Now, Here we analyze the
distribution of participants in primary data collection and secondary data collection according to
their current position and their years of experience.
6.1.1
The number of participants for primary data Collection is relatively low to the number of
participants for secondary data collection as primary data collection was made in single
organization. The main use of collected primary data is use to answer the both research question
regarding the challenges and the possible strategies to address the challenges. So, the question
are related with challenges faced in the operation level on the day to day activity. While
strategies is related with strategic level but they are supposed to implemented on the operation
level to make it smooth. Hence, we have incorporated mostly non-Business stakeholder, which
can be visualized from Figure 11: Participants by their current positionFigure 11. Software
Developer, QA Tester, Project Lead, and others compose about 95% of the total participants.
Position Others included in the survey degines Non-Business Stakeholder role and it can be
role such as Designer, Architect. Hence, Survey is supposed to provide the generalized view
regarding the challenges faced on the operational basis if Agile methods is used in offshoring
environment.
considered for the analysis. The distribution of the participants on the basis of their work
experience can be seen in the Figure 12.
6.1.2
We try to find the effectiveness of using Agile methods using secondary data. So, it is necessary
that distribution of participants in term of roles should be distributed well so that there is fair
view on the effectiveness of the agile both from Business stakeholder point of view and also
from the Non-Business Stakeholders point of view. The distribution of particiants of secondary
data shown in the Figure 13 indicates fair distribution of participants in term of roles.
6.2
We have already analyzed the benefits of Agile Methods when using it with offshoring
environment with different literature reference. But, here we try to provide statistical data
reference to prove the effectiveness of Agile methods which is necessary in order for Agile
methods to be implemented in offshoring environment to reap those benefits. And then we can
analyze the challenges faced in scaling Agile in offshoring environment in order to reap those
benefits.
Here, we use the secondary data from DDJ Project Success Survey 2008 for understanding the
effectivenss of Agile Methods. The secondary data from DDJ Project succss survey 2008 is
attached in the Appendix 3 in graphical form as Figure 19, Figure 20 and Figure 21. Here Agile
is compared with Iterative method, Traditional Method and Ad-Hoc Method. As indicated in
Figure 19, Agile and Iterative methods have comparitively higher success rate than traditional
and Ad-hoc methods. And also Agile and Iterative methods have higher effectiveness in term of
quality, functionality, Money and Schedule than Ad-hoc and traditional methods as shown in
Figure 20. Quality, Money and Schedule are key components in term of successful completion of
projects. And Iterative Development is one of the key principal of Agile Development, so we can
say Agile methods, in general, are more effective than traditional and Ad-hoc methods.
Similarly, When considering effectiveness of Agile methods in different distribution level of
the team, Agile methods has comparatively higher success than other development paradigm
such as traditional and Ad-hoc methods. It can be clear by making comparison between the
average success percentage for all distribution level of team in Figure 21. Hence, depending on
the type of model of offshoring, there may be co-located or far-located team created for the
software development, but success rate of Agile methods used, independent of location of team,
is higher than other methods.
6.3
6.3.1
What are the challenges when scaling Agile Software Development process in offshoring environment?
we discussed in section 4.4.1, over the traditional software development methodology. But, benefits of Agile in offshoring environment, as discussed in section 4.4.1, helps to mitigate problem
of lack of control and changing requirements, as discussed in section 2.4.1 and section 2.4.2 respectively, associated with offshoring environment. Hence, issues associated with offshoring
environment, which are not address by introduction of Agile, can be key challenges in scaling
Agile Software Development in offshoring environment. So, we have brought those unaddressed
issues in survey for determining the key challenges associated in scaling Agile in offshoring environment, which are Communication, Quality, Staff Turnover, Cultural Differences, Time Difference and Distance as discussed in section 2.4.
Apart from the issues of offshoring environment, when we analyze about Agile Methods in
section 3.1 and 3.2, we can say that communication is essential for Agile as it says Individuals
and interactions over processes and tools. And also emphasis is there on the distance as it also
indicates, The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation in one of its principal in section 3.2. Hence, on
the basis of these analyses, we came up with following possible key challenges, which were used
in survey to be rated by participants:
Communication
Quality
Staff Turnover
Cultural Differences
Time Difference
Distance
Then, survey was conducted to answer first research question regarding the key challenges
involved in Scaling Agile in offshoring environment by using above possible challenges. The
participants of the survey rated those possible challenges in the range of Blocking to Neutral,
while another option was No Idea for the participants with no knowledge about it. The summarized table and graph for the data collected can be found in Table 3 and Figure 17 respectively
under Appendix 2. The analysis of the data in Table 3 shows that Participants have categorized
Communication and Staff Turnover as major challenge, Quality and Time Difference as Average
Challenge, Cultural Differences as Minor Challenge and Distance as Neutral Challenge, which is
indicated in the Figure 15.
6.3.2
What are the possible solutions for key challenges in scaling Agile Software Development process in offshoring environment?
After possible key challenges for scaling Agile in offshoring environment were formulated, it
was essential to formulate some strategies, which could tackle these possible key challenges.
When formulating possible strategies for these possible key challenges, Challenge for Distance
was not considered as introduction and evolution of highly rich communication tools has made it
possible to have virtual face-to-face communication and reduce the effect of distance. Similarly
as discussed in section 6.3.1, task management software such as taskmind can help to manage the
task through different stage and drastically reducing the distance for managing the task.
Also, Cultural difference and time difference were not considered, when formulating possible
Strategies for the survey. The issue, which could possibly arise due to cultural difference, can be
prevented by understanding the culture of involving parties. The understanding of another culture can be developed by providing the training on cultural difference and learning from another
involved team. But Culture difference is very important factor to be considered, when planning
for offshoring or scaling agile in offshoring environment. Similarly, time difference is another
factor, which influence should be considered, but as discussed in section 2.4.4 reduction of
communication time is key issue arised from the time difference, so we did not prepare strategy
for time difference, but we will go through possibilities of increasing communication.
Hence, we developed possible strategies for succeeding with scaling agile in offshoring
environment by considering three possible key challenges only: communication, quality and staff
turnover. As staff turover is more HR related issue, we did not look for solution to reduce the
staff turnover for the survey. But, we included possible strategy to reduce the impact of staff
turnover by looking for possibilities how we can help starter to develop quickly for knowledge
transfer and quality improvement. Hence, we try to find the impact of bringing experience and
starter employees together in a project for prospect of quick knowledge transfer, Quality control
(better to say quality improvement) and may be obtaining better benefits of XP ( section 3.3.2)
practices in the survey.
And in the search of possible strategies for increase communication, we look for some of the
practices involved in different agile methods that could possibly provides platform for better
communication. Hence, we opted scrum, one of the Agile methods, for possible strategies for
improving communication and iteration management and iteration meeting for communicating
requirements and planning for iteration involving both onsite and offsite team in case of farlocated teams.
Now, we needed to develop some strategies to improve quality, which is our third key
possible challenge. For quality improvement, we need to improve individual development
capabilities, go through probable quality issues in every short period rather than giving those
quality issues to accumulate, and to develop the team which is capable to deliver assigned task in
best quality on both onsite and offsite depending on the nature of offshoring model. Hence, we
introduced use of XP practices, iteration development for quality maintenance, and development
of feature teams as possible strategies in survey for quality improvement.
After we have developed some strategies to address some possible key challenges, we need a
strategy which will regularly inspect whole process of software development and continuously
consolidate the process with feedback from the people working on the process. Hence, we have
used retrospection as another possible strategy in the survey, which brings the idea of inspection
and consolidation.
Then, survey was conducted to answer our second research question regarding the possible
strategies for facking key challenges involved in Scaling Agile in offshoring environment. The
participants of the survey rated those possible strategies in the range of Very Effective to Very
Ineffective, while another option was No Idea for the participants with no knowledge about it.
The summarized table and graph for the data collected can be found in Table 4 and Figure 18
respectively under Appendix 2. The analysis of the data in Table 4 indicates all the possible
strategies formulated were considered as effective or very effective by the participants of the
survey which has been indicated in the Figure 16.
Development of Feature team and Using Iteration meeting for communicating
requirements and iteration planning are considered as very effective strategy by the participants
of the survey. While, other strategies are considered as effective strategy. From the Figure 18 and
Table 4, although it seems survey data for all strategy may be little distributed, survey data is
distributed highly between effective and very effective option. Hence, survey data can be taken
positively regardless of distributed nature of survey result.
Now if we look little deeply on the those selected possible strategies, we can see that there is
mix of different Agile Methods such as XP practices, Scrum and Feature Team Development
(feature of FDD refer section 3.3.4). Hence, Concept of Adaptive Agile (see section 3.4) can also
be implemented in scaling Agile in offshoring environment. So, Different agile methods can be
utilized according to the need of situation, project and issues and thus create the hybrid model
which can work in offshoring environment also.
CONCLUSION
Hence, we have successfully answered the both Research Question with the help of survey. And
it was partially supported with the use of secondary data also. And we came to conclusion that
we can create Hybrid model of Agile methods due to adaptive nature of Agile to solve the
challenges involved in scaling agile in offshoring environment. So, Adaptive nature of Agile and
possible creation of Agile methods should be considered when scaling agile in offshoring
environment. Agile Scaling Model (ASM), discussed in section 4.3, separate different agile
methods into Core Agile Development methods and Disciplined Agile Delivery methods and
creates hybrid model of Agile methods and describe the scaling method. Whatever model is used
to scale agile in IT offshoring environment, we have described the key challenges involved in
scaling agile in IT offshoring environment, which should be considered for success of scaling
Agile in IT offshoring environment. Also, result on possible strategies shows that although agile
methods demand for increase in communication level, it also provides platform for addressing
communication issues, for example, use of iteration meeting for flow of project requirements and
iteration plans.
REFERENCES
gerfalk, P.J., Fitzgerald, B., Olsson, H.H., and Conchir, E. . 2008, Benefits of Global
Software Development: The Known and Unknown, Q. Wang, D.Pfahl, and D.M.
Raffo (Eds.): ICSP 2008, LNCS 5007, p1-9
Avritzer, A., Bronsard, F., and Matos, G. (2010). Improving Global Development Using AgileHow Agile Processes Can Improve Productivity in Large Distributed Projects. In:
mite, D., Moe, N. B. and gerfalk, P. J. Agile Across Time and Space. Berlin
Heidelberg: Springer Verlag. p133-148.
Arefin, M. and Korzun, D 2010, Improvement of the new agile process for distributed projects,
Chalmers University of Technology
Ambler, S.W. 2009, The Agile Scaling Model (ASM): Adapting Agile Methods for Complex
Environments, Rational software, IBM
Beck, K. 1999, Extreme Programming Explained: Embrace Change, First Edition, ISBN:
0201616416
Bicer, J. 2007, How Fixed Priced Projects can actually increase your risk, septium corporation
Carmel, E. and Tjia, P. (eds) 2005, Offshoring Information Technology: Sourcing and Outsourcing to a Global Workforce, Cambridge university press
Chakrabarty, S. 2006. The Journey to New Lands: Utilizing the Global IT Workforce through
Offshore-Insourcing. In P. Young, & S. Huff (Eds.), Managing IT Professionals in
the Internet Age, 1 ed.: 277-318. Hershey, PA: IGI Publishing
De Luca, J. 2011, Agile Software Development using Feature Driven Development,
http://www.nebulon.com/fdd/index.html. Last accessed 04th June 2011.
Denne, M. and Cleland-Huang, J. 2004, Software by Numbers, Prentice Hall
DSDM
Dr.
Dr.
Survey
Survey,
Eckstein, J. (2010). Feature TeamsDistributed and Dispersed. In: mite, D., Moe, N. B. and
gerfalk, P. J. Agile Across Time and Space. Berlin Heidelberg : Springer Verlag
. p279-287.
Extreme
Fowler,
M.
(2005).
The
New
Methodology.
Available:
http://martinfowler.com/articles/newMethodology.html. Last accessed 04th June
2011.
L.
2007,
A
survey
of
Agile
Development
http://agile.csc.ncsu.edu/SEMaterials/AgileMethods.pdf
Methodologies,
Willekens, M. 2007, Technology Management Information Technology: Version Platform Outsourcing Nederland, Doctoral thesis, University of Groningen
Section: Rate the following challenges in succeeding with Scaling Agile in offshoring environment
1. Communication
a. What is your experience regarding communicating requirements, ideas, question,
knowledge transfer between Agile software development teams in a offshoring
environment?
i. Blocking
ii. Major Challenge
iii. Average Challenge
iv. Minor Challenge
v. Neutral
vi. No Idea
Your Answer:
2. Quality
a. What is your experience regarding the problems associated with the quality of the
system delivered with Agile software development teams in a offshoring
environment?
i.
ii.
iii.
iv.
v.
vi.
Blocking
Major Challenge
Average Challenge
Minor Challenge
Neutral
No Idea
Your Answer:
3. Staff Turnover
a. What is your experience regarding effects of Staff turnover with Agile software
development teams in a offshoring environment?
i. Blocking
ii. Major Challenge
iii. Average Challenge
iv. Minor Challenge
v. Neutral
vi. No Idea
Your Answer:
4. Cultural Difference
a. What is your experience regarding effects of cultural difference with Agile
software development teams in a offshoring environment?
i. Blocking
ii. Major Challenge
iii. Average Challenge
iv. Minor Challenge
v. Neutral
vi. No Idea
Your Answer:
5. Time Difference
a. What is your experience regarding effects of time difference in collaboration with
Agile software development teams in a offshoring environment?
i. Blocking
ii. Major Challenge
iii. Average Challenge
iv. Minor Challenge
v. Neutral
vi. No Idea
Your Answer:
6. Distance
a. What is your experience regarding effects of distance with Agile software
development teams in a offshoring environment?
i. Blocking
ii. Major Challenge
iii. Average Challenge
iv. Minor Challenge
v. Neutral
vi. No Idea
Your Answer:
Section: Rate the following strategies for Scaling Agile in offshoring Environment
1. Following XP practices helps in Technical skills development
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
2. Use of Scrum for Iteration management and for Better Communication
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
3. Use of Iteration meeting for communicating Requirements and Iteration Planning
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
4. Use of Iteration Development for Quality Maintenance
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
5. Mixing Experience and Starter from offsite in a project team for Knowledge transfer
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
6. Mixing Experience and Starter from offsite in a project team for Quality Control
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
7. Mixing Experience and starter from offsite in a project team helps to obtain better benefits of XP practice
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
8. Development of Feature Team at offsite and onsite (Feature Team is a team which is capable of delivering the features assigned to it without dependence to another team)
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
9. Use of Retrospection to improve the management and communication process
i. Very Effective
ii. Effective
iii. Neutral
iv. Ineffective
v. Very Ineffective
vi. No Idea
Your Answer:
Major
Challenge
14
5
9
6
5
4
Average
Challenge
5
9
6
5
7
5
Minor
Challenge
3
6
2
10
7
6
Neutral
1
2
1
2
4
8
Table 3: Tabular Summary for Challenges in Suceeding with scaling Agile in offshoring environment
Figure 17: Graphical Summary for Challenges in Suceeding with scaling Agile in offshoring
environment
No Idea
1
5
Very
Very
No
Effective Effective Neutral Ineffective Ineffective Idea
Following XP practices helps in Technical skills development
Use of Scrum for Iteration management and for Better
Communication
Use of Iteration meeting for communicating Requirements and Iteration Planning
Use of Iteration Development for Quality Maintenance
Mixing Experience and Starter from offsite in a project
team for Knowledge transfer
Mixing Experience and Starter from offsite in a project
team for Quality Control
Mixing Experience and starter from offsite in a project
team helps to obtain better benefits of XP practice
Development of Feature Team at offsite and onsite (Feature Team is a team which is capable of delivering the
features assigned to it without dependence to another
team)
Use of Retrospection to improve the management and
communication process
12
12
11
8
6
10
3
2
3
2
11
10
10
12
1
1
Table 4: Summary Table for Strategies for Scaling Agile in offshoring Environment
Figure 19: Project Success Rate by Development Paradigm (Source: DDJ 2008 Project Success
Survey)
Figure 20: Effectiveness of Development Paradigms (Source: DDJ 2008 Project Success Survey)
Figure 21: Project Success Rate by Paradigm and Distribution Level (Source: DDJ 2008 Project
Success Survey)