Why do Internet of Things(IoT) projects fail at such an alarming rate
What to avoid when implementing software change
Written by: Marvin Harris
Project management allows managers to define the needs and recommend solutions for a project to be completed promptly and within the budget. Now, in a perfect software world, every project would be on time, within the budget and successful. Sadly, the reality is a different story altogether. On average, companies spend around $194.4 billion on software development. So why do projects fail? Have a look at this:
- Poor requirements account for 71% software failures (CIO Magazine)
- 40% of the effort on average software project is lost in fixing errors
- Requirements defects contribute to 56% of re-work (Butler Group, 2005)
- Annually, $250 billion is lost due to poor requirements (global)
- $46 billion goes to fixing software requirements errors (USA Today)
More often, projects do not deliver what they are expected, and this can be devastating to a company and the developers. While there are general rules and principles to prevent project failure, why do they still fail?
Bad requirements or too much scope
The software process consists of several activities undertaken during design, development, and software maintenance. Most software projects fail because of either lack of adequate planning on requirements and scope during the software development phase and testing. Some projects have large numbers of requirements and it is not surprising for developers to overlook some. The people gathering and documenting software requirements may have the best intentions, but more often, they miss some details, and the result is; the product is not what the company wanted. Other times, they may include irrelevant information, which is redundant with the other requirements. The impact of this is, it drags the process because a lot of time is lost in analyzing, managing, and fixing errors. Bad requirements mean that the set of requirements lack one or more necessary qualities.
Most software systems are characterized with a predefined conclusion on their outcome, intended platform, their internal state, and the environment they will be deployed. Predefined conclusions often build assumptions and deliberately ignore any errors or mistakes that might occur during the whole process. These assumptions are rarely documented and less likely to pass validation by software engineers to verify their suitability. Software development process should take into account the inevitable occurrence of mistakes, failure, or any sudden change before the release.
Too much Waterfall in the project, which prevents failing fast
Project management has a variety of methodologies, and it can be challenging to decide the most suitable. With the Waterfall model, one starts with understanding the requirements, design a solution, developing, testing and implementing the solution. Each of the areas of focus in a project process is useful especially if the team has less knowledge about the methodology and is struggling to build a project from scratch. However, having too much to choose from can ruin a project. It can be overwhelming to perfect and to move from one phase to the other. The alternative to this is the agile methodology. When dealing with clients who are unsure of what they want, the agile methodology offers two options to work with. One it allows project managers to understand what the organization wants and two accept their behavior. The agile methodology also allows early decision making, which helps identify any issues that may affect the outcome of the project.
Scope creep management can be challenging and needs to be clearly defined, and all specifications documented. The project scope includes detailed information for the project team to deploy the product on time and within the budget. However, even with a clearly defined scope, scope creep can turn into a nightmare for project managers. Problems occur when new features are added to designs that have already been approved without allocating more time and resources. Further, scope creep is likely to occur because of poor analysis; customers fail to specify what they want, and requirements are documented based on a vague idea. Additionally, failure to involve organization in the early stages of project process, underestimating the complexity of the process, and the inability to prepare for change can all cause scope creep. Conclusions are drawn without the data to support it
It is tempting to draw conclusions without supporting data, but this might lead to missing important information. Without careful analysis to back up the conclusions drawn by project managers, the project is likely to fail. It is, therefore, imperative to analyze data before presenting it in a project process.
It is no secret that project management is a daunting challenge and fluid in nature. Changes tend to occur as the project progresses. However, it can be devastating if projects keep on failing. Not with all the resources that companies need to commit for a successful software deployment. It is, therefore, important for project managers to seal any loopholes that may cause projects to fail.