If you Google “Why do software development projects fail to deliver on time” you’ll get around 253,000,000 results! That’s a lot of software delivery failure!
When writing this blog we decided to look at things from a slightly different perspective (that’s kind of our thing!). We thought it would be good to think about what works for us first and flip it on it’s head to find the reasons for failure. Here’s what works for us:
- Honest, open communication
- Encourage change, ask “why not?”
- Technical excellence and process discipline
- Giving all we’ve got to each project
We know that putting the heart into software development by using these values as a guide on all our projects works because for the last three years we have delivered every single project on time and on budget. So, why do complex software development projects often run into so many issues? Lets look at the flipside what works for IJYI:
The ability for all team members to be open and honest in their communication is vital to a project. It isn’t always easy, particularly if you are the bearer of less than welcome news. However, in the long run it will contribute to a software development project’s success rather than hinder it. Project stand-ups shouldn’t be treated as a “good news club” with everyone giving a rosy picture on the status of tasks. There are no short-cuts in successful project delivery and whilst it might be tempting to gloss over issues in the stand-up to get it over with quickly the compound effect of doing this regularly can be devastating to a project. It is so much better to deal with issues incrementally than having to clear up a huge mess right before a deadline hits (just ask Theresa May how that approach has worked out!)
Another favourite of the “defer and delay” manifesto is cancelling demos because progress isn’t quite up to scratch. Keep momentum up by continuing with that scheduled demo. If things aren’t quite where you hoped they would be then so be it, at least everyone has a clear and realistic view of progress.
A retrograde step – We know it can be tempting to cancel retros as it can feel too painful to go through problems again after the event. However, continuing with retros is really important not only to learn lessons but also to keep the team on board with the idea of being open and honest about issues and the status of the project.
Scope creep is often cited as a reason for project failure in software development. We believe though that change is inevitable on any project. It is a project team’s inability to adapt to change that can cause a project to hit the rocks rather that the change itself. How about looking at things differently and asking “why not?” instead of “why?”.
We know that project teams can be placed under difficult time and resource constraints, however, there is still the opportunity to be flexible. Giving a little here and taking a little there while being focussed on the maximum value based on those constraints gives you a great outcome.
We believe that technical excellence isn’t just about being brilliant at writing code or being a technical genius (although we do have those!). We believe true technical excellence is about understanding the right tech for the job and what the minimum amount of complexity is to achieve real business value. Sometimes technology can actually get in the way of delivering a quality product on time and on budget.
Onto process then – This is a tricky one. Process can either help drive a project forward or hold it back. It all depends on how Project Managers and SCRUM masters run their projects. Doggedly following process with no room for manoeuvre can be hugely frustrating when changes arise (see point 2). However, a lack of control can lead to chaos and confusion on a project. Effectively managing that balancing act between sticking to project processes whilst still being flexible and allowing creativity is a difficult task and if it’s not managed correctly can result in serious issues for delivery.
Let’s look back at our flip-side for a moment. Number 4 on our list is “Giving all we’ve got to each project” This means that all of our project teams (and everyone else who works for IJYI) exudes the company values and when they’re on a customer project they give it everything they’ve got. If project teams aren’t truly committed to achieving the business goals for the project then things quickly break down. Project leadership is absolutely key to this. By project leadership we’re not necessarily talking about the Project Manager. Senior Management need to support the Project Manager in embedding the idea of delivering business value within the entire team.
When approaching any software development project we always ensure that our IJYI values are front and centre. Alan Jackson wrote a splendid blog on just that topic . So, without wishing to repeat too much of what Alan said, here is a quick overview of IJYI’s core values:
- We have no hidden agendas
- We inspire change
- We master the trade
- We love IJYI
Some articles on the reasons for project failure will list endless complicated reasons and, yes, there can be a horrifying array of specific things that can go wrong on any project. However, we firmly believe (and have proven) that putting a set of core principles, such as the ones we have outlined, at the heart of your project you will be far more likely to deliver on time and on budget.
Find out more about delivering software the IJYI way.