Your software is going to take longer than you think

20.Oct.09
by Dirk Knemeyer

Sorry to burst your bubble and scuttle your budgets of time and money. It’s true. I’ve seen it dozens of times: clients come to us saying something has to has to has to be shipped in 12 weeks. We tell them there is no way that can happen, no matter how much they pay us. They disagree and pay us what is required. They are subsequently unable - between their internal approvals, back-end engineering, design integration, product testing, deployment and many other factors- to get their product shipped anywhere near the deadline.

Beyond the Sisyphean nature of the frustration felt by everyone involved, our relationship with the customer is ostensibly strained in these situations. On one hand, we’ve worked hard and quickly and done everything we could in the contracted time frame; on the other, the design remains incomplete albeit for reasons beyond our control. Most customers are reasonable and accept that the delta is caused by their internal issues. Sometimes we try to give a little extra to help them get over the hump. Every rare occasion an unscrupulous client tries to take advantage of the situation and compel us to work for free because of their issues. Either way, nobody is happy. Our goal is always to lead or help our customers in shipping incredible software, and making a reasonable profit in the process. If we wanted to afford yachts and vacation houses, believe me we would not be in the services business to begin with!

Needless to say, we no longer agree to work on unreasonably fast time frames, no matter what the payment. I’ve literally never seen a project that our expertise identified as taking significantly longer than the client wanted actually get done on time. The closest mapping to reality I’ve ever seen is when we worked with Dennis Fong over at Raptr, and I would credit that to his Steve Jobs-ian single-mindedness and ultimate executive ability to make any decision what and when he wanted. It's a combination of his being a special individual, and having the unchecked authority to make immediate decisions on issues macro and micro while working side-by-side with our team and his own.

Thus I have reasons both altruistic and selfish to sound the alarm for start ups out there: your projection of when you will ship your software is almost certainly overly optimistic. If you think it can be designed from scratch to complete in 12 weeks, and you expect some guarantee of industry-leading quality attached to that completion, you are simply wrong. And just because someone agrees to do it that quickly doesn’t mean that they are able to, or even if they are able to that it will be any good.

It can be a difficult value proposition to sell software design at the very top of the quality pyramid, where we reside. We’re competing with web design companies, individual contractors and offshore discount shops. None of them deliver what we do. We have a client book that is impressive in both its breadth and in the brand-name quality at the top of it - Apple, Microsoft, Oracle - full of references who will emphatically recommend us to potential clients. Yet at the end of the day, faced with someone promising feverishly to deliver what the client is asking for despite its being unrealistic in scope or concept, or with someone who is “discounting” their price to be a fraction of ours, many potential customers go with the shill or the discount shop. Often, I can’t blame them: if you perceive you can get about the same quality but in the time frame you’ve asked for, or within a budget that will give you money to do other things, why wouldn’t you?

The unfortunate truth is that, as in everything, if something seems too good to be true, it almost certainly is. 10-15% of our past clients are customers who first chose the shill or the discount shop, apologizing profusely in the process, then slinking back 4-40 weeks later saying it was a mistake and asking for our help. They shouldn’t slink; I’m happy to help them! I don’t begrudge any customer their choice of someone other than us, no matter how illogical I might think that choice is. Sometimes, we’re not the best fit for our potential customers in the first place and I’m happy to tell them that as well!

This has turned into a bit of a winding diatribe from a frustrated business owner and salesperson. I’ve seen it happen all too many times before, and often it is to the detriment of both my firm and my potential customer. So let me say it clearly: designing great software takes time. Designing great software quickly takes the coordination of lots of factors that are outside of our control and, most likely, yours. In my experience, working with a succession of insanely bright, passionate, capable, experienced, talented clients, only ONE SINGLE CLIENT who came to me with an unreasonable deadline shipped even remotely close to the specified deadline. And almost without exception our involvement and work was not the delaying factor. Creating great software is hard! It requires a lot of factors to work well, the least of which being a brutally lean and decisive decision making process that eschews feelings in the names of progress.

Doesn’t sound like much fun? If you like to get dirty and create beautiful and amazing things, it’s a helluva ride. But please try to benefit from my ever-greying hairs and listen a little more seriously when we say the words, “This is going to take longer than you think.“ I’m not trying to get a bigger budget for us, I’m trying to set up a better outcome for you. Its called being a good partner, and its what I’ve spent my entire career trying to perfect.

Topics: Design, customer service, Blog, software development