According to the PwC research, which involved over 10.5 thousand projects, only 2.5% of companies successfully completed 100% of the projects. The rest were either unable to achieve all of their goals or faced a lack of time and budget. Problems that arise during IT development lead to significant expenses. For example, American companies are losing from 50 to 150 billion dollars on this! One of the reasons for the increase in costs is the project rework.

 

REWORK AS A FACTOR IN INCREASING PROJECT COSTS

 

Cost of Rework in Software Development, when I write "Rework" I mean the elimination of defects found in the system after launch. As a rule, it takes 30-50% of the total effort. It includes fixing technical errors or working with "missed requirements". In the second case, we are talking about the non-compliance of the project with the initial conditions. So, any project is considered in the context of two indicators: how much it should cost and how much it will cost, taking into account the introduction of all changes.

 

Rework is a part of the development of most projects, but it requires impressive costs. Its cost can be up to 5 0% higher than the total costs! A logical question arises: why is it so hard to avoid? The difficulty is that the need for revision becomes obvious not immediately but only after the software launch. You cannot really assess the quality of its functioning right up to the testing stage, and some errors are detected even after the software product is put into operation. All this makes rework almost the most expensive stage of development.

 

According to expert data, software developers rewrite, on average, about 26% of the code. For medium-sized businesses, these are huge costs: depending on the scale and complexity of the project, they amount to more than $ 4.7 million. Looking at DORA’s study conducted in 2017, we will see that the cost of rework depends mainly on the IT professionalism of the performer.

 

So, the cost of prevented rework per year is $ 13.4 million for large companies having their own software and 8,500 technical employees in the state, $ 3.2 million for medium-sized business entities (2,000 technical employees), a nd $ 393.8 thousand for small ones (250 employees).

 

Source

 

However, we should remember that it is possible to achieve decent results only if the project is dealt with by professional IT specialists with a high level of skills and impressive work experience.

 

WHAT ARE THE REASONS FOR THE REWORK AND HOW TO AVOID IT?

 

One of the key reasons for problems with a project is the lack of clear requirements for the software. Perhaps the list of requirements was not fully provided, or there were changes during the development process that were not documented. Or the developer and the customer have different views on project management, which causes additional difficulties for all interested parties. Sometimes the process is hampered by limitations beyond the control of the developer, for example, lack of necessary documentation and tight deadlines, which makes it impossible to devote enough time to detecting and fixing errors before launching the software.

 

There are methods to reduce the rework. Why don’t companies use them? Most consider this process to be inevitable. However, not everything is as complicated as it seems at first look.

 

After analyzing numerous studies, we have identified the most effective ways to prevent rework:

 

1. STANDARDS AND PROCEDURES

 

Establishing common standards and procedures avoids repeated mistakes. Standards can affect products, such as coding style, and processes, i.e. methods of product development.

 

Strict adherence to established standards and rules makes it easier to understand the documentation (test plans, programming manuals, etc.), choose the best methods for detecting and fixing errors, and reduce the time for performing one-time processes. All this leads to improved software quality, reduces the probability of serious errors, and eliminates the need for rework.

 

2. AUDITING

 

Another option is to conduct peer reviews of products and processes for detecting failures. Auditors study the entire system or part of it to find defects and inconsistencies.

 

Examples of the audit are:

 

  • assessment of the current state of the software in comparison with benchmarks; 
  • technical review, i.e. checking the system work and confirming the quality; 
  • analysis of the completed project to determine the causes of the failure and find ways to fix errors.

 

A professional audit helps find any defects (in the code, specifications, design, or documentation)that may lead to reworks at the early stages of the product life cycle. An audit allows you not to wait until the software is put into operation but to eliminate errors immediately after they are identified.

 

3. CONFIGURATION MANAGEMENT

 

The purpose of SCM, software configuration management, is to ensure consistency of product characteristics in accordance with requirements and technical documentation throughout the entire life cycle. SCM is essential when you need to make sure that the system works as intended and all planned changes are included in the release and documented.

 

Using SCM tools, you can manage multiple versions of a product and control any system changes. It is a proven way to improve product quality and reduce rework time.

 

Despite the many ways to improve software quality, it is hardly possible to eliminate improvements completely because not all problems can be immediately detected after they arise. However, auditing, reviewing, managing system changes, and adhering to standards help avoid significant problems and minimize rework time.

 

It applies to any IT project, including those related to mobile development. In this case, the timing depends not only on the app's complexity but also on the number of devices and platforms on which it will be installed. Remember that a project for Android OS takes more time than for iOS because testing is performed on different devices. The absence of timely audit and app tests can lead to severe failures: freezes, problems with switching modes and screen resolution, errors in communication channels, security vulnerabilities, etc.

 

As practice shows, it is easier and cheaper to prevent errors in a project than fix them. It is worth listening to DORA experts and hiring professional IT executives who minimize the revision cost, saving you hundreds of thousands of budget.