PDCA Cycle -- A Necessary Tool to Quickly Improve Software Quality

2022-06-07 16:26:22
ZenTao team
Original 1925
Summary : In recent years, the scale and complexity of software projects are growing at an unprecedented rate, the market for Internet users is vast, and Internet companies and related software products emerge in an endless stream. Rapid response to demand changes is often the typical situation in the Internet industry.

PDCA Cycle -- A Necessary Tool to Quickly Improve Software Quality

In recent years, the scale and complexity of software projects are growing at an unprecedented rate, the market for Internet users is vast, and Internet companies and related software products emerge in an endless stream. Rapid response to demand changes is often the typical situation in the Internet industry. The rapid development and iteration of software products are significant for companies to occupy the market and seize business opportunities quickly.

With the rapid development of the industry, the original R&D model is gradually unable to adapt to the rapidly developing market environment. Therefore, the application of agile development mode was born. The agile development method is characterized by its simplicity, efficiency, flexibility, rapidity, and continuous delivery. This method has been adopted in more than 50% of software companies abroad, led by Microsoft, IBM, Google, and Amazon. Survey data shows that software companies that implement agile methods will significantly improve product time-to-market, delivery efficiency, and customer satisfaction.

1.Agile Development and Software Quality

The agile development model has been valued and used by more and more R&D teams and enterprises, but the product quality of many agile projects is not satisfactory. Moreover, the transition from traditional to agile is a giant leap for the quality management team, from concept to process innovation. In addition, to respond to the requirements of rapid iteration of agile development and deliver on time, teams often ignore the quality of software delivery. Choose to fix problems and release in a short time after customers find and report severe problems after fast delivery.

Therefore, quality problems are common in Agile Projects. Most teams treat quality problems with contempt and are even used to repairing them after customers have feedback. Frequent crashes, reboots, and out-of-the-box bugs will continue to reduce consumers' satisfaction with product quality, and some users even turn to other products. Every small quality problem will trigger a butterfly effect, which will gradually highlight the negative impact of software quality problems and significantly impact the enterprise's reputation and operation. In general, improving the quality of software can bring the following help to enterprises:

·      The earlier the bug is found, the lower the repair cost. Therefore, improving product quality management in the development process can significantly reduce costs.
·      High-quality software can protect an enterprise's reputation and increase production and income;
·      To help enterprises avoid losses due to software quality, user satisfaction is also directly affected by product quality.

1. Agile Development and Software Quality


Source:graph 1


2.PDCA Circle

The quality of software projects is becoming more and more critical, so it is significant to study how to improve the quality of software projects. To help enhance software quality, many companies began to pay attention to software delivery quality and project management. PDCA cycle is widely used in Chinese enterprises because of its ease of operation.

The PDCA cycle, also known as the Deming cycle, Dr Shewhart, known as the "father of statistical quality control," was the original conception of the PDCA cycle. Adopted, publicized, and popularized by Deming. It is the scientific procedure to be followed by comprehensive quality management. The whole process of complete quality management activities is the process of quality planning and organization, and this process is to operate continuously according to the PDCA cycle.PDCA cycle can be used in quality management systems and for high-speed iterative.


·    P — Plan;
·    D — Do;
·    C —Check;
·    A —Action

PDCA

Source: PDCA



3.Characteristics of the PDCA Cycle

PDCA cycle is a combination of the initials of the plan, do, check, and action in English, representing the four stages of quality management, respectively. These four stages constitute a complete loop, which is a cyclic process. PDCA is a cyclic and iterative process. It has the following characteristics:

·      PDCA cycle is a step-by-step process, and each cycle is a management cycle.
·      PDCA cycle focuses on the analysis of the current situation and the exploration of the causes, constantly determines higher-level quality objectives, and seeks opportunities for further improvement.

·      PDCA cycle itself is a dynamic process that can be used in the development of the whole project and the appropriate methods for specific stages.

3. Characteristics of the PDCA Cycle


