The purpose of this article is to explain a modern-day approach to engage a development company for a successful long-term relationship.
Different types of charging for development services
Charging is a key element when software companies and their clients negotiate the project.
Nowadays, there are different ways to pay for development services. Mostly we end up choosing between the fixed-price and the time & material model.
Fixed-price model is based on setting fix requirements, deadlines, and overall cost at the beginning of the project. Opposite interests on how requirements’ changes reflect on the cost, lead to constant confrontation between the client and the developer.
Time & material
Time & material model is based on setting fix development team’s capacity and their respective daily cost. Changing requirements don’t affect the fix parameters and are done in collaboration between the client and the developer.
The question arises: Which one is better? And for whom?
Fear of overpayment
The fixed-price model seemed to be the solution for the client’s main concern, overpaying a project.
The only problem was that besides the budget, to sign a fixed-price contract, the entire scope had to be fixed too. Usually, this part caused a lot of headaches and paperwork.
Further, as software companies are aware of their risk as well, they generally tend to overestimate a project because of the uncertainties.
Unfortunately, it is extremely time-consuming for clients to predict and set all requirements before the project even started. Additionally, their software product has to face external circumstances along the way which results in changes.
And according to the “rules” of the fixed-price model, every change-request is charged extra.
This kind of collaboration resulted in conflicting interests: the developer had to proclaim any new change as being out-of-scope and classified as a change request, whereas the client tried to push as much of it in the original scope.
A lot of time and energy in the project is spent on this dispute, instead of creating value. In the end, both parties were dissatisfied and felt at loss.
Important problems of the fixed-price model
- Miscommunication risk
- Conflicting interests
Luckily we entered a new era of collaboration
Today’s collaboration relationship model offers answers to the problems which the traditional, “confrontational” model caused.
The new model is based on trust, credibility, transparency and intensive communication. Most of all it’s about team-work between the client and development company.
It builds on top of modern agile development practices and introduces the complementary time and material charging model.
Different types of development processes
Besides different charging models, we also have different development processes, here we are mostly talking about the waterfall and agile process.
Low client involvement and predefined processes are its main characteristics. The project is divided into different stages (requirements, design, development, and testing), each leaning on the previous one, like a waterfall. The client is able to see his product at the end.
- Fits well with the fixed price charging model
Intensive client involvement and short, iterative define-implement-ship cycles are its main characteristics. The client is able to see his product frequently and adapt it to changes.
- Fits well with the time & material charging model
Software development is unpredictable and complex, where frequent changes became the norm.
The best way to choose between these two development processes is to answer the question:
Which characteristics are really important for my project to be successful in the long run?
Important benefits of time & material charging combined with the agile process
After setting fix development team capacity and knowing their respective daily cost, the development phase can start immediately with the predictable “burn rate”.
Opposite to the fixed-price model, it is not necessary to seal all business, product and technical requirements within a contract at the beginning.
- Start creating software right away.
- No extensive documentation needed.
Being in control
The client is deeply involved and has the possibility to see the results frequently, evaluate it and decide the next steps.
The most important benefit is that the client can immediately react and shape the product without worrying about extra payment or arguing whether this was included in the contract or not.
Both sides have the possibility to concentrate on their main tasks without being occupied with paperwork.
- Intensive and flexible collaboration.
At DECODE the client receives a full-time dedicated team working exclusively for this one project without switching context, pretty much like having an in-house development team.
Short daily meetings with the team, enable clients to have first-hand, up-to-date information on the progress. Time spent on each task is logged in detail every day, available for the client’s insight at all times.
With such a transparent approach the intention is to build and keep the client’s trust and dismiss any “what am I paying for” concerns.
- Transparent time management.
Software development is a complex and not fully mature discipline yet, so discovering “the right” way of doing things is still ongoing.
The old way of collaboration pushed both sides to focus on extensive planning and documenting, rather than efficiently creating shippable software.
With the new approach, the focus is on enabling the full potential of agile development practices by combining it with the fitting time & material charging model, thus creating a collaborative and open partnership.
I hope this article was useful, for any questions or comments feel free to reach out to us at firstname.lastname@example.org.
We will further discover these important topics in additional blog posts.