How - To - Select - A SW Development Vendor
How - To - Select - A SW Development Vendor
Development Services
Published 13 September 2023 - ID G00796216 - 32 min read
By Analyst(s): Luis Pinto, Gunjan Gupta, Jaideep Thyagarajan
Initiatives: IT Contracts Negotiations; Build a World-Class Software Engineering
Organization; IT Sourcing Strategy Development and Execution; Software Engineering
Practices
Overview
Key Findings
■ When using outsourced software development providers for agile development,
organizations face significant governance challenges — for example, around delivery
responsibility, productivity commitment (trade-off between quality and velocity),
capacity management and skill availability.
■ Sourcing, procurement and vendor management (SPVM) leaders who only have
experience with fixed time and budget contracts may struggle to determine the
appropriate selection criteria for agile software development services.
Recommendations
SPVM leaders seeking to contract for custom software development services should:
■ Select the right provider by using specific evaluation criteria based on your
stakeholders’ agile maturity and custom software development requirements. Use
evaluation criteria such as vendors’ expertise in agile methodologies, product-centric
approach, clear role definitions and internal and external teams’ responsibilities.
Assess vendors’ ability to execute using minimum viable products (MVP).
■ Meet your goals and objectives by focusing on outcomes when negotiating and
contracting for outsourced custom software development (CSD) services. Reduce
the risk of vendor underperformance by including agile and DevOps metrics in your
contract. Periodically review what has been delivered and the accuracy of the cost
and effort estimates.
Introduction
Fifty-four percent of those who responded to the 2022 Gartner IT Services Buyers survey
said that their organizations plan to source multidisciplinary teams to gain agile and
DevOps competencies. 1 Their top three objectives were to:
3. Increase productivity.
3. Contractual life cycle management takes time to execute and is not in sync with the
dynamic and iterative nature of agile sprint cycles.
5. Organizations have conflicting priorities between agile and waterfall delivery models
and do not usually have governance and communication processes in place.
In addition, some organizations do not have sufficient in-house skills and software
engineering capability, do not understand the changes required, and expect that an
outsourced partner can build the next best product, instead of a minimum viable product
(MVP).
Based on their internal capability, many clients rely totally on third-party providers to
perform tasks and governance and cannot control work delivery and outcomes in an agile
development environment. As a result, many clients fail to achieve successful provider
engagements, resulting in lost time and money.
This research provides sourcing, procurement and vendor management (SPVM) leaders
with a five-step process to contract for CSD services effectively. See Note 1 for Gartner’s
definition of the CSD services market.
Figure 1 shows the steps SPVM leaders should take to effectively contract for outsourced
agile software development services.
Analysis
Review Your Organization’s Agile Maturity
Organizations that are evolving in agile delivery should first evaluate the maturity of their
agile teams and work with service providers to define the roles and responsibilities of the
multidisciplinary team.
Figure 2 provides the agile maturity levels and the contracting models organizations
should choose based on their experience, team competencies and maturity of agile
adoption.
Assess the agile maturity of your organization to understand how much support you will
need from an external agile provider. That will define the scope of services when creating
a provider proposal. Agile and DevOps operating models require significant commitment
from IT, business and the agile service provider and their roles and responsibilities must
be clearly defined to achieve business outcomes.
Here are the approaches you should take when scaling agile delivery, based on your agile
maturity level (as illustrated in Figure 1):
■ Early: Organizations with low agile maturity should apply agile offerings to a small
project, use on-site provider developers and get help from agile coaches to transition
to a new agile way of working. Teams that blend customer and supplier personnel
are most appropriate in this phase and should be trained on Scrum and Kanban
methodologies. The biggest challenge is to identify the right pilot project to get
started, so create a shortlist of projects that will cause little disruption to business
operations. The best contracting model for early adopters is time and materials.
■ Going to the market with a business problem versus using a traditional RFI or RFP.
For more information on this process, see Quick Answer: What Is Gartner’s Dynamic
Sourcing Process?
SPVM leaders can build a detailed selection criteria using the evaluation criteria listed in
Table 1.
Gartner has published the Magic Quadrant for Custom Software Development Services,
Worldwide and the Critical Capabilities for Custom Software Development Services,
Worldwide, which offer details on global and pureplay service providers in this market.
The Magic Quadrant evaluates the worldwide capabilities of 20 service providers in the
CSD market and includes 10 honorable mentions. It provides details on execution and
vision while the Critical Capabilities evaluates these vendors on three use cases (unique
use, unique operational processes and unique products).
Mix and Match Vendors’ Products to Achieve the Optimum Collaboration Environment
If one service provider fails, others that are familiar with your organization will be ready to
take its place. However, using more than three service providers dilutes the spending with
each company and will impact the volume discounts they may offer. It could also affect
their attention and motivation to always engage with their best team. Finally, using too
many providers also increases the amount of time and resources needed to manage
multiple vendors and continuous improvement.
■ Standardized templates are typically designed for legacy IT projects of all shapes,
sizes and scopes, which makes them very long. Negotiating these terms and
conditions is time-consuming and complex and can delay urgent business
initiatives.
■ These templates tend to be based on the assumption that the scope of work is
clearly defined and fixed at the time the contract is signed.
■ In CSD, contracts are more likely based on an initial or flexible scope rather than a
fixed and detailed one. The contract includes obligations and breach scenarios, but
the focus is more on product rather than on process, promoting a gain-or-pain
performance approach.
A CSD services contract should be clear on quality standards and thresholds and state
when program backlog items are ready to enter sprint planning, through a definition of
ready. This describes requirements, stating when it is ready to be deployed through a
definition of done (DoD) that sets out what indicates that the product is production-ready
and what level of defects is acceptable postrelease.
There should be a blanket statement of work (SOW) created for the entire program with a
not-to-exceed price, while a work order is created at a sprint level (see Figure 3).
Deliverables and expectations should be defined once you and the service provider have
agreed on the product backlog and DoD, ideally for each iteration or sprint, based on a
simple (one page) work order. For more information on this, see Quick Answer: What
Should a Definition of Done Contain? The service provider is paid based on the successful
completion of sprint deliverables at each work order level.
Defining distinct roles and responsibilities helps avoid confusion among different project
members, so be sure to include a clear responsible, accountable, consulted and informed
(RACI) matrix. Table 2 describes who does what and when.
If the problem is the supplier’s fault, the customer’s recourse needs to be clearly defined,
such as an increase in supplier capacity at no cost, a financial credit or the right to
terminate the contract. However, if quality and performance are higher than the targets,
there should be an incentive to encourage the service provider to continue outperforming
contracted goals.
Use the following guidelines when selecting the contract model to fit your way of working
and delivery maturity:
■ Granularity: Cost and service components are sufficiently detailed to allow flexibility.
■ Business alignment:
■ Incentives and bonuses are used and measured against their business
impacts.
■ Productivity: Services are continuously improved throughout the contract term using
the latest transformative technologies.
■ This approach replaces the typical incentive or penalty method widely used in
traditional contracts, to promote and foster collaboration.
■ A typical pain or gain model implementation uses a discounted fixed price per
unit of work plus discounted time and materials, starting with an agreed upon
an estimation of effort that all parties agree to. The contract anticipates a
discounted rate per unit of work, such as price per function point and
discounted rate cards (cost per day per job profile) to calculate deviations from
previous estimates.
■ Client incentives: Pricing is based on underlying incentives that push the client
to use the services responsibly.
Table 3 lists various charging mechanisms for agile projects and illustrates that usability
varies widely. Assess each pricing model based on how it aligns with your business
objectives, risk and agile maturity level. Validate the most promising models with cross-
functional leaders to select the most suitable pricing model.
In addition to metrics (and when your organization is using a service provider to augment
staff’s technical skills), add staffing SLAs — for example, attrition, key resources retention,
bench strength, resumes submitted on time, new resources induction and certifications.
The benefits of a comprehensive metric suite include:
■ Helping customers define delivery KPIs that are aligned to business goals and
objectives.
1. Identify what you want to achieve with continuous improvement and define clear,
measurable goals and objectives.
2. Create a baseline across the engineering group (internal and external teams) to
assess improvements.
4. Include in the contract feedback from your stakeholders about the product’s or
service’s quality and value, such as Net Promoter Score (NPS). Incorporate feedback
from team members on the effectiveness of the continuous improvement process.
Manage Underperformance
Agile delivery can also go wrong, sometimes due to supplier underperformance, which has
been one of the top challenges clients have faced recently. Therefore, what actions should
SPVM leaders take when a supplier is underperforming?
According to the principles behind the Agile Manifesto, the highest priority of agile
software development is “to satisfy the customer through early and continuous delivery of
valuable software.” 2 Despite this, much has been written about using metrics and targets
on agile projects (see Use the Right Metrics in the Right Way for Enterprise Agile Delivery).
SPVM professionals are often tempted to set hard targets for developer productivity and
software quality, incentivizing suppliers to meet these SLAs by imposing financial
penalties if they don’t.
This approach is all but impossible for product development, since there are no industry-
standard objective measures of developer productivity on which SLAs can be based. The
situation is not much better for quality measures such as defect density because they too
rely on a unit of measure of developer output. In addition, a major disadvantage of SLAs
in software development is that they distract the team (and the supplier) from providing
useful software to the end user.
There are three steps that SPVM leaders can take when a supplier is underperforming:
■ Step No. 2: Take the vendor’s fees, which would have been put at risk by SLAs, and
use them more constructively. A percentage of the vendor’s fees can be held back
until the customer has achieved an important milestone. For example, consider an
agile team that operates two-week sprints but does not release to production until
they complete the fourth sprint. The customer could retain a percentage of the
vendor’s fees until deployment. The size of the retention and the length of the
retention period must be negotiated individually for each contract. A 5% retention for
one month will be much easier to negotiate than a 100% retention for two years.
Twenty percent for up to three months would be a reasonable compromise. This
aligns both the customer’s and vendor’s interest. Neither is happy until a MVP is
produced that meets mutually agreed on key success criteria for the new solution.
■ Step No. 3: If neither open discussion nor holding back fees works, you may need to
replace the supplier. Clearly, this is not an option that should be used often or
frivolously. Changing suppliers will delay the whole project while a new supplier is
found and brought up to speed. There will be additional cost while the old supplier
hands over to the new. However, this option needs to be kept in play throughout the
life of the contract, partly in case it is needed and partly as an incentive to the
supplier to perform well. It is extremely important that the master contract with the
supplier does not commit the customer to a fixed spend or a fixed duration. Even
though the customer has no intention of switching suppliers, the contract should
leave that possibility open as a form of leverage. This is in place of contractual
mechanisms such as ensuring the work each sprint completes in a way that is
maintainable and developable by another team. Examples of the contractual
mechanisms are: deliverables such as change documentation, SLAs and penalties.
Organizations were from most industries, except agriculture, real estate, services,
nonprofits, charities or NGOs and were outsourcing IT services (infrastructure,
applications or business process services) to a third-party vendor or contractor. An index
was created to classify organizations into traditional and progressive organizations based
on the stage of execution or plans to execute changes in the IT services outsourcing
delivery model.
Disclaimer: Results of this survey do not represent global findings or the market as a
whole, but reflect the sentiments of the respondents and companies surveyed.
2
Principles Behind the Agile Manifesto
■ Integrating the developed application with other systems within the enterprise or with
external partner systems.
It excludes:
■ Any product revenue, such as the resale of software licenses and providers’ own or
third-party products.
■ Any physical (on-premises and cloud) compute assets associated with revenue.
© 2024 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of
Gartner, Inc. and its affiliates. This publication may not be reproduced or distributed in any form
without Gartner's prior written permission. It consists of the opinions of Gartner's research
organization, which should not be construed as statements of fact. While 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. Although Gartner research may
address legal and financial issues, Gartner does not provide legal or investment advice and its research
should not be construed or used as such. Your access and use of this publication are governed by
Gartner's Usage Policy. Gartner prides itself on its reputation for independence and objectivity. Its
research is produced independently by its research organization without input or influence from any
third party. For further information, see "Guiding Principles on Independence and Objectivity." Gartner
research may not be used as input into or for the training or development of generative artificial
intelligence, machine learning, algorithms, software, or related technologies.
Governance processes (such as security and Agile and product roles are clearly defined and
architecture reviews) align with agile ways of staff in new roles have the competencies, training
working. and support they need to be successful.
Agile teams effectively partner with IT and Is the service provider’s culture to have teams
corporate functions to achieve business colocated or distributed? If distributed, what are
outcomes. the collaboration tools and processes to build and
Funding is aligned to product teams and retain a team culture?
governance processes. Certifications and internal and external team
Funding governance is adapted appropriately. training that are relevant to the customer’s
Team organization and team members’ experience products and services.
in agile. Flexible funding governance processes in place
that enable reallocation of funds as priorities
Governance and Customer experience (CX) strategy and execution. User interface (UI) design and user experience (UX)
Roles and Responsibilities interaction functionality for custom software.
Experience in bringing in a human-centered
approach to experiences. This should be anchored
in understanding customers’ needs, rapid
prototyping, embedding service orchestration
capabilities for workflow automation and data and
analytics experience.
Technical Expertise Analytics and business intelligence (BI) expertise. Experience in using BI applications and packaged
Quality engineering practices to help build custom The ability to provide static code analysis,
software with high levels of quality, reliability and automated testing, functional and nonfunctional
maintainability. testing and performance testing.
Software Engineering Approaches Develop software in rapid increments using agile, Teams embrace agile ways of working — fast,
DevOps and product centricity. flexible and collaborative — to achieve business
and customer outcomes.
Experience beyond Scrum — for example, Kanban,
large-scale Scrum (LeSS), Nexus, SAFe,
Scrum@Scale and so on.
Experience in key tech tools that facilitate agile and
DevOps ways of working, such as value stream
management platforms and DevOps platforms
(Atlassian, Microsoft Azure DevOps, open source
continuous integration and continuous delivery [CI]
and continuous deployment [CD] tool chains).
Pricing Pricing models used in CSD services contracts and Availability of alternative pricing models. For
key metrics. example:
■ Time and material (T&M).
■ Managed capacity.
■ Business outcome-based.
Innovation Rapidly adopt and capitalize on innovative custom Innovative use of technology such as APIs, data
solutions developed by the service provider. and analytics, AI, cloud and multiexperience
development.
Collaboration with ecosystem partners to co-
innovate.
Agile Delivery Team Product Owner Scrum Master Dev team Release Manager
(TA/UX/DEV/QA)
Conduct an in-sprint I A R I
review of progress (UX
testing, designs or
prototype).
Communicate the A, R C C I
output of the sprint and
any impact on the
prioritized backlog.
Time and Material Time and material (T&M) pricing is simple, plain It is difficult to predict cost fluctuations over time.
and widely adopted, mainly when using a service The risk is totally on the customer side.
provider to augment staff. The provider will use every opportunity to extend
Clients often have concerns about paying before the project or program for increased revenue.
seeing results, due to the iterative approach.
There are a number of T&M pricing variations to
reduce customer exposure and balance pain and
gain:
■ Capped T&M per project.
Unit-Based Most agile teams measure progress in story points, It is very difficult to benchmark a price per story
which are difficult to measure, are different for point to verify value for money.
each team or provider and have no industry
standard.
Organizations should define story point estimation
techniques based on complexity and initial or
/minimum productivity based on its environment
and systems. They should strive to improve
productivity year over year to drive down costs.
Fixed Price Per Iteration (Sprint, Program This is an effective hybrid approach that combines The provider adds the contingency.
Increment) the flexibility of agile development while expecting Price is based on the delivery team’s experience
the provider to demonstrate accountability. At the and skills.
start of each Sprint, the provider and client agree Part of the provider’s revenue will be at risk.
upon a set of stories or features, prioritized by Change requests for unambiguous scope
task. This gives vendor management an audit trail documentation can affect the price.
of provider commitments. Payment can be held
back if the provider fails to meet milestones, such
as deploying a minimum viable product.
If the scope is agreed on beforehand for each
iteration, the provider would add some
contingency to handle project and work variability.
However, given the iterative approach and limited
scope of each iteration, contingency tends to be
smaller and smaller.
If the scope is highly flexible, transparency,
frequent delivery and early termination can help.
Business Outcome-Based Although not widely adopted, many sourcing It is difficult to implement because defining an
organizations are interested in business outcome- outcome is not simple, and a business outcome
Technical Debt Quality Measures the amount of Technical debt to fix the Between 3% and 5%
(Refactoring or Paying Down technical debt in the system or application (value
Debt in Small Increments) codebase and the team’s plan to be measured using clean
for managing the debt. core calculation). In other
words, measured through
reusability, portability,
security, and so on.
Burn-down Rate or Velocity Velocity or flow Tracks progress in completing Story points delivered per No common target.
the project backlog. sprint. Gradually increase velocity
Note: Story points are over time.
subjective and need to have a
common definition.
Planned Versus Actual Velocity or flow Measures total story points (A/P) x 100 Aim for 100%, but do not
completed versus those A = Story points accepted as consider less than that to be
planned. done during the sprint. a SLA breach.
P = Story points planned to be During the first three sprints,
completed during the sprint. failure to achieve 100%
should not be considered
underperformance.
After sprint 3, an occasional
failure to meet 100% should
Customer Lead Time Velocity or flow The total time the client is The duration of the delivered The goal should be to create
waiting for an item to be date to the requested date. short lead times for feature
delivered. The delivered date is the date delivery.
This measures the time from on which a feature is Lead time complements
when the customer request is deployed to production. velocity because it measures
added to the product backlog The requested date is the the entire agile system from
to when all work on the item date on which the business end to end.
is completed and the request requests a feature.
is delivered.
Cycle Time Velocity or flow Cycle time is the amount of The duration of the delivered The goal should be to create
time that the team spent date to the start date. short cycle times for feature
actually working on this item The delivered date is the date delivery, ideally deploying
(without the time that the on which a feature is functionality continuously to
task spent in the product deployed to production. customers.
backlog). The start date is the date on
which the team begins
working on a feature.
Overall Defect Rate Quality Indicates the effectiveness of (DDPR + DDT + DR)/ATD Defects per sprint: 50 defects
Cost of Quality Quality Indicates the percentage of (AEPA + ARE + ATE)/ATD x Status report (sprint end)
time spent on quality 100
activities against the total AEPA = the actual effort on
time spent on the release. process audits.
ARE = the actual rework
effort.
ATE = the actual training
effort.
ATD = the actuals to date is
the total effort spent in all
tasks till date during sprints.
Project Estimation (Actual Business value Indicates the percentage of Monthly 95% of all projects or sprints
Cost Versus Estimated Cost) the project or sprints above or complete at or under budget
below budget. and no projects or sprints
completed at 110% or more
over budget.
■ Reduce operating
expenses (opex) due to
adopting DevSecOps
practices and
automations.
Talent and People Organizational effectiveness Retaining resources. Quarterly Service provider’s team
Management Onboarding new resources. turnover is less than 20%.
Lead time for onboarding (on-
site, off-site and offshore) is
greater than 80%.
Footnote: Ensure that service providers use your pipeline and tooling. This will give you full access to all metrics automatically, enabling you to monitor
delivery and status.