To actually deliver valuable software or websites on time and on budget can seem amazingly difficult. The horror stories of large, enterprise and public sector IT projects that have gone disastrously wrong are often in the news. However, even more common, I suspect, are the smaller projects that have wasted time and money and resulted in failed products or (even worse) long, drawn out suffering for everyone involved.
The scrapyard of failure
You know the kind of thing I mean: where small companies or individuals have started a software
development project with shinning eyes, dreaming of the life changing impact the planned product will bring. Then, over months, or even years, they are dragged over the expensive, incredibly painful, burning coals of a screwed up project.
I imagine a virtual scrapyard full of the twisted, broken output from this type of project and a world full of the scarred and suffering former dreamers now looking at any software development with cynical eyes.
Its a shame; because these sorts of failed projects are totally avoidable. There are ways and means to avoid the pain so that even when a project hits some bumps everyone walks away without the scars and not adding to that virtual scrapyard of horrors.
There are loads of buzz words to label the tools we use to guide us to success; some cover the ways to increase technical success, some how to make sure the project output brings value and some to keep the people involved smiling. If you are thinking of things like agile development, lean startup, MVP or some of the many others then you are absolutely correct.The correct mix of these approaches is the recipe for software project success.
However, there are a few underlying pitfalls that are worth pointing out, so that you can be sure to avoid them even before getting started.