A well known fact for IT projects is the bigger they are, the more likely they are to fall. But small projects – let’s say anything under a few hundred thousand dollars – also go wrong a lot of the time. When they do they don’t make headlines, but they can still be drawn-out, costly nightmares.
Everyone in NZ is familiar with the disastrous Novopay teachers’ payroll system, which didn’t work, wasted millions and meant a hundred thousand teachers had to go to school for weeks without their lunch money. Yet that’s small change compared with the UK’s NHS IT system disaster, which cost the equivalent of NZ$24 billion before being dumped.
Through our Development Service we’ve built lots of complex websites and apps. As far as technology projects go, they’re relatively small. But no matter how small a project, there’s always room to screw it up. This post is about the smaller projects, and lessons we’ve learned to avoid them quietly ruining weeks or months of your life.
Never say “just”: technology projects are rarely easy
Whenever a client or partner uses the word “just” in relation to a project or feature it puts us on guard. It means they think something is going to be easy (or they want us to believe it will be). Things that seem like they should be easy – like a basic website where people can go online to choose new healthcare insurance – are often really complicated, just ask Barack Obama. Underestimating the complexity of a solution is one of the best ways to stuff it up. Be wary of tech providers who act like everything is easy.
Align expectations, agree key details upfront
If a client uses the word “just” and we don’t pull them up on it, we’ve implicitly set an expectation that it will be easy. Failing to communicate properly, and allowing a partner or client to harbour unrealistic expectations is a good way to ruin a project and a relationship. As a client, ask lots of questions and record key details in writing (we suggest you agree on a detailed functional specification and engagement letter at the start of a project). Agreed processes are essential; decent project management software also makes things run smoothly.
The more you know, the better
Ignorance is not bliss. The more our clients understand about what we do for them – especially how much time things take to do – the more likely it is they’ll get the best solution at the best price. It will mean you can ask the right questions, allocate budget effectively, and set the expectations of your internal stakeholders or clients effectively. At the very least, when a suggested technology solution is presented to you, ask why each aspect is better than the alternatives.
Fixed price often is more expensive
Doing projects on a fixed price might seem like a no-brainer. But because it is really hard to accurately estimate the time it will take to complete a project (especially when you don’t have all the information when being asked to quote), demanding a fixed price will mean forcing us to take a risk on price. We will have to build in room for error to ensure we don’t lose money. It also means we have to spend more project management time tracking in-scope and out-of-scope work. This is why we prefer to do projects on a “time and materials” agile basis with our clients: it is almost always cheaper for them. As long as you trust your technology provider we recommend this approach.
De-brief after every project
What went right? What could have been done better? Honing a process will make it better next time around.
Every project is different, and they all have their challenges. The truth is that technology solutions are inherently difficult. Lots can go wrong. The best way to avoid this? The one word that ties most of the points above together? Communication. Don’t underestimate it!