Today we’ve got a classic good news/bad news situation for you. Let’s start with the latter, in the form of some not-so-great stats about software projects. Although the exact numbers seem to differ, the overall success rate is worrying: between 25% and 40% of tech projects fail outright, while pretty much all of them run considerably over budget and time. Software projects that do make it to the finish line often don’t deliver as much value as expected. If you wouldn’t know any better, you’d think failure has become the norm for IT projects.
Onto the good news now. A lot of research has been done to find out why so many tech projects tend to (partially) fail. It turns out there are several key factors that play a roll when it comes to a successful start, management and implementation of an IT project. In this post, we’ve listed a number of them for you: Here are 7 tips to make your next software project succeed.
Clients usually want a project done yesterday. On top of that they expect excellent service, availability and quality at an impossible price. Needless to say, that is a lot of pressure. No wonder many companies end up agreeing on deadlines that are too tight and budgets that are too small; they just want to keep their customers happy.
Ironically, this is probably the worst thing you can do. Giving the okay on an unrealistic deadline and budget is selling yourself short, big time. Doing so will only result in a frustrated client, a financial loss for your business and a couple of cranky developers who are likely to leave.
What to do: Take your time. Time to find out exactly what it is your client wants. Time to sit down with your team and create a solid plan. Time to get organized really; it will save you heaps of issues later on.
Budget wise you need to be realistic. No one wants to hear they have to pay an extra X% because you got your initial estimate all wrong. So be honest about the actual costs and explain to your clients what the risks are of going for the cheap option (think slow suppliers, corners getting cut and poor quality).
Non-existent or bad communication is disastrous for a lot of things, software projects included. Even in a time where we’ve got numerous (digital) ways to communicate with each other, this is still one of the main reasons tech projects fail.
What to do: For starters, never assume anything. Instead, make sure all of the parties involved – the client, the end-users and the development team – understand you and each other. Set up proper communication – and feedback – channels and create an environment that encourages everyone to participate. A 360 degree feedback tool can be a good idea; it allows developers, end-users and clients to learn from each other and work towards that common goal: top quality software.
Software projects have a tendency to somehow wander off the beaten path. It’s a bit like exploring a big city without a map (and no Google maps); before you know it you’ve lost your bearings. You end up taking lots of detours, trying to find your way back to the hotel. This ‘getting lost’ is one of the most important reasons technology projects fail.
What to do: Remember that solid plan we talked about earlier? It needs to include a clear timeline, interim milestones and regular reviews. Together with your team, you can use those moments to assess the project’s progress. Are there any unexpected bugs that need to be fixed? Does the product require unanticipated changes? If there’s anything that looks off track you can fix things early on – and hence avoid disasters further down the road.
Too often still, testing isn’t done from the start. Instead, it gets left until the end of the development cycle and the poor testing team is under a lot of pressure. This, in combination with too little time to thoroughly test the software before the deadline, leads to a product filled with bugs. Oh, and an unhappy customer.
What to do: Embrace continuous delivery. Don’t wait for a month’s worth of code, but release it in small sections instead. This makes it a lot easier to deal with a problem, if there is one.
The lack of actual end-users testing the product is a common problem. A very strange situation when you think of it, since the end-users are the ones the software is created for in the first place.
What to do: Involve your end-users! Only they will tell you what they really need, not your developers. Get your end-users involved right from the start and listen carefully to their feedback. This is where the excellent communication and constant feedback we mentioned come in handy again.
Developers can sometimes feel a little disconnected from the company they’re doing a project for. Maybe it’s because they’re not always in the same office, or perhaps it’s because they tend to work freelance, or maybe it’s a bit of both. In any case: Unengaged developers are bad for business.
What to do: Start by hiring the right people. By that we mean people that fit your company culture. We wrote about this before, go here if you missed it. Once you’ve found your top development team, make sure they truly feel part of the organization. If they work remotely, you can read how to involve (and engage) them here.
It’s not uncommon for software projects to be poorly managed. Inexperienced managers and/or ineffective management methods can cause considerable (and irreparable) damage to a project.
What to do: Again, first of all make sure you put the right person in charge of managing the tech project. Also, have a management process in place that is flexible; it’s very likely project requirements will change along the way and you want your management (process) to allow those changes to happen.
Now, we’re not saying these 7 tips are a guarantee for success. Nor are they miraculously going to solve all your software project related issues. What we can say however, is that this list of 7 tips will be a big help. So next time you have a new technology project coming up, sit down, relax, and have a look at this post.