When it comes to software development, there are several ways to approach it. Historically, development service providers followed traditional models where you pay for the number of team members, the number of hours worked, overheads, and so on, but that’s starting to change.
As our ability to optimise practically grows exponentially, we now benefit from real-time data and enhanced capabilities to evaluate both development options and service needs. This approach helps us improve and optimise our software development strategies and deliveries.
However, over the years, most of us are groomed to measure work by output. This means a project is considered successful when a product is live or when patches are deployed. This makes thinking “outside the box” challenging, but not impossible.
What Are Traditional Software Development Models?
In traditional development models, the client is responsible for the service delivery and manages it daily. This software development model, for example, requires the buyer to procure inputs (like capacity and person-hours, etc.), or components of the output from a third-party development partner.
In this scenario, enterprises embrace staff augmentation or extended team models where they procure person-hours from their software development provider. This follows a co-sourced delivery model where the customer procures the project deliverables’ components or the overall output.
What Are Emerging Software Development Models?
In emerging commercial development models, the third-party tech consultancy assumes the overall responsibility for delivering pre-defined outputs and/or outcomes. This approach is central to managed services (a.k.a. turnkey delivery) agreements where the development partner takes ownership of the whole project (including people, processes, and technologies).
Having said that, it’s important to note that not all managed services can follow an output/outcome model. Such output- and outcome-based service delivery models work best when the following conditions are satisfied:
- The proposed work is standardised and repeatable on a sustainable basis
- The scope of the project can be broken down into smaller components
- There is sufficient room to enable economies of scale
- The client can transfer some project control to the services provider
- The development partner has the right to optimise processes, people, and technologies proactively
Traditional Models vs. Emerging Models: What’s the Best Fit?
All service delivery models are based on the same three things: input, output, and outcome. The fundamental differences between them depend on many key factors, including development priorities and project ownership.
The traditional approach focuses its service contracts on the delivery of products (including bug fixes). This service model charges clients for labor, overheads, or the fixed cost of a project. This approach demands the customer to own the service delivery.
However, the emerging outcome-based model shifts the service focus to the client’s positive business outcomes. This model ensures that the software development services provider owns the service delivery, technologies, and resources required to deliver pre-defined outcomes.
Outcome-based software development is inherently agile and is driven by software teams that build startup or enterprise software based on a product roadmap with a series of goals instead of a set of features. In this scenario, different objectives are prioritised and punctuated with milestones like any product roadmap.
However, the primary difference here is that we don’t know how many iterations it’ll take to achieve a milestone or goal. However, the development team can ship new code to production at the end of each iteration, and leverage feature flags to allow the silent toggle of new functionality.
This approach helps development teams control what the end-user sees and progressively roll and new features and monitor how it changes behaviour and impacts related metrics like user experience.
For example, when Tesla first came out, their cars didn't feature the familiar stuttering motion when anti-lock brakes engaged. Customers mistakenly believed their brakes were defective and complained. Overnight, Tesla developers deployed a software update that made the anti-lock brakes deliver a familiar stutter and satisfied their customers.
What Are the Different Sourcing Scenarios?
As user retention becomes increasingly challenging, a commercial development model complemented by agile methodologies is necessary. So if your product is primed to evolve based on user-feedback loops, an emerging commercial development model is better suited for your software. However, it can also be a combination of both sourcing scenarios.
Output- and Outcome-Based Service Delivery
As enterprises and software development providers learn from large headcount-based projects and managed services arrangements, commercial models that leverage output- and outcome-based service delivery are increasingly popular.
The key here is to deploy appropriate conditions, governance mechanisms, and safeguards before committing. It’s also critical to establish mechanisms to manage change in a planned manner effectively.
Non-Headcount-Based Commercial Models
Traditional headcount-dependent, input-based models are the most common models in software development. However, non-headcount-based commercial models are growing increasingly popular as companies explore alternative solutions.
Often, enterprises leverage a balanced approach between traditional and emerging models to maximum effect. However, the best-fit commercial model for your next project depends heavily on the product, your business model, and the industry vertical.
What’s right for your business depends on your present organisational culture. If you’re still measuring outputs based solely on effort (like hours worked or end-user stories), a cultural shift is necessary before adopting any emerging development models.
In this scenario, the end goals of an outcome-driven development team are measured by focusing on some of the following:
- Improved Apdex score
- Reduced churn
- User retention
These outcome-driven goals are directly related to business value. So every decision must be made after careful consideration. For example, while deploying new features might appear to be the best approach to reduce churn, enhancing the existing onboarding flow can be cheaper and more effective.
At Evolve, we have successfully engaged in both traditional and emerging software development. The latter proved to be significantly more aligned with customers’ goals and successful extended team scenarios.
Although finding the best-fit commercial development model adds complexity to pricing schemes, it’s worth the effort. This is because it makes clients think more deeply about their business goals and define their objectives with precision. This approach, complemented by an established, experienced development services provider, can go a long way to mitigate the risk of failure.
If you’re unsure about the best software development model for your business, we can help. Schedule a commitment-free consultation now.