Having completed hundreds of projects and seen how many different companies of all shapes and sizes approach software projects, we’ve put together our thoughts on approaches to providing the best foundations to creating a successful IT project.
Look out for our other related blog “Why does the IT industry have a reputation for failed projects?” which covers the same topic from the opposite standpoint.

Choose your development partner carefully

Before the proliferation of the web, supplier relationships were primarily made by recommendation and referral, meaning that there was significant emphasis on the reputation of previous projects. This world has changed. Most companies now choose their software development partner by finding a range of likely candidates on google, doing their own due diligence, and gathering a range of proposals to choose from. This new approach often leads to a significant focus on price comparison. And yet for most projects the project price is only a single part of ensuring the overall project is a success. Of course, it’s important that the price fits within your financial budget, but if you choose the wrong supplier and the project goes wrong, any cost savings are blown out of the water.
Read on to see how relationships, trust and communication are other key factors you should be considering.

Build relationships

If the project is of any decent size, you need to be able to trust each other and ideally consider each other as friends. People with close relationships understand each other, empathise and help each other out – all characteristics that help a project succeed and overcome the difficulties that are bound to crop up from time to time on an IT project. Spending time building relationships is invaluable in ensuring both parties have a vested interest in making it a long term relationship. When looking for a new partner consider how well the individual relationships are likely to bond and work together.

Focus on clear communication

Most of the world’s problems generally boil down to poor communication in one way or another. Communication on IT projects is incredibly important from the very beginning when you are communicating your requirement, through to the final delivery. At any stage, miscommunication has the potential to derail your project, so emphasis and understanding the need to communicate clearly from both sides is crucial to a successful project.

Consider priorities carefully

It’s easy to conclude that you want or need everything for the first delivery. However the IT world now moves so fast that creating a minimum viable product that includes the most impactful features is the best way to get ahead of the competition. Start by considering which of your requirements are most critical or beneficial and prioritise those for the first release, with others rapidly following afterwards.

Clear vision and understanding of requirements

In order to develop a software project it’s best to have a clear vision and understanding of what it is you want to create. Whether you take a traditional waterfall or agile development approach, if you don’t share a clear vision with the development team from the start, it’s likely that you’re not going to achieve your goal and end up bogged down and off-track.

Think about the future

IT doesn’t stand still, it’s always moving. You need to be prepared for how you cater for change that comes from many different directions; growth, technology, regulation, competitors, customers and staff can all impact on how your software needs to evolve over time. Whilst it’s impossible to predict the future, it’s worth spending some time thinking about what are the most likely areas to be impacted, so that the developers can at least bear in mind what might happen in the future when designing the relevant components.

With IT projects it can be easy to get sucked into focusing solely on the nitty gritty detail of how the software will work, and whilst some of these details can be fundamental to a project, our experience is that the foundations above are crucial foundations to have in place for a project of any reasonable size.