Let’s get technical about technology service contracts, especially software development project contracts. How do we know when to agree to a fixed-price contract compared to employing a more “time & materials” (T&M) approach such as hourly or monthly rates? It depends on a number of factors:
- Are we a client or a contractor?
- What is the structure of the client’s technology implementation team in comparison to the contractor?
- What type of contractor is involved?
- What is the level of detail of the scope the client aims to implement through entering into a contract?
- How much interaction and involvement does the client expect to contribute to the delivery program?
Client or contractor?
The buyer prefers certainty in everything to do with completing technology projects – the budget, the time, and the scope – who wouldn’t? From the start of a client-contractor relationship, contractors need to know what the client wants, when the client needs it by, and what the client’s budget is to pay for the work. The client’s budget might be tight, or their budget is dependent on a number of factors, but for accounting purposes, it’s much cleaner to deal with a fixed-price contract. Based on putting in a fixed amount of money, they are expecting results.
The seller prefers transactional fairness from their perspective given that the complexity behind the scope (either because it’s uncertain or because the architecture required to implement it is unique) and may find it cleaner to work with a T&M contract. They have a good idea of what their team can deliver based on past experience, and they can incrementally predict more accurately what the intended final scope will be. With a fixed price, the seller takes on the risk of losing profit if there are issues that come up whether or not they were caused by themselves, the client, or another third party. In such cases, the seller may seek additional premiums to cover these risks, should the buyer genuinely desire a fixed price.
Outsourcing or outstaffing?
If the client knows strategically what they want in terms of the extent of outsourcing that may occur as opposed to any in-house contributions, this will enable them to source the right contractor. Different technology vendors will offer different prices whether fixed or T&M for the models they support. There are a number of models used in technology delivery, and to keep things simpler for this post, we will focus just on fixed-price and T&M pricing. Outstaffing is staff augmentation, or introducing the contractor’s personnel as supplements to the existing in-house team. Outsourcing, when done in full, takes the function to be outsourced and ensures it is fully managed outside of the client’s direct control.
Client’s team structure
Has the client fully outsourced their software delivery, and relies entirely on an external team to complete delivery? In this case, it is not a question of augmenting the client’s existing staff, it is a case of total end-to-end delivery responsibility on part of the contractor. This is outsourcing in a nutshell, granted there will be variations on the extent of the client’s involvement and influence over the way the contractor works. As mentioned before, depending on the certainty of the scope, the project’s contract may veer in one direction of being T&M or fixed-price.
If the client has their own team, or during the process the intention is for the client to grow an in-house delivery team, then staff augmentation (“outstaffing”) should be considered. If the client has their own team from the beginning, then the contractor would offer T&M-based services if it’s a matter of adding a specialist to the client’s team for some period of time. It can be called T&M or fixed-price, but the end result is the contractor will get paid for the specialist’s time spent on the client’s team. If the team is fully outsourced at first, but delivery is nearing completion and the client aims to maintain the deliverable in-house, then a hybrid model makes sense. Specifically to the extent there is any type of fixed-price agreement in place (ideally, with a T&M component if the scope is not certain enough), the introduction of an in-house team for the client may consist of the client hiring a project manager and some development resources, while the contractor supplies team members from the existing contract’s delivery team. This allows the in-house team to grow with knowledge shared by the original team, and the client will likely pay for this temporary team member on a T&M basis.
The less certain the scope of delivery is, the more work that needs to be done either totally at the outset in detail if a fixed-price (and typically “Waterfall” delivery model with a significant analysis budget) is used or otherwise as T&M using agile delivery models such as Scrum, Kanban, and XP (eXtreme Programming).
How do we know if the scope is certain and clear? INVEST is a mnemonic to explain what a good user story has as characteristics prior to estimating the effort required to deliver the user story (effectively, an action or experience that a user should be able to do or have to achieve an outcome when using the software).
A story should be:
- “Independent” (not dependent by design on another story),
- “Negotiable” (could be adjusted based on client discussion with the delivery team),
- “Valuable” (delivers value to the client),
- “Estimable” (could be estimated by the delivery team),
- “Small” (just large enough so that planning can be done accurately and is manageable by the delivery team, but usually no larger), and
- “Testable” (contains enough detail enabling the testers of the delivery team or the product owner to verify that the implementation meets the acceptance criteria of the story).
If a contractor makes delivery promises on a fixed budget and timeline without having detailed requirements, or the client insists on timely delivery without the scope being clear, then the entire project is at risk of failure or getting derailed in its management.
Client’s level of engagement
If the client does not have enough time to dedicate to the delivery team, they need to be available enough at least for the analysis and testing phases of the Waterfall model to ensure the requirements were properly determined and that the end result is satisfactory to the client. This is typically very high risk as the chances of getting continuous feedback are very low.
An unavailable client poses the greatest risk for any contractor as it puts the contractor in the position of taking responsibility when the scope is unclear. A contractor that fails to help even an available client understand the importance of solidifying requirements and obtaining the client’s regular feedback will see harm caused even if it was not the contractor’s responsibility to ensure the client understands the risks.
This is why contractors prefer more T&M-based pricing with agile delivery models in place when the client has availability, but using this model also requires that the client and the contractor have a level of trust that the client believes the contractor is being a good steward of the client’s budget. In other words, if an inexperienced client is very confident that their direction is best despite professional advice being provided, contractors beware. Likewise, if a contractor makes promises that are pie in the sky without providing justifications and explanations of the risks managed in order to deliver on those promises, the client should be suspect as well.
If the client will be unavailable, then in any fixed-price arrangement, the premiums should be increased to account for the risks caused by the client’s unavailability. Effectively, for any delivery risk identified, its impact should be assessed and should be factored into the contingency reserve which should allow the contractor to negotiate either budget or time to spend to deliver the results. Furthermore, there may be risks that cannot be reasonably identified, and these would be accounted for under a management reserve, which may be accounted for as a percentage of the project’s total cost. A higher percentage would be used for more volatile projects.
Using elements of both fixed-price and T&M pricing
Taking into account the factors above as a whole, there may be elements of both types of pricing at play. Ideally, the management framework around running a project, if run by a contractor, would be fixed-price, while the resources being used to deliver the outcome would be T&M. However, it is important for contractors to know the extent to which the requirements are clear and the extent to which the client can contribute their time to ensure the success of the delivery. Additionally, it is important for the client to know their vision for the technology delivery ownership they intend to have at the start of any engagement followed by what should occur long-term.
There are other factors to consider which have not been discussed in this post as well, such as change requests and the pricing associated with delivering changes after the contract has been signed.