Through this model, we can examine projects and products, affirm and appropriately promote successful experience, standardize it; summarize the lessons of failure, and put unresolved problems into the next PDCA cycle. This cycle continues until the problem is successfully solved. In the specific implementation process, the PDCA cycle can be subdivided into eight steps in the following figure in the four modules of planning, implementation, inspection, and processing. 


3. Characteristics of the PDCA Cycle


Source: graph2


Throughout the project development cycle, the PDCA cycle itself is a dynamic process that can be applied not only in the development of the entire project but also in the process of specific stages.

4. How PDCA Cycle Improves Software Quality

(1) PDCA Cycle Per Iteration

Each iteration of software development is a PDCA cycle, which goes through four stages: Planning (requirement analysis), implementation (code development), inspection (product testing), and processing (release and launch). But the launch does not mean the end. It is necessary to continuously collect feedback from internal and external aspects, identify improvement opportunities, formulate improvement plans, and then implement strategies and monitor and test the results. Realize a virtuous circle at the two levels of the inner ring and outer ring.

(2)PDCA Cycle of Product Functions

In the PDCA cycle of each iteration of software development, the PDCA cycle corresponding to each link can also be separated according to the three main aspects affecting software quality. Usually, the quality problems of software projects mainly focus on three factors: product function, R & D process, and team cooperation. Then we can start from these three aspects. Based on each iterative PDCA cycle, we can introduce the PDCA cycle in the three aspects affecting software quality simultaneously. Form the mode of internal and external double circulation.


The product here can be the product that is finally delivered to the user, or it can be the result of the stage or process, such as the requirements document in the requirements stage. If the requirements are not researched, the products in the development stage will be affected. Therefore, when the PDCA cycle process at this stage is alternated, special attention should be paid to the product requirements of input and output. If quality problems are found, they must be returned to the previous process and take corrective measures to give advanced quality control and intervention. To improve the quality of the product function stage, it is necessary to optimize the following aspects as much as possible:

·      Standardized R & D template;
·      Refined requirements document;
·      The test moves forward, and the defects are found and repaired early;
·      Reduce the cost of Bug repair;
·      Establish a transparent demand research and analysis system;
·      Establish a perfect demand review and confirmation system.

(3)Development Process PDCA Cycle

The R&D process is divided into two types: management and technical. The management process includes planning, monitoring, resource allocation, and organizational work. A software engineering approach characterizes the technical process. Both the technological revolution and the management process directly impact the quality of software delivery. In the research and development process, the PDCA cycle model is introduced, which can quickly and accurately find problems and effectively ensure software quality. The quality improvement in the R&D stage needs to be optimized in the following aspects as much as possible:

·      Code design specification
·      Code document specification
·      Code review specification
·      Timely Bug feedback mechanism

(4)Team Collaboration PDCA Cycle

Team collaboration PDCA Cycle refers to the time, human resources, capital and equipment required to complete the entire project. People are the most uncontrollable factor in the whole project, and effective management of people is a prerequisite for quality assurance. If time and funds are not guaranteed, product investment and R&D investment will be significantly reduced, and product testing time will also be remarkably compressed, ensuring software quality.

·      Strengthen team communication and build an agile team;
·      Strengthen customer communication and clarify project requirements;
·      Focus on internal team feedback;
·      Develop effective improvement strategies based on the implementation and feedback of the PDCA cycle.


Source:graph


With the continuous development and improvement of the software R&D industry, the quality management of software projects has been paid more and more attention by more and more enterprises. The current software quality improvement and control mainly focus on monitoring and evaluating the overall quality situation in the fields of product function, the R&D process, and team collaboration. Through the dynamic cycle mode of PDCA, refinement, accuracy, and real-time software quality management can be effectively achieved. Help enterprises achieve predictable, controllable, improvable, and optimizable software quality and provide strong support for improving enterprises' comprehensive strength and continuous improvement of R&D capabilities.


Read More:

Talking about Agile and CMMI

Extreme Programming: On-Site Customer


Write a Comment
Comment will be posted after it is reviewed.