In this PDF you can find the top 6 practices which I believe every software project should consider before it even starts. The full PDF is available for download here.
In the video below you will find background information which is not available in the original PDF. The information is complementary to the PDF and
The point I want to make with this video
Regardless of how the software industry has evolved, big failures in software projects are still part of our reality. If you do a quick search online (“Cases of Software Project Failures”), you will be able to find a very large amount of projects that have failed across history.
Between old and new projects, we have some famous cases like the Ariane 5 in 1996, in this project the rocket has exploded, after the 40s of flight due to a misuse a software variable type. In 2018, a Uber self-driving vehicle was not able to detect a pedestrian crossing the road and has killed the person in a fatal crash.
We can see here that failures in software projects exist since a long time and, although the software industry keeps evolving every year, dramatic failures such these ones, keep still happening nowadays. The CHAOS report from 2015 hows that approximately 70% of the software projects analyzed, could not be considered “successful” according to their survey.
As we can see, metrics related to Cost, time and scope are key points to determine the success factors of a project. A concept that models this information is the “Project Management Triangle” (PMBok Guide).
The key idea behind this diagram is that none of the 3 constraints (cost, time and scope) can be changed without affecting the other ones. For instance, if you need to reduce costs for the project, the scope of function will, probably, be affected or the schedule of the project will have to be re-adapted.
The important point to consider is to try to balance these 3 constraints in order to achieve your project goals.
One could also argue that balancing these three criteria will support the overall product quality and the chances of your project failing will be strongly reduced.
Another fact which is also well-known in the software industry is the “cost for fixing defects in software projects”.
This idea was initially documented by Boehm and it shows that costs for fixing a defect during late stages of the project can cost hundreds or even a thousand times more than if the same defect was fixed at earlier stages of the project.d at earlier stages of the project.
In the PDF 6 Practices for high-quality software projects I