Skip to main content
"But Widget X has zero hours as an estimate, how can that be right? Does it really take no time to create? So I can have it tomorrow?" she says to me. I hadn't yet written this article, so the words are forming in my head, and I manage to get it across to my client, a bit clumsily, but she gets it. If you work in a time-based service business, you've had this moment: How can I explain to my client the difference between the time billed for the work (the budget), vs. the time to create it (the calendar)? Hold on, back up you say -- why are you managing both? Why not just bill them the time you spend, wham, bam, you're done? In an ideal world, it works like this, but let's come back to earth for a moment. In many circumstances, that's rare. Those who can afford to spend thousands of hours on a visionary project to get it right don't come along everyday. In this competitive environment, we need to keep our teams busy and fulfilled. We need to make a little profit, sure, but above all, we need to deliver high quality service that makes our clients so deliriously happy we can get referrals and say "ask Client X about what kind of work we do around here if you're curious!" In order to do that, we have to be great at what we do, but we also have to be affordable. So how do we find the balance between the cost, and the hours? That's the beauty of Drupal, and its international community of open-source do-gooders. At Bluespark Labs, sometimes it doesn't just come down to building "another Drupal website", getting compensation, and closing a chapter. We strive to create, or at least, to improve the code we work with. We've taken our cue from legacy Drupal peer companies (you know who you are!), and try to offer our developers 20% of their time to making the Drupal world a little bit better, and stimulating their creative juices. (Believe it or not, developers aren't always code-crunching-nerds -- in fact, they live to create!)

What does this mean for our clients?

Instead of doing an out-of-the-box widget, we can say to our team of creators: make me a super-cool widget! We invest in it as a part of our contribution to the Drupal community, and consequently, bill the client less while providing something better than the bottom-shelf option that their budget can afford.

There are three distinct benefits to this approach from what I gather:

1) The client gets cool widgets instead of 'meh' ones.

I think this is self-explanatory. Who doesn't like to get cool stuff?

2) The team gets pumped.

It gets their engines revved up when a challenge is presented, and they don't have to do it as fast/cheap as possible; instead they get more time to slather it with awesome sauce and put it back out into the world a bit tastier than it arrived. A happy/motivated/fulfilled team, means better performance and more loyalty to the company.

3) Bluespark Labs isn't just another company, it is a community contributor.

In the Drupal world we're big on giving back. Respect in any community is key to getting talent, to getting clients, to getting ahead in general. The best way to get respect and recognition in this community is to give back, and flex your development muscles to help more than just ourselves.

What's the catch?

Well, not to put too fine a point on it, you can't always do this. Not on every widget, not on every project. If we spent all our time contributing to the community, we'd be a charity, not a business. We need to choose situations to do this that allow us to bring value to the table for a smaller price tag, but also when we know it will be useful to Drupalites everywhere. That's where the 20% comes into play. With a little time, I think we'll even increase that number.

I'm sold, I want to do this too. Now, what do I do?

In no particular order you need to:

1) Know your client's needs.

What would bring value to the table? Build that, invest in that. Make sure you check with your client, obviously, in order to be sure you're not making something too complex or assuming that because its valuable to you, it's valuable to them.

2) Know the community's needs.

Don't spend 20% of your developer's precious time and energy on something that 1% of the community needs, unless it's truly innovative and will help you to create a niche that is largely overlooked, but important. If you're going to give back, give something that will be useful.

3) Get your team's opinion and buy in.

If the time they spend isn't going to accomplish points one or two, your team will feel like their time is being wasted. Ask their opinion and make sure they're interested in what you're proposing to invest in, and you have a win-win on your hands. The best situation would be to simply ask your team how they think it could be even better, let them brainstorm!

4) Know your company's needs.

Make sure you can afford to invest. Your company's maturity and income are also important to take into account before adopting this method. Can't afford 20%? Then start with 10%. You can afford 50%? Go for it! Adjust the amount you invest to your comfort levels and don't be afraid to crunch some numbers to figure it out.

How do I explain to my client that it's going to cost them 5hrs, but take two weeks?

Your clients should understand the value of what you're proposing, and that you too are going to get something out of it. The easiest way I can think to explain it is: - I'm billing you for X amount, X hours. - but the *worth* of what I'm delivering is X+Y amount, X+Y hours. Be clear about the fact that there is a difference because you are going to contribute back the work, so the benefit to your company isn't cost-based, but knowledge and reputation-based. Failing to make that clear will result in the question I started this article with -- if it takes zero hours, why aren't you done yet? It will put undue pressure on your team to hurry-it-up, and could reduce the quality of your end product, as well as the service to the client. So to recap: Contributing is good for the client, good for the community and good for your company if you communicate clearly, get buy-in and are making something useful/interesting.

We'd love to partner with you on your next project!

Since we’re big on relationships, we’re all about finding the right fit. Will you take the next step with us to see if we’re a match?