We have two types of projects, lovingly referred to as Fixed Bid and Digital Support. We track and bill them both hourly. All team members need to track hours accurately with easy to understand time sheet entries, because those entries do eventually make it to the client on invoices.
The differences are minor, but can have huge effects on the project. If you proactively pitch fixes or improvements to clients on a fixed bid project, and it was something that was out of scope and there is no contract in place to pay for it, then we won't get paid and our project will go over budget.
Conversely, if you don't respond quickly to pitch improvements and respond to feature requests in a timely manner on DS projects, then we don't use the retainer hours and the client can reduce them. We can also build up a huge credit of hours that we will need to work off at some point in the future.
We are trying to cycle away from these sorts of projects, but sometimes we need to do them. With a fixed bit project, we need to deliver an agreed-upon set of features or deliverables and we have a fixed amount of hours to do it. Any changes to the scope of the project will need to be approved with some sort of written approval and tracked in an open Harvest invoice.
The process to get approvals could go something like this:
Client makes a request for something that is outside of the scope of the project (or you think might be).
The project PM would let the client know that the request is out of scope and note this down as a "Phase 2" enhancement
If the client would like the feature or change added to the existing project, we need to record the details and hours estimate in a new Harvest estimate. Have your PM or Andrew create the estimate and send it to the client for approval.
If approved, the work can start on that feature and the estimate will be converted to an invoice and sent out on the last day of the current month.
We will add on the hours from the invoice / estimate to the total hours that we are tracking for the project rather than creating a new mini-project.
These are our bread and butter, and cause a lot less anxiety than fixed bid projects. Digital support projects could be called "Fractional team" or "Retainer" clients or "SLAs (service-level agreements)" and all of those might be better names than Digital Support (which sounds like a finger brace). DS projects have an agreed-upon monthly hours cap that is prepaid and invoiced automatically on the first of the month. If our hours go over more than about 5 hours in single month, we will send an invoice for the extra hours on the last day of that month. Credits on unused hours never expire. We believe there is a shared responsibility between the client and us to make sure we are using the hours on the most important tasks every month.
This would be a typical workflow for a new feature request.
Client makes a BugHerd request for a new feature or tweak to existing functionality.
Mellengerm (PM, Dev or Designer) responds with any clarifying questions and once has a good understanding of the request, can make an hours estimate in a comment.
Ideally, you could also update the client with the amount of hours you have left to use in the month and any other work that had been queued for that sprint. Then they would have the context they need to decide if they want to include this work in the current sprint or month of work.
If you get a comment, Slack or email confirmation, you can start work on that feature request.
So much easier, right?
On Digital Support projects, our intention is that the number of support hours per month that the client is billed for should (hopefully) cover the normal amount of support said client needs in a month. Meaning, if the client doesn't require much day-to-day support from us, their monthly DS hours should be low, perhaps 7 to 10 hours a month. Otherwise, we end up owing the client for a whole bunch of hours that they haven't used and carrying these on our books for months on end. It's Megan's job to keep an eye on how many hours we're using monthly with DS clients; if the number of carryover hours is getting too high, we should meet with the client to discuss potential enhancements or mini-projects to use up the hours, or possibly pausing their monthly DS retainer for a while.
For Fixed Bid projects, we divide the number of hours in the estimate by the number of months we have to do the work; then we bill the client for an equal number of hours at the beginning of each month. For example, if the project is 100 hours and we have four months to do the work starting in June, Andrew would bill the client for 25 hours on June 1st, July 1st, August 1st and September 1st.
Digital Support clients are billed for the agreed-upon number of hours every month on the first of the month.
We do have a few clients that aren't on a Fixed Big or Digital Support arrangement with us; when they need things done, they let us know and we do the work. Usually, we provide a rough estimate of the number of hours it will take to do the work, and then they are billed for the actual number of hours logged when the work is done, usually at the end of the month.
We love working with clients who have great ideas and look to us for the best way to make their dreams a reality on an ongoing basis. In this situation, we would agree upon a monthly DS retainer amount for a set number of hours and meet with that client bi-weekly and decide upon the next most important thing they need done - and that's what we work on. We keep them up-to-date on the number of hours we've used and review progress with them every two weeks at our regular meetings.