Professional Documents
Culture Documents
Services
Published: 1 October 2015 ID: G00280983
Additional Perspectives
■ Federal Government Context: 'How to Contract for Agile Development Services' (9
February 2016)
Key Challenges
■ Conventional sourcing approaches create long, complex contract negotiations, which are an
obstacle to quick agile delivery.
■ Multiyear contractual commitments can force a client to work with a service provider even
though it has become dissatisfied with the results.
■ Conventional contract change methods are too slow to keep up with the rapid changes
expected in agile development.
■ The flexibility of agile projects makes it difficult to establish conventional service-level
agreements (SLAs) and penalties for underperformance.
Recommendations
Sourcing managers should:
■ Contract with multiple service providers that have depth in agile methodologies.
■ Implement simplified master service agreements (MSAs) in which each sprint is a fixed-price
work order, payable on delivery.
■ Use well-established agile metrics to verify the service provider's performance.
■ Review the results after each sprint, and reserve the right to award future sprints to alternative
service providers if serial underperformance should warrant it.
Table of Contents
Introduction............................................................................................................................................ 2
Analysis.................................................................................................................................................. 3
Set an Agile Sourcing Strategy......................................................................................................... 3
Select Multiple Agile-Capable Service Providers............................................................................... 5
Write Agile Framework Contracts......................................................................................................6
Manage Agile Contracts for Quality.................................................................................................10
Colocate, or Distribute With Care..............................................................................................10
Define "Done"........................................................................................................................... 10
Use Quality Metrics...................................................................................................................11
Gartner Recommended Reading.......................................................................................................... 12
List of Tables
Table 1. Sourcing Culture Has More in Common With Waterfall Development Than Agile........................3
List of Figures
Introduction
1
Organizations are increasingly adopting agile software development methodologies, driven by the
growth of digital business and the need for innovative projects (Mode 2 efforts) to respond to rapid
business change (see "How to Achieve Enterprise Agility With a Bimodal Capability"). Note 1
provides a definition of agile software development.
As a result, Gartner is receiving an influx of inquiries from sourcing managers who are seeking
2
guidance on how to outsource agile. Many of today's application outsourcing contracts were
3
designed primarily to support waterfall methodologies. The culture of sourcing and vendor
management is to hold service providers accountable for deliverables that were agreed on at the
Table 1. Sourcing Culture Has More in Common With Waterfall Development Than Agile
Statements of work with RACI matrixes Top-down assignment of tasks Highly collaborative
Multiyear contract terms Large but infrequent releases Short sprints, typically two to four weeks
Delivery and payment milestones Phase gates Review scope between sprints
Agile principles are opposed to waterfall development's emphasis on control. The Agile Manifesto
states on its first page that agile values "customer collaboration over contract negotiation" and
4
"responding to change over following a plan."
Clients and service providers are now working to bring these incompatible principles together. For
example, legal firms such as Bird & Bird have published papers explaining how the two can work
5 6
together, and the CoActivate project began work on a sample fixed-price agile contract.
Gartner's adaptive sourcing Innovate layer (see "Adaptive Sourcing Innovate Layer: Innovation
Strategies Accelerate Business Growth") establishes the principles for sourcing managers to work in
a fast-moving environment. In this research, Gartner recommends specific best practices for
contracting service providers for agile software development. These best practices are structured
around the four phases defined in the Gartner sourcing life cycle (see "Outsourcing Advisory:
Sourcing Strategy Phase Overview").
Analysis
Set an Agile Sourcing Strategy
Conventional contracts for application services set out an "iron triangle" comprising three elements:
the functionality to be delivered, a deadline and a fixed cost. Sourcing managers expect service
It does not have to be this way. Agile methodologies such as Scrum state that, once a sprint goal
has been agreed on and the sprint has started, new functionality should not be added to the current
sprint, but instead added to the product backlog and scheduled for a future sprint.
Therefore, a conventional contract that defines a program of deliverables over many months will be
unsuitable for agile working. Instead, a more flexible contract is needed in which each sprint is
viewed as a separate piece of work. The service provider is made accountable for delivering each
sprint, but the content of a sprint can be set just before the sprint starts, not at the start of the
contract.
It follows from this that, while the client has the intention to purchase a full program of sprints, the
completion of a sprint is an ideal time to review progress and decide how to continue. During the
early iterations (typically the first five or six sprints), underperformance can be discussed with the
service provider and corrective action taken. (This may require behavior changes from the client as
well as the service provider.) After the early iterations, continuous underperformance will require
stronger action. The contract should not oblige the client to continue if it is dissatisfied with the
progress. It costs time and money to change suppliers between sprints, so this should not be done
lightly. On the other hand, if a project is failing, then it is better for everyone to find an alternative
quickly. Additionally, the promise of working on the next sprint is a great incentive for the service
provider to focus on really delivering the current sprint (see Figure 1).
Another important relationship is with the IT operations team. A standard must be established so
that all service providers deliver object code with consistent compiler and runtime library versions,
along with working test scripts, test data and expected results. These should be deployed in a
DevOps-style continuous integration/continuous delivery (CI/CD) system. The DevOps movement
arose from the need to support the frequency of software releases that agile development produces.
It is a fact of life that, in many outsourced environments, IT operations are the responsibility of a
different service provider than application development. This makes it particularly important to
follow the DevOps principle that IT operations should be treated as a development team member,
with its nonfunctional requirements being recognized and met by the agile team.
These relationships create some complications in managing communication. In pure agile, all team
members are in the same room and feel part of the same organization. In outsourced agile, some
team members are employed by a different organization, and also may be in a different location. To
establish the trust within the team that is so important in agile, it is best to keep lines of
communication as simple as possible. Therefore, it is also best to keep the number of service
providers working within an agile team to a minimum — that is, one. In agile development, using
one vendor for project management, another for development and a third for testing is only possible
in a staff augmentation contract. It does not allow clients to share delivery risk with service
providers.
Recommendations:
■ Involve business users and IT operations closely in selecting and working with the service
provider.
■ Don't change the goals of a sprint during the sprint.
■ Accept changes to requirements between sprints (where necessary).
■ Treat each sprint as a fixed piece of work, and review performance on completion.
Almost all application outsourcing service providers offer some level of agile or Scrum capability,
but agile is embedded more deeply in the DNA of some providers more than others (see "The
Increasing Number of Mainstream Outsourcers Offering Agile Development Will Require Greater
Recommendations:
The MSA should not force a client to purchase a full sequence of sprints; rather, it should be flexible
enough that a client commits to completing each sprint, but is not obliged to order the next sprint.
This allows the client to react quickly to changing business circumstances, and also maintains the
service provider's focus on completing each sprint successfully.
Some service providers will be concerned about this provision. The client should reassure them that
it intends to purchase a full program of work, and does not intend to switch service providers
arbitrarily or frivolously. Switching service providers between sprints causes delays and additional
costs, so it is not in the client's interest to do so unless a project is clearly failing.
A service provider may object to the lack of a long-term commitment by saying that it is required to
dedicate resources to the project and should be compensated for the loss of future revenue if the
client changes its mind midproject. Gartner estimates that the structure recommended above
provides a guarantee of at least a month's work, and the likelihood of future work with relatively little
sales effort. As such, it is not very different from time and materials contracts, and service providers
are skilled in pricing their services for such environments.
Some clients negotiate a middle ground. In "Agile Contracts: Money for Nothing and Change for
7
Free," Scrum evangelist Jeff Sutherland proposes that if future sprints are canceled, then the
supplier should receive 20% of the revenue planned for the remainder of the project as a
8
cancellation fee. Even organizations with reputations for inflexibility, such as the U.S. federal
government, are using indefinite delivery, indefinite quantity (IDIQ) contracts to deal with situations
9
like this.
The other important element of the contract is establishing the charging mechanism for each sprint.
The four main options are:
1. Time and materials: This is the path of least resistance for application development projects of
all kinds. However, it is the least satisfactory for sourcing managers, who feel that they bear all
the risk of the project, while the service provider bears none.
2. Size-based pricing: Sourcing managers ideally would like to be able to pay per unit of
application functionality delivered. The challenge is to find a unit measure of functionality:
■ The best size-based methodology is function point counting (see "When to Use Function
Points in Application Development Contracts" [Note: This document has been archived;
some of its content may not reflect current conditions]). Function points provide reliable and
If outcome-based pricing is not used, then it is wise for a client to retain a percentage of the total
contract value to be paid on completion of the full program of sprints, or on significant milestones
when the new system starts to deliver business value.
Recommendations:
■ Simplify contracts to a minimum in order to enable quick supplier selection and contracting.
■ Construct framework contracts with no long-term commitments.
Distributed agile can be made to work, but it requires close management attention. Business
representatives are likely to be based onshore. Developers and testers often will form the largest
part of the team, and are most commonly located offshore. Product owners are most commonly
based onshore. A proxy product owner working at the offshore site and answering questions on
behalf of the business can work as long as the actual product owner and the proxy have a common
understanding and good lines of communication. ScrumMasters are more commonly located
offshore with the development and test teams. Distributed agile requires a higher on-site to off-site
team ratio. Whereas waterfall can operate with 1-on/6-off or even 1-on/10-off, agile working
requires 1-on/3-off or 1-on/4-off. A single off-site location is optimal, while multiple remote locations
make communication and collaboration harder.
Even when distributed working is necessary, it will always be a challenge to the intense cooperative
communication seen in high-performing agile teams. Some basic guidelines will reduce the
obstacles:
■ The offshore team should preferably be in a time zone with at least a two-hour overlap with the
onshore team. (Less can be made to work, but it is inadvisable. Nearshore solutions have the
advantage of much greater time-zone overlaps.)
■ Where the scale of the project means that multiple Scrum teams are needed in different
locations, methodologies such as Scaled Agile Framework (SAFe) and Large-Scale Scrum
(LeSS) can help to scale up agile principles.
■ Do not economize on bandwidth to the offshore location, travel, or collaboration technologies
such as videoconferencing and telepresence. You will save some money in the short term, but
spend more in the long term by impeding the productivity of the team.
Define "Done"
It is important to establish a definition of "done" to be applied to sprints (see "Avoid Chaos in Agile
Development by Defining 'Done'" [Note: This document has been archived; some of its content may
not reflect current conditions]), and to enforce the team's responsibilities for this. Some of the
responsibilities will fall on the service provider — for example, to ensure that the latest code has
Burn-down rates are used to measure the story points delivered in each sprint. It is normal that the
team's ability to estimate its capacity evolves during early sprints. If the first few sprints do not
deliver the story points planned, then this should be used to improve the team's estimating
techniques for future sprints, not treated as a failure of the service provider. By the fifth sprint, a
team normally should be able to estimate its work more accurately. At this point, an inability to
deliver the stories promised is an indicator of more serious problems. It is reasonable to expect
story points per sprint to improve as the team evolves; on the other hand, a decrease in productivity
should trigger a review of how the team is working, and it might be one of the reasons why a client
decides not to commission further sprints from this service provider.
Sourcing managers also must recognize that the responsibility to reduce technical debt is central to
agile working. Agile encourages developers to write code as quickly as they can in order to deliver
the stories allocated to a sprint. The benefit is a tangible working product at the end of each sprint.
The consequence is that future sprints must recognize their responsibility to refactor — that is, to go
back and rewrite sections of code that have become unreliable, unmaintainable or overly complex.
Agile projects should expect to spend 10% to 15% of each sprint refactoring. Code walk-throughs,
static code analysis or automated code analyzers can be used to identify where refactoring is
needed. The need for refactoring does not represent the service provider's failure to do a quality
job; rather, it is a core aspect of agile working and should be accommodated within an agile
outsourcing contract.
Finally, it is worth emphasizing that a strong relationship between senior executives from the client
and the service provider is always an essential element of managing an outsourcing relationship.
This is particularly true when outsourcing agile, where trust is such an important element.
Recommendations:
Following these recommendations will result in the best of all possible worlds: a rapid time to
market, a trusting collaborative team and verifiable value for money from the service provider.
"Business Outcomes, Differentiation and Performance Drive Bimodal Adaptive Sourcing Decisions"
Evidence
1Gartner's IT Key Metrics data (see "IT Key Metrics Data 2015: Key Applications Measures: Project
Measures: Multiyear") indicates that, in 2010, 14% of development projects were done in an agile
manner, but this grew to 22% by 2014.
2 Over the past 18 months, Gartner analysts have addressed agile sourcing in more than 300
inquiries, with a quarterly growth of between 10% and 20%.
3Gartner's IT Key Metrics data also shows that 48% of all development projects are still done in a
waterfall manner.
4 For more information, see the "Manifesto for Agile Software Development."
5 For example, see "Bird & Bird & Contracting for Agile Software Development Projects."
7 See J. Sutherland, "Agile Contracts: Money for Nothing and Change for Free."
8See M. Caine, "Money for Nothing & Change for Free," M.C. Partners & Associates, 17 October
2011.
Corporate Headquarters
56 Top Gallant Road
Stamford, CT 06902-7700
USA
+1 203 964 0096
Regional Headquarters
AUSTRALIA
BRAZIL
JAPAN
UNITED KINGDOM
© 2015 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of Gartner, Inc. or its affiliates. This
publication may not be reproduced or distributed in any form without Gartner’s prior written permission. If you are authorized to access
this publication, your use of it is subject to the Usage Guidelines for Gartner Services posted on gartner.com. The information contained
in this publication has been obtained from sources believed to be reliable. Gartner disclaims all warranties as to the accuracy,
completeness or adequacy of such information and shall have no liability for errors, omissions or inadequacies in such information. This
publication consists of the opinions of Gartner’s research organization and should not be construed as statements of fact. The opinions
expressed herein are subject to change without notice. Although Gartner research may include a discussion of related legal issues,
Gartner does not provide legal advice or services and its research should not be construed or used as such. Gartner is a public company,
and its shareholders may include firms and funds that have financial interests in entities covered in Gartner research. Gartner’s Board of
Directors may include senior managers of these firms or funds. Gartner research is produced independently by its research organization
without input or influence from these firms, funds or their managers. For further information on the independence and integrity of Gartner
research, see “Guiding Principles on Independence and Objectivity.”