Service Level Agreements (SLAs) are often not given sufficient attention when creating contracts for software development outsourcing. This is a mistake. A service level agreement (SLA) in software development outsourcing is a crucial document that outlines the terms, expectations, and deliverables between a client and an outsourcing provider. These agreements establish the quality standards, response time, performance metrics, and other SLA metrics that the provider must meet to ensure the satisfaction of the client.
SLAs typically define parameters such as project timelines, software functionality, maintenance schedules, and support services. By clearly delineating these terms, a good service level agreement helps mitigate risks, manage expectations, and foster accountability between both parties involved in the outsourcing relationship. They serve as a foundation for effective communication, collaboration, and ultimately, the successful delivery of software development projects.
That’s because SLA terms are a critical part of any contract with a service provider such as an outsourcing company for software development or support.
A service level agreement may be only a few sentences or many pages. Sometimes there is a reference to “SLAs of an agreement," which can be confusing. A contract’s service level agreement consists of multiple service commitments – and sometimes each service commitment is also called an SLA.
Critical Components of a Service Level Agreement
The service commitments outlined in an SLA should cover all these essential elements in clear and specific detail:
- Service – the service or action the outsourcing partner provides. For example, your internet provider gives you internet access.
- Measurement – this is a metric that quantifies the service commitment. Using the internet provider example, the measurement could be 99.999% availability (also known as “five nines of uptime”).
- Interval – the measurement (metric) that must be captured at defined intervals. For example:
- “Every time the helpdesk is called..”
- “... every month”
- “... average of all tickets every month”.
- Obligations – some SLAs have obligations that the client and the partner must fulfill in order for the SLA to be enforceable. Also, it’s a common obligation for the client to declare an SLA violation, in order to exercise their right to receive a penalty payment from the partner.
- Penalty – this is the penalty for failure to comply with the SLA component’s obligations (an SLA violation). In subscription-based agreements, the penalty a partner incurs will usually be to credit back a percentage of the monthly subscription. In software development outsourcing, an SLA penalty is often the loss of a “bonus payment” (or percentage) held in reserve by the client for a successfully completed project with all SLAs met.
- Project Management - After all other elements are decided, plan out how projects will actually be completed. An effective SLA will already establish baseline metrics and organize the project but laying out individual tasks can be the key to success.
Key Benefits of an SLA
Here’s why you need to have SLAs as part of your contract(s) with a software outsourcing partner.
- Clarify expectations – SLAs help to define and align clear expectations for performance from the relationship in measurable terms. They keep the outsourcing partner accountable for delivering on their promises, so there are no surprises.
- Focus on customer service – The SLA helps the partner to remain focused on client requirements and needs. It outlines the specific scope and timing of what is to be provided to the client, as well as how and when issues will be resolved.
- Establish measurable standards – The SLA sets clear standards of performance for the partner, with key metrics varying based on the project and its goals. The SLA also should define the frequency and types of reports to be provided.
- Outline remedies for non-performance – SLA penalties should incentivize the partner to fulfill commitments made to the client, and offer remedies if they fall short. In addition, the SLA should delineate a dispute resolution process to help with mediation of performance issues.
What Type of SLA Should I Use?
Accelerance can help you develop SLAs that are best suited for your situation. Some of the most common variations we see used are:
System availability
If your software runs in a cloud environment, or if you have a telco or internet circuit to your office, you probably have an SLA for uptime in your subscription agreement (example: 99.999% availability measured monthly). Similarly, if your outsourcing agreement includes other IaaS, PaaS, or SaaS components, take a page from the telco playbook and have an SLA around availability (percentage uptime, measured over a month).
*Here’s a pro tip: you may care more about availability during your standard business hours. If end-users don’t require more, try to use an SLA metric focused on business-hour availability, not 24/7.
System response
Again, if you are using cloud infrastructure or platforms of software your partner provides, try to have an SLA for the speed of the system. If your software development outsourcing partner is delivering a turn-key solution or major component, an SLA of system response for the software they produce may be a good idea.
How do you measure response time? Many companies create an SLA for response time based on one – or a few key–user functions. Another method is to quantify the expected response time of a complex, predetermined SQL query as the “service” to be measured.
Partner responsiveness
If you have a helpdesk service, your contract probably includes SLAs for response time (how long before a live agent responds to your ticket) and possibly mean time to resolution (typical time all tickets are resolved in a month). Similarly, think about SLAs that create expectations of responsiveness from your partner. Examples might be:
- Time to respond to newly posted issues or bugs found during testing
- Time to estimate work-effort on proposed changes in scope
- Weekly deadline to post team progress, with an expectation of 100% compliance.
Customer satisfaction
Partners who provide a support desk or helpdesk often send users a “How did we do?” follow-up survey. You can require an SLA for customer satisfaction scores (for example, “95% positive feedback each month”).
SLA for Reporting Performance Metrics in Agile
In an Agile development project, you may want an SLA commitment from your software outsourcing partner to provide a report of software development metrics periodically. The SLA could read something like this: “Vendor will provide a monthly report on the following development metrics…” Using an SLA in this way accomplishes two objectives:
- The partner is held accountable for continuous measurement and reporting. The reporting rhythm is your SLA.
- The metrics the partner reports on, per the SLA, become baseline measurements for continuous improvement.
How do you know if you’ve got the right outsourcing partner to enter into an agreement?
Get inside tips from Accelerance’s 2023 Due Diligence Guide.
What metrics would you expect in a periodic report? Companies using agile development methods are able to utilize new techniques for estimating complexity and level of effort. Here are some metrics we recommend in any service-level agreement:
Lead time
In manufacturing, the “lead time” is the length of time between receipt of an order to the point of delivery of the product to the customers. In software development, you need to measure the time elapsed from concept to delivery. From project-to-project, or even epic-to-epic, you want to see an increase in the speed to deliver completed software.
Sprint time (duration)
Teams using Agile will have sprints measured in a few days, instead of months, for work timed in “phases” or “activities”, using traditional development methods. Track the duration of your sprints – and evaluate trends over time. You may be surprised by what you learn!
Sprint volume
How many sprints are needed to complete a story? How many sprints are needed for a version? For each of these metrics, look for consistent volume (such as number of sprints produced) over time. Variations in volume could mean you have a “lumpy” plan for a new feature rollout: too many in one version, too few in another. A decline in the number of sprints produced might indicate that a recent developer change or reassignment caused a dip in team productivity.
Issues and open/close rates
Measure the number of production issues reported and closed within a specific timeframe. Observe and act on trends rather than establish a hard-and-fast number—there is no “right answer."
Benchmarking Your SLA
How do you know what performance standards to use for your software development? SLAs should contain a benchmarking provision for regular reviews of the competitiveness of your contract’s cost and performance standards, measured against market rates and service levels. The provision should also specify remediation measures for any issues that arise.
Having a detailed service level agreement is proven to lead to greater satisfaction with outsourcing costs and service satisfaction. For optimal insights and outcomes, establish a baseline benchmark before the contract starts – this will yield better insights and outcomes for future analysis.
Accelerance advisors recommend engaging a professional consultant to assess your outsourcing benchmarks at least every two years. Unfortunately, the importance of regular benchmarking is often underrated (see our best-practice perspective on benchmarking your outsourcing agreements here).
So, what should the ultimate benchmarking provision include? We recommend:
- Clear definition of the metrics that will be measured and compared
- The right to conduct a benchmarking analysis periodically (every 1-2 years)
- Your ability to engage the benchmarking professional or firm of your choice
- Escape clauses in case you want to switch your benchmarking provider for any reason
With a deep knowledge of software outsourcing rates and services around the globe, Accelerance can provide performance standards to assist in benchmarking. We also have experts to guide the development of the precise SLA for your business needs and outcomes.
The ultimate goal of your SLA should be to help you achieve “performance outsourcing.” Our Software Outsourcing Advisory Services helps you optimize performance throughout the software outsourcing lifecycle. We connect you with an ideal software development outsourcing partner, help you establish meaningful SLAs and benchmarking practices, and work alongside you every step of the way.
Accelerance
We’ve investigated 8,000 software companies worldwide so you can confidently outsource.
Want to know who to trust for outsourcing SLAs that work for you? Talk to us.
Rich Wanden
As Chief Customer Success Officer, Rich oversees Accelerance marketing and sales operations globally with a focus on helping customers make the best decisions for choosing a software development team and working together. Prior to joining Accelerance, Rich has worked in management consulting, IT advisory and...
Recently Published Articles
View All PostsSubscribe to email updates
Stay up-to-date on what's happening at this blog and get additional content about the benefits of subscribing.