The word “deadline” is always met with a heightened sense of anxiety. More so, when delays are directly linked to overshot budgets and loss of potential new clients. Worryingly, software projects rarely meet their launch date and a deadline almost always is extended. At iTech, our 17 years working with numerous critical, customized software deliverables has given us a close-up view of the common causes of project delays and how to avoid them.
These avoidable problems hold good for both projects developed in-house or with a tech partner. Particularly, in the case of in-house projects, with your own development team – how often have you heard “How long will this project take to be launched? Give me a ballpark figure”. Estimations should never be off the cuff. Here are the reasons why a software development project is primed for delay, even before it starts and the best way to avoid them.
1. Involve the experts to come up with a solid project requirement
Often times, the requirement might be raised by the business team and then product managers and the project managers get to work defining the plan and the business team are out of the picture. This is the first step that can upset the cart. Unless the business requirements are clearly discussed, the technology team will implement what they feel answers the project requirement and then the company might find it does not fit and it goes back to the drawing board. Time is wasted in this to and fro.
If business requirements are clearly understood then the software development planning stage will cover everything needed
- Convert requirements into a strong development plan
- Designs the right architecture that the development team will use
- Provide the right estimates for each development milestone
- Split the project into tasks and allocation of resources
- Present a concrete schedule to the stakeholders
The software development planning stage will make or break a project. Poor project planning is found to result in a 39% failure rate because hurrying through this stage can cause many important considerations to be overlooked – source Spikes Cavell finance survey
2. Losing key players during the course of the project
It’s vital that an experienced team of developers work on your project. Because a project may take 4- 12 months of development time, chances are that key people in the team might move on. If contingency plans are not built-in right at the start of the project, not just project deadlines but quality of the end product will be impacted.
Often key development members are working on new or disruptive technologies like AI, ML. telematics etc. Finding a new resource and gets them familiar with the project takes time, often months. Till then, the project manager will need to handle allocation of resources as a stop-gap. Work might be split among existing team members and this disruption could affect their ability to deliver at the rate they were accustomed to.
As the product owner, when working with a software partner, it’s important to raise this question right at the start before any agreements are inked. If your tech partner has a large development team, a team member moving on might just be a minor hiccup that is easily smoothened over. Smaller tech teams might have collaborations with contractors. Whichever way, it’s important to ensure that there is a contingency plan that will not delay your project.
3. Project scope creep – Do more by doing less
Scope creep in project management is the most frequent cause for project timelines to go off track. It is also one of the biggest frustrations of a development team. At review meetings with the product owner, their team might say “lets add this to the release, it will bring more value”. That could be true but should it be included in the first release version? The answer is always NO.
It is so important to realize that if new scope is added, it will directly affect what is already factored into the DO list. I can’t reiterate how important this is. Once a new deadline is accepted, it opens a pandora’s box. It is because it never stops there, it just says that a deadline is not sacrosanct and they can keep getting pushed. I’m not talking here about delays counted in days but those stretching to months.
If changing requirements is needed then the best way is to follow an Agile development framework. An Agile process works on this route: Plan, Do, Check, Adjust/Act. The project is divided into sprints of 2 weeks to a month. Each sprint will deliver a usable part or feature of the overall product. This gives an opportunity to redefine the products requirements if needed and change the requirements in future sprints.
4. Issues of integration with third party systems
For instance, if you were developing an app for ordering goods online, you will need a chat feature within it. Instead of spending time building a new chat interface from scratch, it would be easier to integrate with a third-party chat component. I
Third party integrations is setting up communication protocols between two different systems. Developers will use APIs (Application programming interface) to integrate third party applications.
That said, when working with third-party integrations there might be challenges that might crop up that are outside your control. For example, an update on the third-party application might set up a conflict with your system or vice versa.
Third party integrations through open APIs are an essential part of development. I cannot think of any product that works in isolation. However, when you are dealing with integrations, their systems are outside the control of your development team. Be aware that it comes with challenges along with the benefits. The best way to tackle these challenges is by having a solid QA testing procedure and a team skilled in overcoming issues that may arise with third party integrations.
5. Delays in approval process – keep communication lines open
Finally, the other big challenge is getting approvals on time. Every development team will agree with this. When the approval process is not streamlined it will delay development. This could range from minor approvals like color schemes to detailed approvals like project scope agreements or feature reviews. To ensure communication is an open channel, ensure there is a project champion on the product owner’s side who will work closely with the development team.
The team at iTech know what it takes to keep to deadlines from our expertise gained through 17 years of working in clo