ImprovIT, the UK-based business technology specialist, recently completed a Software Development benchmarking study for a multinational IT service and software development provider. This client had a problem: they weren’t sure if they were making or losing money on their highly popular fixed price application development service.
Because of its complexity - including not only the basic software build but all of the end-to-end professional services and project management elements - it was extremely difficult to price up. ImprovIT’s brief was to review the management methodologies, pricing structures and process environment and then supply a framework and series of templates to help the client accurately price up future projects.
End-to-end life-cycle management
As one of the world’s leading IT providers, the client has a service portfolio spanning everything from hardware support to software development - the latter encompassing a wide range of capabilities from custom designed solutions to legacy integration, application consolidation and system migration.
One of the organisation’s competitive differentiators is a total life-cycle management approach to software development. Where others typically take a project only up to the point of delivery, this provider takes responsibility for product development from the initial audit and specification process though to testing and final go-live, handling any problems along the way.
The challenge of pricing
While this end-to-end management approach provides a competitive service advantage, it can carry a substantial additional - and often unforeseen - cost. The challenge is that it’s very difficult to estimate the costs of all downstream variables and potential problems. It is for this reason most software providers work on a Time & Material basis, whether it’s for, say, creating a custom application or the migration of a set of applications onto a new enterprise platform (e.g. porting legacy accounting, inventory and reporting systems into a new ERP solution).
The inevitable - and frequently unforeseen - management and consultancy requirements that typically crop up during a project are usually charged at a day rate, which can become a very costly exercise as costs creep higher.
What ImprovIT’s client needed to know was whether offering a full life-cycle management service and incorporating all aspects of service delivery management (including these unforeseen professional services requirements) made sense as a viable business model.
Could it be realistically packaged on a fixed price basis while safeguarding the provider against loss? Finding the answers to this question was what lay at the heart of the study, and involved several weeks of in-depth research and drill-down analysis.
Costing up project components
The approach was to first identify the common, reusable elements in the development lifecycle. While there are always a number of complex and singular challenges involved in a project, there are also many standard components, or building blocks, used in the creation or migration of a software application or platform.
It’s similar to building a car. If you treat each product as a unique, tailor-made item then the process is lengthy and expensive. The answer, therefore, is to reuse as many already existing elements as possible. The first thing ImprovIT did, therefore, was to identify, measure and cost out every element of the client’s software development process, including all of the standard application package tools, professional consultancy and project management components.
To begin the study, a number of sample project scenarios were run. These involved varying sizes and types of project and included a typical range of tasks such as software development, integration, migration and platform modernisation. Each of these was then broken down into its constituent parts including application and interface programming, module testing and project management.
The next step was to gather up key data through a combination of stakeholder interviews and document reviews to obtain detailed information on cost models, work breakdown structures, selected role profiles, task summaries and project budget data.
All of this information provided a broad picture of the cost and effort involved in a project and gave an insight into the various factors - such as complexity and quality requirements - that tends to influence pricing. Once this audit was complete, the task of assessing the cost of each component was undertaken. The result was a set of concise cost models that could be used for pricing up future projects in a much more accurate way.
Making competitive comparisons
Once having identified overall project and component costs, ImprovIT was then asked to compare its client’s costs with competing suppliers, and where there was a significant difference, to pinpoint the reasons why. Due to the client’s end-to-end life-cycle management model was somewhat unique, this meant that an ‘apples-to-apples’ was difficult. Fortunately, because all of the project elements had been isolated and costed so accurately, a very close comparison was obtained by matching each service component against peer offerings.
Analysing business efficiencies
The question of cost having been addressed, the second segment of the study was to measure KPIs and the overall efficiency of the software development process. This included an examination of all roles from programmers to packagers, system analysts and team leaders. Again, a series of scenarios were run to assess the impact of variable cost, staffing and process re-engineering parameters on product quality - including a look at how far staff could be reduced before suffering degradation.
This kind of exercise works by measuring the impact of one element (eg. quality) on another component (eg. cost) within a virtual environment. However, before it can be undertaken with any degree of accuracy, a volume of detailed information on a broad range of parameters must first be gathered - including elements like cost, performance, quality and the complexity of the process infrastructure.
In the course of drawing up cost models for the client’s application lifecycle management service, the study discovered some significant areas of potential savings. One of these was increasing the use of offshore resources - seen as a way to reduce some of the labour-intensive management costs without causing product and service quality to suffer.
This recommendation ran up against a long-held perception by the client that strong central control was required to ensure a consistently high level of result across the end-to-end process. However, these modeling scenarios were able to identify the exact balance point between the percentage of offshoring and the preservation of quality services.
The end result of the study is that ImprovIT’s client was able to accurately price up its application development service in a way that continues to give its customers the peace of mind of a fixed price upfront, while giving the outsourcer the security of knowing they will not be suffering downstream profit leak on future projects.