Pricing methods & Project models
How to cooperate with “comers”? A piece of advice for a client :)
If you made a choice of outsource development, then your next step is pricing method.
Currently, we have two types of pricing method:
- Fixed price
- Hourly rate
In the first case, you clearly fix the functionality that you are expecting to receive for a fixed price, as a result of your cooperation. In this instance, you can’t be bothered with what the contractor does and how - your task is to pay for your finished product at the proper time.
This scheme is very convenient and even desirable for many clients, as it allows you to plan your budget and expenses.
The disadvantage of this scheme is that the price of software development will be higher approximately from 30% to 100%, because this price will include all of possible risks, which probably could be in the future.
This scheme is best matched to the "waterfall" model, which is described below.
In the second case, you will get a clear hourly rate for every developer and specialist who is involved in the project. Hereafter, you will get forward estimation of the tasks and regularly reports of how much time was spent implementing a task. Usually, this information is available to the client at any time in specialized administration system, like Jira.
The advantage of this scheme is that you will get lower price of the developer's hours than with fixed price, as well as more adaptive project management.
Agile model and Waterfall model
There are two models of Project Planning and Project Organization
Waterfall model is a classical approach for managing project. The main point of the model is during project preparation, to specify not only all business requirements, but also maximize the description of technologies which are used and implementation approaches. The best analogy for this approach is the architectural design of a building. When a builder starts his work - he has an accurate project, instructional implementation sequence and completely understandable result. In this approach, there is almost no place for some researches or improvisation.
Usually, such an implementation starts with the fact, that you are ordering the creation of such a project, based on your business requirements and this is a separate work for which you will pay.
Following such a project it is very convenient to run a competition or seek a tender, and choose the best price offer.
Absolutely, this approach is the best for a "fixed price" calculation scheme, because the potential is unknown and the risks in this case are minimized.
Agile is a more modern method of software development. The key benefit of it, it is not necessary to create a detailed project. Usually, it is enough to have accurate business requirements, thereafter a business analyst’s and developer’s collaborative work will help to determine the methods, approaches and web-site architecture. According to agile method building software product should have step by step process, it gives you an opportunity to adjust the project at any stage, depending on the results of the previous stage.
But this progressive method has its downsides. One of the most reasonable downsides is the inability to estimate actual quantity of work, because software development is accompanied by constant research and testing of new approaches, which can lead to cost over-run because of spent time toward the previous evaluation.
Its primary benefits is that you will pay exactly as much as the developer worked out, even if the estimated time of the specific task was twice longer. In addition, you can set a task right off the top according to business requirements.
Agile method allows you to start the software development as soon as possible and kick off the project. It is well suited for startups and not very large / heavy services.
To be continued. Next time we will speak about active phase of software development.