The first Friday of every month is always an interesting day for me. I review all of the timesheets and invoices for the previous month, approve the payroll, initiate wire transfers to pay offshore vendors, and get a clear view of how business went during the previous month. I’ll also see how things are shaping up for the following month and look for ways to avoid any imminent problems or conflicts.
I was pleased to learn that both December and January will probably be record months for our offshore development group, with 100% increase in revenues over the same period last year. This is terrific news, but it’s not as easy as it seems. First, our resources are effectively at 100% allocation for the next 12 weeks. This is great for profit margins but also brings the risk of having to say ‘no’ to a client with an immediate need, or have clients waiting weeks for simple services. We’ve worked hard to gain our clients’ trust so either of these options is unattractive.
To make matters even harder, my wife and I spend January at our place in Southeast Asia and there’s almost no Internet (or even phone) connectivity there. This means that if something does go wrong after Christmas, my team might have to handle the details in my absence. I have lots of confidence in my team, but my lack of availability only adds to the risk of being over-extended.
And so, it appears that we’re facing that classic developer’s challenge: the resource crunch.
On the surface it sounds like an easy problem – a full plate of juicy client work, and just enough programmers to handle it. Experience tells us, though, that this scenario is risky and requires immediate attention. After all, what happens if just one of my developers gets sick? Worse, what if someone quits or needs to be fired? What if one of our top clients needs extra work done ASAP? What if the unexpected happens, as it always seems to do.
I’ve been in this situation too many times, and I know how easily things can get screwed up. Not this time, though, because I’m going to apply some of the simple lessons I’ve learned ‘the hard way’ over the years. Here’s the plan:
- Make a list of all clients that have jobs scheduled during the next 10 weeks (or are likely to require services during that time). Send each of them a personalized e-mail explaining that January will be a busy month with limited developer availability, and ask them to please schedule any work well in advance. This is the single most important thing– clients like transparency and will appreciate knowing that we’re going to have a busy month! This will also prevent them from being surprised if they request work and we ask them to wait 3 weeks for it, and is thus the most courteous approach. By planning our ‘busy month’ in advance, clients will still have the impression that we are organized and stable.
- Send an email to all project managers, developers, etc. and ask them to submit their final holiday schedules. With such limited resources, I want to know exactly who is going to be available, and when. I’ll also explain to everyone that we’re entering a crunch-time and everyone needs to be dedicated and flexible.
- Hold a meeting with the core project management and development leads to make sure they are clear on the priorities. For example, I know that client A is an old friend and is patient while client B is easily stressed out. So, I’ll instruct my team to prioritize client B if necessary, etc. I’ll also make sure that everyone has the right contact information for everyone else, and has all of the tools they need to perform well.
- In the end, it’s the employees that enable me to spend a month on a sunny beach each year, and they deserve to be rewarded. With this busy time comes record profits, so I’m offering a bonus of a fancy new iPod for everyone if we can reach Feb 1 without incident. It’s expensive, but worth every penny to have a reliable and skilled team.
Just a few years ago, I might have just ‘gone for it’ and maybe gotten through the season without any problems. Murphy’s law is in full effect, however, and I’ve been burned before. This time, I’m going to cover all my bases before I leave town by preparing my clients and team for tough (but profitable) season.
Wish me luck! Now it’s your turn – what kind of things do you do when you feel the ‘crunch-time’ coming up?
The Principles of Beautiful Web Design, 4th Edition
Learn PHP in One Day and Learn It Well
Docker for Web Developers