08 Feb How To Not Get Ripped Off by a Software Development Company
When I meet a prospective client for the first time, it’s very rare that they know exactly what they want.
Generally a pain threshold has been reached and they’ve concluded that a software solution might help. So they are now entering a process of discovery, and looking for information, ideas, guidance and advice.
Specifically they are looking for 3 things: a well considered solution, a price and a time-frame.
The following process is used by the majority of providers:
- The project requirements are gathered
- The scope of work is agreed usually via a Specification or a Definition of Requirements document
- The software provider then determines a price based on time, risk and complexity.
- Finally a fixed cost quote with a deliverable date is submitted.
What’s wrong with this process?
Even if you find a brilliant analyst who entirely understands your business requirements, he/she will then participate in the wasteful art of specification writing.
I say wasteful because producing a lengthy and invariably wordy document, often called a “Document of Requirements”, is costly. Someone has to pay for a skilled analyst to detail and specify a complicated process, and that someone is you. It assumes that you will both read and comprehend the contents, yet even brilliant analysts will miss some project requirements and it assumes that most clients actually know what they want. Sorry if this offends but most don’t until the “lightbulb moments” have occurred. Finally, what really stinks is the majority of the work can’t be re-used in producing the software product.
At the beginning of any software project, especially with a new client, when we know the least about what needs to be developed and what unknowable factors we will encounter, it is flawed to believe that an accurate estimate of cost and time can be provided.
These are moments when you realise that, contrary to what you originally thought, ‘something’ has been missed out or it’s not quite as you thought it was. These ‘Ding-Dong!’ moments invariably relate to how you thought the software should work and now it’s clear it needs to work a different way.
3 steps to avoid this
Ultimately it’s about risk mitigation and the key is to break down the project into much smaller chunks.
Step 1: Sit down with their analyst, and have a frank conversation about your idea. You want to feel that Wow, they really listened and picked up on my problem. That’s good. If they asked lots of pertinent questions even better.
Step 2: Both parties will need a requirements documents but not one full of words. Instead ask them to produce mockups of each and every screen. We use Balsamiq and Keynotes for our mockups. You need to be able to click on buttons to see how the screens interact, because you want to mitigate the number of lightbulb moments. They may well ask you to pay for this. I advise that it’s money well spent.
Step 3: Hopefully you now have a valuable document that explicitly shows the user functionality to show other colleagues and get their feedback. If lightbulbs are flashing then iterate again to incorporate the insights until you get the design you need.
Working through this process will inform you about how your software provider operates and if you like how they’ve managed it, only then get them to quote.
What to look for
Are they agile? Agile development is all the rage, we’ve been honing our own form of agile for that last 12 years. It basically means we can deliver something to you every few days, and that’s important because history shows that you’re still quite likely to envision new opportunities when you interact with the actual software. It’s just the way it is! Good development houses will be able to incorporate your new tweaks without charging additional fees.
Are they competitive?
Here are some useful guides to the cost of web development:
- Appster’s White Paper on ‘How much does an app cost”
- Katana Code’s ‘How Much Does It Cost To Develop An iPhone App?’
- Crew’s ‘Calculate the cost of a mobile application’
- Otreva’s ‘How much to build an App’
What about Offshore Development?
Every one wants the golden goose, but hourly rates are not what they seem. Offshore providers appear to have much lower rates and if you find a good one, can you please let us know? Seriously, we’ve been looking for years, with varying levels of success.
When required we use a couple of overseas freelancers, but they are not sub $30 per hour type, far from it. Our go-to-guy Tony, is based in Vancouver and charges out in 6 hour blocks at CAD$265 per hour. He’s generally fully booked for 2-3 months in advance. However when we need additional resources, he’s awesome and a genius; he can produce more rock solid code in a single 6 hour block than most good developers can in a week. So he’s actually relatively cheap. Need your own Tony? Start by looking here 10X Management.
(Otherwise, if you want a software solution that is delivered on-time, to specification and on-budget, we’re very good at that.)