Why is Low Code development platform so trendy?November 5, 2021
AWS ALB Health Check for multiples app or services on NGINXFebruary 8, 2022
In 2015, after only thirteen years, the Washington State Department of Corrections finally realized that it had inadvertently released around 3,200 inmates to early release since 2002. The error in question existed in the system used to calculate sentence reductions for good behavior, which resulted in miscalculations in the drops.
It is just one in a long and depressing history of software bugs. Most IT experts agree that failures happen much more often than they should. Furthermore, losses are universally free from prejudice: they occur in all countries, large and small companies, in commercial, non-profit, and government organizations, and regardless of your status or reputation. In terms of the taxpayer and shareholder money wasted, business and social costs of these failures and the investments that cannot be made run into billions of dollars a year.
The problem is only getting worse the more IT is used. According to a 2017 Project Management Institute (PMI) report, 14 percent of IT projects fail. However, that number only represents the total number of failures. Of the projects that did not die outright, 31 percent did not meet their targets, 43 percent exceeded their initial budgets, and 49 percent fell behind.
The biggest tragedy is that software failures are predictable and avoidable for the most part. But, unfortunately, most organizations do not view failure prevention as an urgent matter, even though that vision risks damaging the organization and, in some cases, even destroying it. Understanding why this attitude persists is not just an academic exercise; it has enormous implications for business and society.
The amount and type of technology investments can vary between industries and sectors. For example, the average business spends nearly 4%t of revenue on information technology, and those heavily reliant on IT, such as finance companies, spend more than 7% on IT. In other words, IT is now one of the most significant corporate expenses outside of employee costs. Much of that money goes to hardware and software upgrades, software license fees, and others. But a large part goes to new software projects to create a better future for the organization and its customers.
It is not uncommon to think that when a software project fails, it jeopardizes the prospects of an organization. However, if the flaw is big enough, it can steal the company’s entire future.
Around the world, it’s hard to say how many software projects fail or how much money is wasted as a result. However, if you define failure as the total abandonment of a project before or shortly after delivery, and if you accept a conservative 5% failure rate, billions of dollars are wasted each year on faulty software.
Of course, those billions do not reflect projects that exceed their budgets, which is the case with most projects. Nor does it reflect projects delivered late, which is the majority. It also doesn’t factor in the opportunity costs of starting over once a project is abandoned or the expenses of bug-ridden systems that must be repeatedly reworked.
There’s also the cost of litigation from customers suing vendors over poorly implemented systems. When you add up all these additional costs, the annual tab for failed and problem software runs conservatively between $ 60 billion and $ 70 billion in the United States alone.
But why do projects fail so often?
Among the most common factors:
- Unrealistic or disjointed project goals
- Inaccurate estimates of necessary resources
- Badly defined system requirements
- Poor project status report
- Unmanaged risks
- Inadequate communication between clients, developers, and users.
- Use of immature technology
- The inability to handle the complexity of the project.
- Sloppy development practices
- Bad project management
- Stakeholder policy
- Commercial pressures
Most failures, however, can be attributed to a combination of technical, project management, and business decisions. Each dimension interacts with the others in complicated ways that exacerbate project risks and problems and increase the likelihood of failure.
The earlier the omission is detected and corrected, the better. It is like knitting a sweater. If you spot a missing stitch right after you, do it, you can untangle some thread and move on. But if you don’t catch the mistake until the end, you may need to unravel the entire sweater to redo that stitch.
Suppose software developers do not detect its omission until the final test of the system (or worse, until after the system has been implemented). Then, the costs incurred to correct the error are likely to be many times greater than if they had detected it while still working on the initial sales process.
And unlike a missing stitch on a sweater, this problem is much more challenging to identify; programmers will only see that errors appear, which can have various causes. Even after the original error is corrected, they must change other calculations and documentation and retest each step.
Studies have shown that software specialists spend 40 – 50% of their time on avoidable rework rather than value-added work, which works that gets done right the first time. Once a piece of software hits the field, the cost of correcting a bug can be 100 times higher than it would have been during the development stage.
If mistakes abound, rework can start to flood a project, like a boat in a storm. What’s worse, attempts to correct one mistake often introduce new ones. It’s like you’re rescuing that boat, but you’re also creating leaks. If too many errors occur, the cost and time required to complete the system become so great that moving on is pointless.
In the simplest terms, an IT project generally fails when rework exceeds the value-added work budget.
Is there are a solution?
Although it is impossible to ensure that the project is 100% perfect, there are working techniques with which any errors that may arise can be minimized to a minimum. For a project to be successful, it needs to have at least the following elements:
- A good estimation of the times: It is crucial to plan how the project will be carried out. It is catastrophic when goals are set that are impossible to meet in the indicated times.
- Reasonable quality control: Are you adding new features? Are you updating a site? Or are you directly doing it from 0? If so, you will need to thoroughly test every new piece of code you add so that you are entirely sure that it is foolproof code and will not break if someone does not understand it.
- On-the-go testing: Keep in mind that there is no such thing as perfect software. You should find a starting point to go into production and start testing the new software ―the sooner, the better. As stated, finding problems at the beginning is easier to handle and less expensive than identifying them at the last minute. In addition, involving different people from the team in the testing process can allow you to have a greater scope of interaction and a more global vision.
- An adequate design: In some cases (more than it should), non-conformities occur because the plan does not meet the requirements you need or, on the contrary, it becomes too complicated for a person to be able to use it without need for complex instructions
- Try new technologies: It is indispensable to continuously be updated with all the technologies coming out every day to make our work much more manageable. But there are times when, by not finishing testing the different tools before using them in an actual project, we make mistakes because we do not quit using this new technology correctly.
- Messy planning: Last and perhaps most important, have good planning. It is necessary to have an organized and systematic way of dividing all the phases of the work of a project so that you can be prepared for any eventuality, and it is possible to deliver the work on time.
We, as humans, cannot avoid that in all projects. There is one error in the code, but we can control how many and severe they are. Thus, we must keep in mind that avoiding mistakes is equal to or even more important than the amount of work that gets done or, in other words, quality is better than quantity.
Do you have an idea and want to make a prototype to see if it is functional or sustainable over time? Then, 23blocks is the best solution that you will find to carry out this development with less effort and investment.
Each of our blocks is a combination of Software, Infrastructure, and Services, which are available as API Microservices. According to industry standards, these are hosted in a highly available cloud, ready for production and use.
Making the decision to start a software project can be complicated and intimidating. So, contact us at firstname.lastname@example.org to receive free assistance from our software experts and get started on your idea.
There is a better way to build apps and platforms —the #23blocksway.