Starting Tuesday, I will no longer issue quotes for software development.
I’ve been doing a lot of thinking about our Software Development business. Over the past 6 years we’ve done over 75 projects. We have loosely followed an Agile approach to software development, but have always been pressured to provide fixed quotes. It has been difficult to reconcile the desire to be Agile versus the Waterfall approach and up-front engineering required to provide a fixed quote.
Software projects are messy for the simple reason that people are not computers. We do not have perfect memory, we do not have perfect communications, we are strongly affected by emotion. Despite all of our efforts to communicate a project vision or structure, something is always left out. Something is always misinterpreted. You simply cannot avoid it.
We had another example just this past week, where we were given data to produce reports but there was no way to extrapolate the reports from the data provided. The customer simply had no idea how messy and inconsistent their data was – and didn’t believe it until we showed them. Thankfully, they had budget to expand the scope instead of aborting the project.
So, starting Tuesday, no more quotes – we will be strictly billing by iteration – 3 to 10 day sprints of development for 1 to 3 developers. This simplifies our pricing and quoting immensely – and we may also follow some of Obie Fernandez‘s advice from RailsConf and turn out some pre-priced products that fit our most common project patterns (of the 75 projects we’ve done under this company to date, there are seriously only a handful of patterns).
This will also allow me to try a new approach in taking the next step with the company, and that is to try my hand again at systemizing the sales process. Fixed price quotes always put pressure to bring technical resources into a sale early, almost always turning it into a technical sale. My hope is that reducing the need for technical input early in the sales process will increase the effectiveness of sales staff in closing projects. They’ll be more confident because they won’t need to get in beyond their depth in technical details.
This is primarily to address the problem I currently have in my company which is an amazing ability to accomplish but a lack of actual assignments worth accomplishing.
Oh, and in case you haven’t figured it out – I’m hiring 🙂 I have a sales position open right now that I need to fill – if you’re interested in the great lifestyle choice of living and working in a rewarding sales position in Durham Region (just east of Toronto) give me a call. You’ll be connecting customers with the finest team of developers assembled in the GTA.