What are Fixed-Price and T&M contracts?
Fixed-price contracts are agreements between a vendor and a client. The vendor prepares an quote for a feature e.g. $10,000 to complete all aspects of feature XYZ.
If the client and vendor agree to the quote, the vendor commits to completing feature XYZ regardless of the real costs. XYZ might cost $1,000, $5,000, or even $20,000, regardless, the client will be charged $10,000.
T&M (time and materials) pricing, is an agreement where the vendor will charge by the hour, day, or week for each of the services provided, e.g. development, design, testing, project-management etc, plus the cost of any materials needed i.e. 3rd party tools, APIs, licenses, SSL certs etc.
Doing things right the first time round
While fixed price does guarantee that the client will receive the feature for the price quoted, it doesn't guarantee the vendor will be able to deliver their best work.
Estimating is notoriously difficult, near impossible to do accurately due to the nature of programming. One of the benefits of hiring a vendor is the wealth of experience they have, however, even with 10 years of experience and a room full of experienced developers, designers, testers, and project managers I can ask for insights, I am still presented with challenges that I do not yet have solutions for, or sometimes old problems with new twists, sometimes completely new technologies that must be studied and learned. Solving these challenges requires creativity and often some trial and error. Other times there may be existing code that breaks when you add that new change. Working under T&M gives the vendor the best possible chance to deliver a strong, robust solution as they can invest the necessary time into properly solving each challenge as it arises.
Giving developers freedom to build things properly for every feature is in the clients best interests long-term. Too many times we've seen clients with large projects coming to us for help because their previous vendor can no longer deliver satisfactory results, these codebases all share this same issue; the vendors and therefore developers were under time, and/or budget constraints that forced them to either write imperfect code, or work around imperfect code without fixing it. Of course there are also vendors with inexperienced teams that do not possess the skills required to build a robust, lasting solutions, often chosen because they offer cheap development, but that's another issue for another post.
Maintaining flexibility is especially important in tech
When working under T&M it's very easy to pivot at any time, there's no fixed goalposts and no issues to resolved around scope change. i.e. going from "allow users to sign up with email, we must also capture their full name" to "allow user to signup with email, full name is optional" is a simple request under T&M, under fixed-price it's not so simple.
If we have a fixed price quotation in place any changes will result in some discussion and negotiation e.g. Is the original quote reduced? What if the vendor already implemented it; change request? How long to raise a new PO (purchase order)? The vendor will need an amendment on the original PO to state that it no longer includes delivery of the changed functionalities. etc.
This is the simplest example, it gets exponentially more complicated when the feature is more complex. This inflexibility is always going to hurt the client, building products often requires speed to stay relevant in the market. With fixed-price contracts, pivoting become expensive and the project becomes rigid.
Cultivating a cooperative relationship between client and vendor
T&M solves a lot of issues around project scope. If a feature is completed by the dev team but is deemed unsatisfactory to the product owner, under T&M the resolution is just a matter of requesting the change. Requirements often miss small details which results in a difference of expectations between product owners and development teams. With fixed price work an unsatisfactory feature will result in a process of requirement review, arguments over whether the requirement has been fulfilled or not and then resolution negotiation. This process can end up costing time, money, and moral for both the client and the vendor.
At OOZOU we provide more than just developers, designers, testers, and managers
As an agency, we at OOZOU collaborate with a lot of clients, helping them realize their goals and launch their platforms. We are invested in delivering the highest quality work to drive successful business ventures. With our experience we find the middle ground, or we deliver cost efficient, high quality work, based on the clients needs.
OOZOU is home to some of the best developers in Thailand with a wide range of backgrounds. Over the last 10 years OOZOU has grown a vast knowledge-base with a variety of applications in a multitude of markets. We've helped multiple brands build products right here in Thailand and internationally. We offer our clients a unique opportunity to push their product forward in ways other agencies can not.
We work closely with our clients to develop their concepts and guide away from common pitfalls we've seen again and again. We are involved in the process every step of the way, often going above and beyond our role to help our clients succeed. We believe trust is an integral component of the client-vendor partnership, with trust and close communication we develop a shared vision so that we are always working towards aligned goals.
If you are looking to build something amazing get in touch. We'd love to hear more about you and your companies vision to see how we can help you realize your goals.
Though there is no single correct way of modeling pricing and each model has pros and cons, inspecting and adapting to different clients will be very helpful.