Assumptions, omitted details and misalignment are some of the most common factors contributing to failed software development projects. In this article we look at some of the most common mistakes made during software development projects.
When it comes to software development and implementation, going back to basics, following the rules and sticking to the scope are some of the most important factors to avoid costly mistakes and wasted time. Drawing from 15 years of experience working with software developers, project managers and clients, I have listed the five most common mistakes made during software development projects with tips on how you can avoid them.
1. Lack of Planning and Assumptions
Organisation often underestimate the planning phase of a software development project and don’t delve into enough detail to ensure a holistic overview of the project requirements and phases.
In these situations, the project planning phase is often superficial with the scope underestimated. Often stakeholders might also feel like certain sections of the development phase are “easy enough to understand” or that they have “done it before”. Once they start executing on the development requirements, however, they need to unscope (amend) sections which results in wasted time and increased costs.
To refrain from making this mistake, organisations need to follow a methodology when it comes to software development. Whether following an agile or waterfall methodology, procedures and templates need to be implemented and utilised and processes have to be adhered to.
2. Scope Creep
Scope creep occurs at multiple levels. Often, as stakeholders are executing on the software development plan, “nice-to-haves” creep up and get added to the work breakdown structure, and all of a sudden 500 hours accumulate to 700. This situation greatly impacts the overall cost of a project as well as the timeline. Therefore, you have to define what the product is that you are aiming for and what the minimum requirements are to enable a viable go-to-market.
It is important to differentiate between nice-to-haves and have-to-haves with the latter defined in your work breakdown structure –all of the requirements needed to create a viable product. What is important, is that once that document has been signed off all stakeholders stick to it.
If nice-to-haves do creep up, put those features into a backlog and add them into another phase of development after the product is viable and has gone to market.
3. Communication and Misalignment
From product owner to the shareholder, everyone needs to understand where the project is tracking, what risks have been recognized, and what possible scope changes have been identified with early and constant communication to all stakeholders to ensure alignment.
To avoid miscommunication and alignment between stakeholders an acceptance criterion should be compiled during the planning phase of a project. Following this, wireframes should be designed, and it is crucial for this coupled with the acceptance criterion to be signed off by all stakeholder involved.
As the project moves into the development phase, weekly reports should be sent to all stakeholders and with daily stand ups occurring between team members to ensure that all resources are adequately assigned, allocated and managed in line with the stakeholders’ requirements.
Standups are a quick get-together between all team members that enable them to quickly catch up, ask any crucial questions, and ensure everyone is still aligned. This enables organization to avoid pitfalls and misalignment – an occurrence not to be overlooked in the world of IT.
Misalignment often occurs between developers and clients owing to a technical and non-technical viewpoint and interpretation of the same message, highlighting the need for a process owner that understands both the technical side of the project along with the client’s requirements and is able to align all stakeholders regarding execution and expectations.
4. Rapid changes in technology
Rapid changes in technology should not be underestimated in the project planning phase. It happens quite often that a project is running smoothly and on-time for deadline when one of the technologies used issues a new upgrade or service pack, rendering the product being developed non-compliant.
These kinds of risks should form part of an organisations’ risk document with additional hours allocated in the project plan for risk items and the resultant impact it could have on the timeline and costs specified.
5. Scaling too big with Cloud
Cloud computing enables businesses to be scalable and flexible and, most importantly, to save costs and utilise an array of features that enable rapid growth and transformation.
While these features are amazing and revolutionary, organisations need to carefully plan how they will utilise the cloud during the planning phase of a software development project to ensure that they match their actual requirements to the available features, suppliers and service plans.
While it might be tempting to access as many features as possible as you aim to make your product as big as possible, this can result in a lot of extra costs for features you may never use. Rather start small and scale as needed – that is the beauty of the cloud!