Fixed Price Model is a popular model for outsourcing Software development projects and the question which follows is, which is the best development methodology for executing these projects?
The usual reasons why an organisation may want to opt for a Fixed price Model are:
- Fixed Budget
- Want to Explore the Outsourcing Model - no previous experience of outsourcing
From a vendor’s perspective, Fixed price projects translate into a Fixed and agreed scope. So, a lot of effort goes in defining the project scope, cost and contract terms.
So, the best fit projects for execution under a Fixed price agreement would ideally be small to medium in size, where the project requirements are well defined in advance.
The Waterfall model can be used for executing such a project. Even for very small projects, ideally, the waterfall model should be customized so that the project scope is broken up and delivered to the client in iterations to allow review and feedback during the project execution rather than a big bang delivery at the end of the project.
In our experience, the following development approach works well for such projects
- A Project Plan is shared breaking up the agreed project scope into multiple iterations or sprints
- As part of the first sprint, UI design for the Product is prepared and the client reviews and confirms the same before the actual development is started. This helps the client visualise the look and feel of the end product and for us (the vendor), it confirms our understanding of the project requirements.
- The next sprints are then developed, tested and delivered to the client. Each sprint delivers a working software which consists of some features and functionalities which are a subset of the overall project scope. The client reviews and approves each sprint.
- All of the remaining sprints are delivered as per the plan. Development sprints are typically 2-3 weeks long.
- When all the sprints are delivered and approved, the product is ready for the launch.
The above approach has the following benefits:
- Allows the project execution to be agile: Even though the project requirements and scope are agreed in advance, but based on the sprint deliveries, the client may suggest changes/improvements, as well as changes in priorities, and the two sides can mutually agree on including these in the project scope and cost. Also, during the project execution, some technical challenges may crop up which may force the team to look for an alternative approach.
- Enables the client to be more closely engaged with the development team: As the client is actively involved in the review and approval of sprints, it helps in identification and resolution of issues during the project rather than at the very end. This allows the client to have a certain degree of control over the project. These interactions also help build mutual trust in the client-vendor relationship where both sides develop a better understanding - the vendor gets a better insight into the client’s product idea or the business problem which is being solved. On the other hand, the client also gets an insight into the software development process and challenges involved. This mutual trust and understanding significantly helps in making the project a success and often leads to a long term engagement.
It should be noted that the ability to define the project scope and clarity on the Product requirements are pivotal to making the Fixed price project successful.
For example, if a start-up wants to build a software product and is able to define the MVP (Minimum viable product) features, it is possible to get the MVP developed in a fixed price model.
On the other hand, in long-term, as this MVP is launched in the market and further features are required to be developed along with providing product support, then a Time and Material/Dedicated Team model is a more practical approach where the team is involved in developing, testing and releasing new features as well as supporting the Live Product.
Evon Technologies has the experience of providing Technology Consulting and Software development services to businesses working in various domains. We have worked with many Startups where we have helped them define an MVP scope and then develop it on Fixed cost engagement while following this above described development approach.