Category: Uncategorized

How Software Agencies Bill

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.

Read More

Clutch Recognizes CURTIS Digital, Inc. as a Top Java Development Company in Texas 2021

At CURTIS Digital, Inc., we build tailored software solutions that fit our client’s business needs. With over 20 years of experience, we already established a great reputation in delivering and executing the best ideas for problem solving. We aim to make a difference in the lives of everyone we work with. Above all, we value significance over accomplishments.

Read More

How to Win the War Between Agile development and UX (Spoiler: Don’t Fight It)

We’ve all seen it: UX designers think like end users, and developers think like… well, developers. Instead of working together as a team, designers and developers wage war with each other, and nothing gets done. Here are a few tips UXers can use to make great user experiences, not war.

Read More

Headless CMS: What It Is and the Most popular options

Despite its rise in popularity, the headless CMS concept is often accompanied by misleading information, not enough information, or information that is only understood by true techies. But when properly explained and dissected, the technical lingo behind this concept makes sense and better illustrates why there is so much hype around headless CMS.

Read More

Top 9 Digital Marketing Trends to Boost Engagement for Business in 2019

While last year saw some pretty amazing trends that helped launch businesses in a great direction, this years digital marketing trends are sure to create better avenues for consumers to discover future products, bigger brands, and the overall evolution of business to consumer relations.

Read More

How to update your google webmaster account for a recent of domain names.

We at CURTIS Digital, do a ton of site migrations and this topic of what to do after the switch from to comes up often. We have put together the following article to walk you through how to handle google webmaster tools for this update.

If you’ve migrated your site to a new domain( from →, use the Change of address tool in Search Console. A change of address will help you manage the transition needed by Google to index your new URLs at the new address, while minimizing impact to your current ranking in Google Search results.

Changing of address will notify Google about the new URLs for your existing content, so that Google can update their index to reflect the new domain for your pages. This updated index status remains in effect for 180 days, by which time Googlebot will have crawled and indexed the pages at the new address.

Things to note before you request an address change

Add  & verify the new domain

  • Login to Google Webmaster tool.
  • Add a new property or domain. Click the ‘Add a Property’ button and a popup will show up to enter the new website url.
  • On the next screen, it will prompt to the verification process. Keep in mind that the  process have different methods. It will depend on how you can verify the domain on your end whatever is more convenient  for you. At this point in time we’ll choose the alternate method ‘HTML tag’. Select ‘Alternate Methods’ tab and click ‘HTML Tag’ option. You will then be able to grab the verification tag to add in to your website. See here for more detailed instruction on how to verify a domain.
  • This time, let’s assume we have successfully verified the new domain. Continue on the next step  which is to request the change of Address.

Use the Change of Address tool

Note: This tool is only available in old Search Console

  • Select the property or website you want to change
  • On the next screen, click the setting gear icon at the right and it will popup a dropdown. Click the ‘Change of Address’ option.
  • You will be prompted to add a new domain or select it from the list if you have already added it. This time we’ll add the new domain that we have recently added. Click the ‘New Site’ option. It will prompt the list of all domains available.
  • Just choose the new domain that you want to change address in the list.
  • Now, follow the on-screen instruction given in the dashboard. Steps 1, 2, 3 should all be mark completed & confirmed. Then click ‘Submit’ to finally request the change of the domain address.  

Read More

AMP Emails are Coming – Are You Ready?

After one year in the making, Google has finally launched AMP for email to encourage a more interactive, dynamic Gmail user experience. The company announced that it would be supporting AMP for Gmail last year and has been doing the necessary back-end work to successfully launch this new feature.

Read More

Buying Tech is Hard: How Much Overhead Does Your Project Really Need?

Welcome to Buying Tech is Hard! In this series, we’ll explore different ways to help ensure you feel empowered during the entire software purchasing cycle. Whether you’re still vetting agencies or about to officially kick off development, working with external vendors can be a roller-coaster of emotions. We want to give you the tools to succeed!

New projects are an exciting time for an organization. They represent the culmination of your teams ideas

Read More

Agile Burndown Charts and Why You Need Them

If you search for “Burndown chart example” on Google images, as we software folk are wont to do, you’ll stumble across this little gem

Read More

Shine.js pretty cool shadows with Javascript

I found a library a few days ago that has some amazing effects for shadows.

Read More