There's a Niels Bohr quote that I love: "An expert is a man who has made all the mistakes which can be made, in a narrow field." After ten years working as a development manager at web agencies, I feel like I've made more than my fair share. What follows are three different mistakes that I've either made or seen other agencies make in hopes that I might save you, my generous reader, the trouble of making them yourself.
## Act I: The Blood of Unicorns
> "...it is a monstrous thing, to slay a unicorn. Only one who has nothing to lose, and everything to gain, would commit such a crime. The blood of a unicorn will keep you alive, even if you are an inch from death, but at a terrible price. You have slain something pure and defenseless to save yourself, and you will have but a half-life, a cursed life, from the moment the blood touches your lips." — J.K. Rowling, Harry Potter and the Chamber of Secrets
While in Berkeley last month for BadCamp, I met a designer friend for breakfast. Despite the hip, sun-drenched, vegan-friendly vibe, the excellent espresso and the excitement of the camp ahead, my friend seemed forlorn, and not fully present.
My friend is that rare breed of graphic designer who also knows Drupal theming, markup, CSS frameworks, and jQuery...and understands UX...and responsive design...and PHP..and rapid prototyping. This makes him that rare, mythical beast known as a UX unicorn.
“What’s wrong?” I asked my friend.
“I’m thinking about going out on my own again.” This troubled me as I had recommended my friend find an agency job when he became burned out on the 80-hour weeks that go with running your own freelance business. I pushed for details and found out that my friend was literally booked for 85 billable hours per week on the schedule. Yes...85. He blamed his resourcing manager, but, as I probed for details, another story emerged. It turns out the resourcing manager was just caught in the crossfire between sales and production. It turns out that the agency had a disproportionately large sales organization, a much-too-small production team, and rampant opportunities.
My friend’s agency, let’s call them Acme, had grown up in an area where web talent was hard to find and expensive. Instead of holding back sales, the company opened the floodgate, hiring junior developers, interns, and a legion of “account managers” to help manage client expectations. These teams would provide the illusion of service while waiting for the few talented engineers and creatives to free up. The account managers ostensibly hired to protect the developers from clients, turned on their besieged production team, jockeying with each other for the attention of designers and developers for their respective clients.
In the end, according to my friend, Acme had quality control problems even though they were building fairly simple projects, and, while they were able to sell lots of web projects in the $15K - $30K range, their client retention was poor, and they didn’t have a reputation that would allow them to start taking fewer, larger clients—a typical path to sanity for smaller agencies.
Acme’s problem lies in the disparity between its prodigious sales talent and the paucity of engineering talent. They were figuratively drinking the blood of unicorns to sustain their business, but at what cost? Low quality, a poor reputation, low morale, high employee turnover, and a higher cost of sales since there are fewer repeat customers. So how to solve Acme Agency’s problems?
### Finding Solutions
First of all, they need to discipline their sales effort. At Lullabot, we’ve created a capacity chart. This is the photo negative of the typical manager’s resource utilization chart. Instead of showing who’s booked on what, it shows the sales team what availability can be sold. Once that availability is removed from inventory it’s gone and sales doesn’t try to sell it. At Lullabot, we try to book our team no more than 30 hours per week. There are occasional exceptions of course, as we still exist in the real world of unexpected technical hurdles, client-driven delays, and late launch nights, but it’s important to us to protect the sanity of our team. We don’t do this out of altruism. We do it because human beings and organizations need slack in the system. As Tom DeMarco says, in his fabulous book Slack: “Slack is the natural enemy of efficiency, and efficiency is the natural enemy of slack. There are things you can do to make an organization more efficient that interfere with its ability to change and reinvent itself later.”
What does our Lullabot team do with this slack in the system? Many of them spend hours working in the Drupal issue queue or on their contributed modules, others learn new technologies, and build their own projects and products. (We’re even starting up an internal art and science fair this year to showcase our mutual creations this summer.) Obviously, most people have heard of Google’s 20 percent time, so this should be nothing new. But in addition to allowing us to innovate and adapt as an organization over time and retain good people, it also means our quality is higher (since our people aren’t overworked, they’re less likely to sacrifice quality for speed and, in their own time, they’re constantly researching and playing with the latest technologies).
As quality improves, reputation improves, and, as your reputation increases you can take on bigger and bigger projects. With bigger projects comes the opportunity to book people solely on one project. Human beings are not fungible commodities like oil that can be horse traded in bits and pieces between projects. Task switching incurs an enormous penalty on efficiency. Some theorists estimate efficiency losses as high as 15% for each marginal project. If you can avoid it, don’t spend precious efficiency subdividing your people between a thousand different clients.
Finally, the tools exist to manage your people virtually. If Acme were to relax their in-office requirement they might be able to find more Drupal talent wherever it exists, which would allow them to grow their overloaded production team. Find the best talent where it exists. Lullabot is a fully distributed company, which means we can hire the best Drupal developers wherever they choose to live. Throwing inexperienced production staff—or worse yet, account managers—at your technical debt just because they’re the best you can find locally is not a reasonable solution.
* Don’t overschedule your resources, the pursuit of efficiency can be the enemy of flexibility, retention, and sustainability. * Discipline your sales effort and make sure it matches your capacity * Consider a capacity report that shows your sales team exactly what they have to sell. * Hire talented people wherever they are, don’t limit yourself geographically.
## Act II: Of Hubris and White Whales
> “Talk not to me of blasphemy, man; I'd strike the sun if it insulted me. For could the sun do that, then could I do the other; since there is ever a sort of fair play herein, jealousy presiding over all creations. But not my master, man, is even that fair play. Who's over me? Truth hath no confines.” —Moby Dick
“I would strike the sun if it insulted me!” I remember reading these words with adolescent awe and thinking, “F’ yeah.” I loved Ahab’s outrageous hubris. It was similar for me with Nietzsche and with every nihilist protagonist in Russian literature who would occasionally break their studied silence to play Vodka-fueled Russian Roulette to the great distress of some adoring tragic heroine. Clearly, my judgment had a way to go. Hubris is after all tragic flaw numero uno.
Earlier this year, Lullabot was referred to a *really* sexy opportunity. This was way BIG for us…and our standard fare of clients like The Grammys, Sony Music, and Martha Stewart is not exactly small potatoes. With fame, fortune, and a wee bit of hubris in our eyes, we flew out to a major Eastern seaboard city and made our pitch. After hearing more about the opportunity, we decided to go for it. Marshalling a large part of the team’s energy, we put together a 100-page proposal, providing an architectural roadmap and recommendations for how we would do the project. A week later we heard back, we were a finalist! Even better, one of two finalists. We were ecstatic. We headed out East again with about 10 Lullabots to do a second round of presentations. During this time, I had a niggling, yucky feeling at the back of my mind. Because of the short timeline and massive scope, this project as we had proposed it was going to take nearly all of our resources and involve some of our partner network of companies.
We were ignoring the fundamental rule of risk mitigation: diversification. Portfolio theory 101 tells us that risk and reward are inextricably linked. Because humans like reward and abhor risk, we diversify. In financial terms, the risk is essentially volatility. Projects are inherently volatile, but they are differently volatile. By having multiple projects, an agency mitigates risk. Some projects will go great, others will drag you down, but having a healthy mix means a lower exposure to volatility in any particular direction. But why make it so complicated? Our ancestors walking out of the cave with two separate baskets of eggs knew this principle. It’s common sense. But we were intent on this figurative white whale, swayed by the collective excitement of doing something big and unparalleled.
A week after our visit, there was ominous silence from the potential client. We knew this wasn’t a good sign, but it wasn’t until a week later till we heard we’d lost the project to another, larger agency. We’d spent $10K chasing that whale, but we also felt strangely relieved as we returned to business as usual. Sadly, that’s not the end of the story. We found out a couple months later that the BIG CLIENT ended up purchasing a major existing web asset to fill the gap and terminated the project after a month or so, leaving the winning vendor in an awkward position. We’d dodged a bullet on that one. To ramp up for a project this big and long, we likely would have slowed our sales effort, gotten into agreements with partner agencies, and committed the bulk of our team. Extricating ourselves from that mess may have proved difficult.
### Lessons Learned
Thinking back on the experience, it’s not only the lesson of diversification that I learned. In Moby Dick, Starbuck, the Pequod's charismatic first mate, tries to save the ship, questioning Ahab's monomaniacal obsession with the whale. I feel like my inner Starbuck was trying to warn me all along, but I was unwilling to listen. If you find yourself chasing whales, make sure to engage in a broad, open and honest conversation with your team and examine your own instincts. Don’t quelch dissent by simply labeling it as pessimism. And, if you still decide to harpoon a Leviathan, make sure you’re capable of enduring the downside, not just the up.
* If you’re going to go chasing whales, check your hubris at the door and make sure you’re consciously assuming the risk. * If you’re risk averse think of your project portfolio as you would your 401K and diversify, diversify, diversify * Allow for healthy dissent in your company and in your own mind. Listen to those niggling discomforts in the back of your mind and bring them to the forefront to be analyzed.
## Act III: The Ponze Ain’t Cool
> “How sad it is! I shall grow old, and horrible, and dreadful. But this picture will remain always young. It will never be older than this particular day of June. . . . If it were only the other way! If it were I who was to be always young and the picture that was to grow old! For that-for that-I would give everything! Yes, there is nothing in the whole world I would not give! I would give my soul for that!” —Oscar Wilde, The Picture of Dorian Gray
Dorian Gray trades his soul in order that the damage from all of the years of sin and debauchery accrue to his portrait instead of himself. While the portrait shuttered up in the attic grows blacker and more hideous with each passing year, Dorian retains his youthful, innocent beauty. Of course, eventually things come home to roost, but I don’t want to spoil the ending. How does this relate to a mistake that an agency might make?
When I started out with my first agency in 2003, we were three people renting the extra space in a server room from a larger area software company. We were eager to make a dent in the marketplace and build some awesome websites. We wanted to make dreams happen, especially our own.
Like many small businesses, we didn’t have a lot of money to spend on accountants or process so we used Quickbooks and set up a basic chart of accounts. In cash accounting, you recognize cash as it comes in and goes out. It’s that simple. This seemed far less complicated than accrual accounting so it seemed like the right choice for us.
Being the savvy business people we were, we didn’t want to get scammed so we decided on a policy of 75% up-front and 25% on launch. Because our sites were small, most of the business people we wanted to work with could afford this, and we didn’t want to work with the ones who couldn’t. Life was good. This policy saved our bacon a couple of times, both because it protected us from unscrupulous players, but, also because there’s a time value to money and cash sooner trumps cash later. With lots of cash up front, we were able to bring on additional resources as the jobs got bigger and we didn’t suffer liquidity problems. At least in the beginning.
Soon, problems began to emerge. It seemed like we could never finish projects and there were too many jobs to do, with new ones piling up at the door. Still, top-line revenue growth was off the charts, which suggested to us we should keep doing more of the same. We grew and grew, hired and hired. Because we weren’t tying revenue to work, the only incentive was to take more work, regardless of capacity. Eventually, it becomes like an addiction, a Ponzi scheme. You can’t afford to pay people to finish your current projects until you’ve secured new work, but the new work is paying for work you should have done in the past.
### Avoiding the Pitfalls
Growth can be a Faustian bargain, camouflaging a host of problems. If you’re going to grow, do it carefully and fund it with cash reserves from profits you’ve booked in the past, not with the revenues from future projects. There’s such a thing as a maximum financeable growth rate if you’re growing without the benefit of outside capital. It’s beyond the scope of this article to explain how to make these calculations, but I was able to get a handle on this stuff after taking Guatum Kaul’s excellent, and free Intro. to Finance class, which is being offered again in January. Coursera is also offering another promising January course called Grow to Greatness: Smart Growth for Private Business, Part I, where these topics will be explored in greater depth.
In the end, Ponzi schemes by their nature come crashing down. When you’re oversold, your efficiency eventually seizes up, just as too many cars on a highway leads to a traffic jam. At a previous company, we recognized the problem before it was too late and switched to accrual accounting. In addition, we took a more studied approach to growth, but only after a period of illiquidity and diminishing profits caused us to do some real soul searching and self-education.
Even if you’re a young company, try to tie revenue to work. Structure your payments into a third at project start, a third at the midway point, and a third at project completion, or tie payments to multiple milestones in the project. If you want the litmus test of money up front as we did, talk to your accountant or bookkeeper about how to stick the revenue on the balance sheet and then recognize it over time as you work the hours.
Another strategy that Lullabot uses is to work with clients on an agile basis and have them pay per sprint for a set amount of resources. Our sprint model—based on a combination of scrum and rapid prototyping—typically involves a cross-functional team of three full-time resources for a series of two-week sprints at a fixed cost. Ideally, the team has a UX unicorn, a back-end developer, and a front-end developer. The client controls the backlog and dictates what we work on in each sprint. By being cross-functional, small, dedicated, and proficient with Drupal, we’re able to bring projects to market quickly, and for much less than comparable scope waterfall projects. In addition, we solve the cash flow problem. Each team earns a regular two-week paycheck for the previous two weeks of work. How might you structure deals to avoid the cash flow roller coaster?
* You don’t have to fully convert to the complexity of accrual accounting to tie revenue to work. * Learn about SFG (maximum financeable growth rate) and maintain adequate working capital in the business. * Growth, like Dorian Gray’s portrait, can conceal a host of ills. Pace yourself and be careful not to disguise project or resource problems with growth. It will catch up with you in the end.
## Epilogue The pitfalls discussed above don't appear out of nowhere; they often come alongside opportunities. Learning to sidestep them helps mature web agencies to make the most of the good without suffering from the bad.
Wood engraving image from the Illustrated London News in 1847