Although Agile’s popularity has grown over the last few years, the Fixed Price model remains the preferred way to outsource software development.
The percentage of banking and finance organizations that outsource IT-related tasks on a fixed budget, for instance, has recently topped 40%.
Why do customers love FP? Does a Fixed Price contract guarantee that your project will stay within its budget? Is the model suitable for innovative software development projects? Here’s what Pavel Shylenok, CTO at R-Style Lab, thinks.
The advantages and disadvantages of a Fixed Price contract
Fixed Price software outsourcing and how it works
Ok, you have an idea for an app and consider hiring a software development company – either from your own country (onshore) or abroad (offshore) – in order to put it into practice.
You don’t have coding experience and you basically don’t care by what means your goal (a stunning app that will crash the App Store) will be achieved. In this case, FP is just what the doctor ordered.
Here’s what you should do:
- Study independent developers’ ratings to choose a company with the relevant expertise and positive reviews;
- Contact the company’s Business Development Manager and outline project requirements (including the app’s feature set, design concept and purpose). Although writing a detailed requirements specification is a must for the majority of Fixed Price projects, in most cases (that do not deal with the rocket science, of course!) vendors make concessions and replace the doc with an approximate technical vision of a project. The technical vision, in its turn, serves as a basis for your estimate. Provided the vendor has worked on similar projects before, it’s going to be fairly accurate;
- Discuss the details of your possible partnership (including the expected budget and timeframe) and sign a FP contract;
- The scope of your project gets broken down into several iterations. Obviously, you are free to review the work at the end of each phase. Otherwise, the model presupposes little to no involvement on the client’s side.
Outsourcing software development in accordance with a Fixed Price contract certainly has its pros and cons.
On the one hand, you can plan your expenditures early on as your budget remains intact unless you make changes to the scope. Also, you can focus on marketing your app instead of monitoring your dev team’s performance.
However, you can’t get a FP project started until you (or your vendor) craft a detailed spec. If you want to add extra features to the scope (QR code recognition, integration with popular payment services, etc.), you’ll have to sign a supplementary agreement and renegotiate the budget.
The lack of communication with your dev team may also result in poor product quality and prolonged deadlines. Even though it’s your vendor who takes the risks, missing deadlines can be critical for tech entrepreneurs who work on an innovative solution with a tight market window.
Fixed Price challenges and ways to overcome them
- Fixed Price is not suitable for innovative software development projects. By “innovative projects” we mean not only IoT, AI, AR and other cutting-edge technologies but also applications that require the integration with new APIs and services. If your vendor hasn’t worked with certain technologies and tools before, he will only be able to provide an approximate estimate of the project or its components. Customers who insist on signing a FP contract anyway often end up overpaying for the dev services (bloated estimates). Also, any Fixed Price project has a definite scope, budget and timeline. Once your vendor runs out of funds, he will have to postpone further development until you negotiate the cost overrun (and new feature set). In a world where innovative products usually have tight market windows, project delays may cost you a fortune (if not your entire business).
Ways out? Your vendor may break the scope down into several sections and develop some “obvious” parts of an application (like UI and backend server) according to the Fixed Price model. He will also provide an approximate estimate of the innovative components and bill these parts in accordance with a T&M contract.
As a rule, companies that want to create an innovative software solution do realise they’re not after another alarm clock app and don’t make excessive demands on their vendor.
A T&M contract allows a lot more flexibility – both for a customer (changes to the scope, an opportunity to put a project on hold) and dev team – and results in higher product quality (your vendor has more time for research, QA, bug fixing, task prioritisation).
- With Fixed Price, you pay for PM man-hours (and good PMs do not come cheap).The Fixed Price model requires thorough project management on a vendor’s side. An experienced PM has to monitor change requests to avoid feature creep, communicate with the customer and dev team, negotiate budget, etc. Thus, a PM’s efforts will also end up on your estimate – and that’s $ 100 per man-hour if you’re working with a US/EU-based software development company.
If you take the T&M approach, you won’t need a detailed spec to get the project started. The dev team would provide an approximate estimate for all the components of your software and start building them straight away. What’s more, you are free to conduct weekly and even daily meetings with your team (via Skype or even face-to-face meetings – provided you partner with a vendor from a neighbouring country), prioritise tasks and add new features to the scope, thus reducing a PM’s interference to a minimum.
Going Fixed Price from a software vendor’s perspective
In case you run a software development company, you should consider the advantages and disadvantages of Fixed Price contracts, too. Let’s start with the pros:
- Effective resource management.If you deal with a standard mobile app/PHP software development project (WordPress websites, event apps, simple 2D games, etc.), Fixed Price is the way to go. Since you’ve worked on similar solutions before, you can easily define an app’s feature set, provide an accurate estimate and…manage the available dev resources accordingly. After all, customers are more interested in obtaining the end result; as long as the application performs the intended functions, it hardly matters who’s built it (two middle iOS developers or two senior software engineers).
However, the Fixed Price approach involves hard work during the presales stage. The time your team spends on preparing a single detailed FP estimate equals three T&M project assumptions. Once you embark on a FP project, you also need to constantly monitor its budget/timeline and avoid scope creep.
Here’s how a minor mistake made during the presales phase can impact a Fixed Price project.
FP gone wrong
Our company was addressed by a US tech startup that was working on a custom EKG tracker. The device was supposed to measure the electrical signals of a human body and transfer sensor data to a dedicated iOS app in real-time over Bluetooth.
At first glance, the project seemed to be a piece of cake (basic authentication, data visualisation, three simple interfaces). Our team assumed they could quickly implement the intended functionality using the Core Plot library and agreed to sign a Fixed Price contract.
Our second mistake was the decision to start with UI design and authentication. By the time we got down to real-time data visualisation, we were halfway through with the project.
And that’s where the trouble began.
Core Plot is a flexible data visualisation library that enables software developers to build both static and dynamic charts. It is primarily written in Objective-C (standard iOS tech stack). However, the amount of incoming sensor data turned out to be unexpectedly large (300 data sets per second). Core Plot had to redraw heartbeat graphs with each update, which introduced a 3 second lag between data processing and presentation.
In order to enable the real-time data visualisation feature, we turned to low-level programming and developed several components of the iOS app from scratch. The dev team decided to segment the Objective-C data into raw C data units and partially transfer the load to GPU. Also, we implemented data rendering through the OpenGL ES library. Although the library is very popular among game developers, few app development agencies possess the required expertise and human resources to put low-level programming technologies to work.
By using raw C data structures and OpenGL ES primitives, we were able to render sensor data at the speed of 60 frames per second and even achieved the dotted line effect (OpenGL Fragment Shader) which was available in Core Plot by default.
It sounds like we’ve done a great job, right? From our customer’s point of view, we certainly have. However, the project was only marginally profitable for our own company.
- As our customer insisted on signing a FP contract (probably due to budget limitations), we did not have time for research and eventually chose the wrong tech stack;
- We started the dev process with the development of UI/authentication features (and wasted quite a bit of time). If we’d tried to render data with Core Plot first, we’d have discovered its shortcomings early on and renegotiated the budget;
- As a result, we had to put extra time and resources to solve the issue and deliver the project on time.
We really hope our story will serve as a lesson for both software vendors and their customers who consider building an innovative solution according to the Fixed Price model.
Outsourcing software development is a great opportunity to reduce operating costs and access new talent pools. However, the success of your outsourcing endeavour largely depends on the choice of a pricing model. Keep that in mind, and you’ll do well!