Selecting the Right Model for Your Company
The SOW vs Time and Material debate. Both have their strengths and both have their weaknesses. There are a few things that we’ll discuss in this article that might convince you to go one way or another. I’ll post my preference at the end as well.
What is an SOW?
The Statement of Work is a legally binding document that outlines the activities, deliverables, and timetables to the client. It’s a contract that shows exactly what the software development agency will do for the client. It lists the agreed-upon requirements and how much it will cost to produce those requirements.
What is Time-and-Material work?
When the client engages with the software development agency on a time-and-material basis, the client agrees to pay the agency for any work that the agency does for the client. The agency provides invoices to the client and the client pays those invoices. The agency will continue to do this until the client feels like the product has been created.
Advantages of an SOW
If you have a project broken down into small, manageable chunks, the SOW provides a world of insight. You can see exactly how much each section of the application costs. There’s no accidental spill-over, where the same type of code is charge 2 to 3 times in an SOW.
If the company underestimates the work, it’s not your responsibility. The software development agency eats the cost. If their developers are not experienced with this type of project, again, it’s not your responsibility to provide them with the education. Working on something you’ve done a 100 times is significantly easier than needing to research and test something you’ve never done before.
Disadvantages of an SOW
The main disadvantage of an SOW is that you always live by the SOW. Agencies will factor in capacity based on the projected timeline outlined in the SOW. If you need additional work done, a new SOW will need to be generated and it will be put in the queue. You’re now competing for a time-slot again with their other clients.
If the SOW is not broken down well enough, it’s easy to overestimate how much something will cost. You won’t have the insight into the true time required to complete the project. The client could be overcharged by a large margin.
Advantages of Time-and-Material Work
When negotiating time-and-material work with a software development agency, you purchase a chunk of time per a defined period. That means that you’ll have constant work done on your application. You can increase or decrease that time-slot relatively painlessly.
You have the capability of pivoting the agency and providing a new focus point. The agency does not care about whether they’re going to complete a portion of the application before starting to work on your next request, since they get paid regardless. If you want to increase the amount of development time that it’s going to take to complete a feature by shifting to another higher-priority feature, the agency will comply to your request and be happy to do so.
If the agency is an expert in your type of application, they’ll most likely charge you a lot less than if they provided you with an SOW.
Disadvantages of Time-and-Material Work
The main disadvantage of time-and-material work is that you get charged for all of the work that the developer performs. If the developer is not familiar with your type of work, you will pay for all of the hours that they take to educate themselves on your application requirements.
Budgeting becomes much more difficult. If you have a million dollar budget, you won’t even know the ballpark estimate of how much the application is going to cost. At the very least, request for a Level of Effort (LOE) to get an estimate of how much the application is likely to cost.
Which Type of Work Do Software Development Agencies Prefer?
I’ve found that software development agencies prefer the time-and-material method. They have to pay their developers, and the easiest way to keep people employed and to ensure profit, is to have a constant flow of time-and-material work. If the company has a ton of junior to mid-level developers, the SOW estimates can be way off. Once the SOW is generated, it doesn’t matter if the developer spends 10 hours or 100 hours on a task, the client is billed exactly the same. With time and material, the client will be billed the amount of hours it took the developer to complete the task.
There are times when the SOW is preferred, but as a general rule, I find it more often that the time-and-material method wins.
I personally prefer the SOW approach. Why? I’ve created hundreds of SOWs in my decade of working in the software development industry. I know how to break the project down enough that there are no surprises in the end. If there is something that needs to be added, I don’t mind creating a new SOW and scoping out the work. At the end of the SOW, I know exactly how much it’s going to cost me to produce the application and I’m confident that I’m not going to be overcharged.
Why would I go through so much effort? Because I find that agencies will charge you for all of their struggle. If they’re not experienced in something, they will experiment on your dime until they get it right. With the SOW, they’ll pad the hours in anticipation of something going wrong. However, if you request for a detailed estimate, especially if you break it down into manageable chunks, you can question gross over-exaggerations. The more work you put in up-front, the less you’ll pay.