Let’s get intimate here for a moment and talk about something that software agencies never, ever want to talk about: software billing practices. In our “Do You Love Your Technology Agency?” quiz, the second question asks the user to consider how the numbers look when their agency bills them. For example, do they appear to be precise, or more rounded? The reason this question appears so early in the quiz is because of its importance. Talking about money, just like politics and religion, can be awkward, and dev shops have the tendency to shy away from discussing how their bid amounts are calculated. So, where do these numbers actually come from?
We’ll start at the beginning. Custom software shops (CURTIS Digital included) typically sign two different types of contracts: fixed bid contracts or time and materials contracts. These types of contracts are industry standard. It should come as no surprise that fixed bid contracts are based on a fixed amount of work and money. Under a fixed bid scope of work (SOW), the client and the tech agency mutually agree on a total project cost to complete the requirements regardless of the number of hours actually worked by the vendor. If the tech shop is agile, they will allow their clients to swap out similarly estimated items (in the form of “user stories” instead of requirements). The way this original bid is reached can vary from agency to agency—sometimes it is based on how long a similar project took, sometimes it is a direct reflection of the requirements. At CURTIS Digital, we’ll have our development team estimate how long they think the requirements or user stories will take them to complete, and then we add a percentage of management time to that total to account for meetings, email communications, support, etc. An overall estimate is then delivered to our clients for approval.
Time and Materials (T&M) contracts are based on the actual hours that the agency works billed at some sort of hourly rate. This approach is typically taken if the full requirements of the project are not completely known at the time of project kickoff. In this scenario, we still have our development team estimate all of the requirements and provide our clients with an initial bid with the caveat that, should the requirements change, the client will be billed the actual hours spent. CURTIS Digital will provide our clients with a rate card in our SOW so that they are able to see specific hourly rates for specific roles that we perform (management, client-side development, server-side development, architecture, etc.).
Whether a client signs a fixed bid contract or a T&M contract, software agencies need some way to keep track of hours spend for their projects. CURTIS Digital uses Harvest to keep track of our employee time. Even as I write this blog, I’m tracking time to an “Internal – Social Media” project. Harvest allows us to get down into the nitty-gritty of time tracking. The development team tracks their time to specific tickets that correspond to a user story or requirement. Management tracks their time to meetings, responding to emails, and testing completed development work. Harvest allows us to quickly see how much of our budget we’re using and how quickly we’re using it. This in turn allows us to extrapolate if we’re on track to complete the project on time and within our budget and scope. If we’re not, we can quickly review reports to calculate where we’re spending our time and why. Having a clear outline of the hours spend helps our management team to be the best they can be. If your current agency is not using any internal time tracking, this should be a huge red flag for you. It’s always important to know how many hours are being spent, whether the agency is significantly over or under the estimate.
In addition, just because a software agency knows how many hours they’re spending on a specific project a week doesn’t always mean they’re willing to share that information with their clients. Highlighting a week that went over budget can result in difficult conversations regardless of what type of contract the client signed. That being said, we have always found honesty to be the best policy. In order to foster transparency, we devised a simple weekly report called the Project Status Report (or, more simply, the PSR). CURTIS Digital’s PSRs breaks down the hours spend each week by specific task (architecture, visual design, business analysis, development, management, etc.). The PSR allows our clients to easily keep track of hours spend and see how well their project is performing in terms of schedule, budget, scope, and quality. Regardless if the project is fixed bid, T&M, or maintenance, our clients will receive a PSR.
We’ve discussed how fixed big and T&M projects are billed. Let’s take a moment to review maintenance projects. After a project is completed, our clients usually elect to enter a maintenance agreement. CURTIS Digital maintenance projects are billed as time and materials projects against a retainer. When a client submits a maintenance request, our entire team estimates how long we believe the specific ticket will take to complete in hours. The client then approves or denies this time, and is charged an hourly maintenance rate (for us, $135/hour) to complete it. However, our estimates are not always perfect—sometimes the actual hours spent on tickets fall a little above or below the estimated value (hence being called “estimates”). In this case, we don’t want to charge our clients for blanket hours that didn’t actually get spent, so we go through an internal process called “ticket accounting.” When a team member is working on a specific ticket item, whether it’s actual development time or responding to an email related to the problem, they include the ticket number in the task’s harvest description. Harvest allows us to bulk export all the time tracked to a project, so once a week our team does so and reviews how many hours were spent on each specific ticket. The result is that the client is charged for the exact number of hours the item actually took to complete—no more, no less. That being said, we don’t allow our team to wildly rack up hours on a ticket without approval. A ticket estimated for 2 hours would not get charged for 20. As soon as we encounter any issues that might result in a higher estimate, we go back to our client with both an explanation and a request for additional hours. Typically, tickets will not get billed for more than 20% over on the original estimate without the client’s approval. That means if a ticket was estimated at 2 hours, the most we could bill without additional approval would be 2.40 hours. The PSR shows which tickets were closed each week and what their actual spend was vs. their estimated spend. It also highlights how much of the retainer budget is left.
It goes without saying that building custom software is expensive. We always strive to be fair to both our clients and ourselves, which is why we work so hard to accurately track and report actual hours and budget spend. If none of the practices outlined above sound familiar or if you’re concerned with how your current agency is billing you, it might be time to re-evaluate your current relationship. Be sure to take our “Do You Love Your Technology Agency” quiz to see how they stack up against your expectations.
Interested in working with us on your next project? Complete the form below.