Design and Application of New Quality Improvement Model: Kano Lean Six Sigma for Software Maintenance Project

The continual changes in requirements impact the expectation about the quality of the product as well as the process, namely software project. In this paper, the various limitations that still exist in the software development process are presented. It is aimed to develop a new quality improvement model to enhance software quality without increasing effort, cost, and time. To achieve a software project of expected quality, a new quality improvement model, namely Kano Lean Six Sigma model (KLSS), is proposed. The KLSS model is used to identify the exact requirements for the software project from the customer’s perspective. KLSS helps to categorize the requirements based on the nature of the defect, to eliminate the requirements of non-value processes and to implement the main functionality to meet the expectations of the customer. As regards our proposed software maintenance project, the method of development has been suitably tested in a leading IT company. The model has shown greater improvement in quality, cost, and efforts.


Introduction
Software development process provides an important method for organizations to rapidly apply knowledge within key B G. ArunKumar aarunkumar81@gmail.com R. Dillibabu dillibabu@annauniv.edu 1 Department of Industrial Engineering, Anna University, Chennai 600025, India strategic and operational processes. The process allows the firm to use present knowledge through incremental changes to existing systems (e.g., maintenance and support activities) besides enabling the exploration of new avenues for action through the creation of new systems (e.g., new software project initiatives). A well-defined software development process can provide an effective product, thereby paving the way for achieving long-term success in the market [1]. In contrast, an ineffective software development process can hamper the development and utilization of organizational knowledge and prevent timely responses to market changes [2]. The software development process fails due to a number of reasons [3]. Some of the issues are mentioned below: • Identifying various requirements and noting changes taking place over a period of time. • The requirements specified not being clear enough for the development phase. • Each phase of the software development life cycle having a testing process. • Ensuring that every feature/characteristic is computed before proceeding to the next one. • Involving the customer in the entire development process.
• The support being limited for distributed development environments and involving large teams.
To gain a comprehensive understanding of customer's requirements and satisfaction levels, Kano et al. [4] proposed a two-dimensional quality model (Kano's model) to create the relationships between quality attributes and customer satisfaction, by modifying the two-dimension quality model developed from the dual factor theory proposed by Herzberg et al. [5]. The modified model can effectively evaluate and improve quality performance or develop new products and services to satisfy the needs and expectations of customers [6][7][8]. Hence, Kano's model has been widely applied in various fields [6][7][8][9][10][11][12][13][14] and proved as a considerably useful tool for quality attribute classification and customer satisfaction enhancement. Lee et al. [7], Lee and Huang [8], and Hu et al. [15] proposed a quantitative analysis model of Kano's model to make improvement analysis and decision making more accurate. With the Kano's model, we can determine the customer satisfaction levels. It also helps categorize the customer requirements based on needs, providing a solution and better understanding of their needs and expectations.
More recently, Lean Six Sigma has become more popular as organizations strive to meet the quality objectives defined by their customers. However, Lean Thinking emerged from the Japanese automobile and started receiving attention in the USA and Western Europe in the 1980s. Similarly, Six Sigma was introduced in the 1980s by Motorola. However, this concept is the result of a series of developments in quality management that started in the early 1930s. The importance of combining the strength of two approaches was highlighted by Hoerl [16] and Antony et al. [17], and they discussed the theoretical possibility of integrating these two approaches. Arnheiter and Maleyeff [18] made it clear that when they used the term Lean Six Sigma, they referred to an integrated entity. By combining Lean Thinking and Six Sigma Ricondo and Viles [19] noticed a considerable change and argued that the variability reduction focus of Six Sigma enhanced the robustness of fragile Lean systems. They identified some natural conflicts while applying some methodologies to the existing system but at the same time he was attracted toward the approach of integrating Lean and Six Sigma advantages.
The experiences of de Koning et al. [20] saw the successful implementation of Lean Six Sigma in the organizational infrastructure, by applying the idea within the project framework. Byrne et al. [21] agreed that Lean and Six Sigma balanced each other and characterized a powerful union that eliminated process waste and variation in a process. Carleysmith et al. [22] narrated his experiences of the implementation of Lean Thinking and Six Sigma in pharmaceutical research and development (R&D). He successfully improved the process of new pharmaceutical manufacturing. Perrer et al. [23] examined the integration of Lean principles with Six Sigma methodology as a logical approach to continuous improvement and provided a conceptual model for their successful integration. Gamal Aboelmaged's et al. [24] study clearly showed that only explicit barriers considerably influenced Six Sigma implementation in relation to dimensions of organizational factors. Vinodh et al. [25] and Vinodh and Prasanna [26] identified that the Lean anchorage in the LSS process was rather weak and that it had to be enhanced for improving the effectiveness of LSS approach. Later, Assarlind et al. [27] gave a theoretical foundation for LSS by studying and analyzing its practical applications. As a result, it gave a new factor of significance for successful Lean Six Sigma applications, such as having a clear organization that guides the company in terms of what mechanism of Lean Six Sigma to be applied and what competences to be involved in various projects depending on its capacity and complexity. Thus, LSS methodologies serve to improve processes, eliminate product or process defects, reduce cycle times, and accelerate processes.
This paper aims to overcome the issues in software development process by combining the models of Kano and Lean Six Sigma to develop a suitable new model. The Kano Lean Six Sigma Model (KLSS) will have the methodology and tools for identifying the customer requirements. It will categorize customer requirements based on the nature of the defects and will eliminate unwanted process and requirements. Finally, it will reduce the variation in the process, thereby increasing the speed of project delivery.

Related Works
This study focuses on software development by applying the Kano model during the requirements analysis phase and to verify the feasibility of applying Lean and Six Sigma for software development and for software application projects. Kano et al. [4] investigated the quality in two aspects such as subjective and objective. So it proposed the two-dimensional recognition system which replaced the one-dimensional system to categorize and identify the customer attributes. Xu et al. [28] proposed a method used to analyze the customer satisfaction. It supported two methods for decision-based product design. The product design analyzed the customer needs, and configuration index made decision factor of product configuration design. So, it was used to visualize the impact of the requirements on customer satisfaction. Sharma et al. [29] integrated the Lean principle with Six Sigma practices which used a different number of methods used to reduce the cost of the manufacturing process. This process improved the customer satisfaction level in battery industries. Furterer and Elshennawy [30] presented the TQM-based Lean Six Sigma approach for applying to the local government to improve the quality, decrease the variation, and remove the waste from the organization. So, it proposed continuous process improvement in the public finance department. Marti [31] applied Lean and Six Sigma process using the data and statistical analyses to measure the quality and improvement of the organization by identifying and removing the threats in the process. This paper applies the Lean and Six Sigma process to the Pharmaceutical Industry for improving the quality by focusing on the customer needs. Chao et al. [32] developed the integrated Lean Six Sigma methodology for improving the quality of the services. This process focused on satisfying the customer requirements and produced the linear process output in the different service industry. Kumar et al. [33] used Lean Six Sigma process methodology to eliminate final product errors. The lean tool combines with Six Sigma DAMIC methodology for achieving the customer's fidelity and improving the bottom line result. D'Angelo and Zarbo [34] implemented the method for achieving the zero defect performance goal. For increasing the quality and the performance, a novel data collection was used to achieve continuous improvement in the service industry. Tonini et al. [35] introduced the Lean with Six Sigma process for achieving the error-free products. This approach helped to identify the project mistakes easily so that the projects could be finished more quickly and effective results could be got. Kanakana et al. [36] applied the Lean Six Sigma method to the engineering education for improving the throughput of the students and faculty revenue. From the survey, it becomes clear that Kano model could be integrated with any model for identifying and prioritizing customer requirements. Xu et al. [28], Mcllroy and Silverstein, and Sharma [29] showed that Lean Six Sigma could be implemented in the non-manufacturing and service industries and showed a significant improvement. Likewise, implementation of Lean Six Sigma was initiated in software development process by Tonini et al. [35]. Later, a software development approach was created using Lean Six Sigma to hold the continuity and change requirements by Pillai et al. [37,38].
The following section describes the proposed Kano Lean Six Sigma model construction procedure, implementation details, and the related result analysis.

Construction of KLSS Model
The KLSS has been developed based on two important powerful integration models, namely Kano and Lean Six Sigma. The integration of these models has been done in a stagewise manner. The validation process of the model has also been built in a stagewise fashion. The framework of KLSS is shown in Fig. 1. The following are the steps for the development of KLSS methodology: Step 1. Get the product requirements from the customers with all its functionalities and features using Kano model.
Step 2. Categorize the requirements and prioritize them based on the expectation of the customer using Kano model.
Step 3. Document the requirements of the product and the process of the software project clearly.
Step 4. Identify the critical-to-quality (CTQ) in the software development phases and eliminate the unwanted process and implement the main functionality in the process.
Step 5. Calculate the risk priority number (RPN) and check whether any specific changes in the process have their causes and desired effects.
Step 6. Document the issue solving approach and product information using thought process mapping (TPM).
Step 7. Create a process map for the new process to know how the process works today.
Step 8. Perform Pareto Chart analysis and brain storming techniques to encourage creativity Step 9. Identify non-value-added process using failure mode effective analysis (FMEA) Step 10. Compute the risk priority number (RPN) using the formula RPN = Severity × Occurrence × Detection Step 11. Eliminate time delays in the process using thought process mapping (TPM) Step 12. Check if the specific changes in the process have desired effects and their causes Step 13. Finalize the Process Improvement Method Initially, the KLSS model begins with the getting of the requirements from the user, and based on the expectation from customer it will prioritize the requirements using Kano model. During LSS implementation process, it will identify the CTQ in the requirements. Then, the risk involved and its desired effects will be assessed, and finally through brainstorm sessions and thought process mapping, all issues will be sorted out with the customers. A process map is created for the new process where the new process should eliminate the waste process or non-value process in the current process (e.g., requirements already implemented or solved) and the failure mode effective analysis (FMEA) is performed and the RPN value is calculated for the current process. By comparing the results of RPN values before and after applying KLSS model, changes, if any, are found and if there is a big change in the process, the current process is made the standard one and the new process improvement model is followed. These steps which will be implemented in an application development project are listed below.

Application and Implementation of KLSS
A case study was conducted in a leading software company in India. The company is CMM level-5 certified in developing software projects for embedded software applications. It uses the online review process for software quality improvement.
This project is basically used for upgrading the embedded hardware and software functionality of devices in photocopier machine. The Software Upgrade can be performed with the functions listed below: (i) Power On upgrade (ii) Manual network upgrade The following are the implementation details: (i) The Kano model was used to prioritize the requirements based on the ranking in the customer's expectation and time of delivery of requirements (see Table 1; Fig. 2). (ii) Thought process map of Scanner copier software upgrade can be plotted, and it provides a visual map that tracks the development of ideas and issues as well as the extent of inquisition. (iii) The existing process is mapped using process map As-Is, and the estimated time for the existing process is calculated based on the defects or issues Per Kilo Lines of Code(KLOC) (see Fig. 3). (iv) Critical-to-quality (CTQ) details are listed in the existing project which reveals information to code developers and external code reviewer about defects or issues to be overcome using KLSS model (see Table 2). (v) The KLSS model includes occurrence rating, severity rating, and detecting ability rating table for finding the defect criteria (see Table 3). (vi) The KLSS model is implemented and remedial measures in developing process are carried out with the help of FMEA and the process map for 'Should-Be plotted' of new process, thereby validating KLSS model using the variable RPN which shows that there is a significance in terms of quality, time, and effort in the implementation of KLSS model (see Tables 4, 5; Figs. 4, 5). (vii) Finally, the new controlling process is identified with various new methods, frequency of audit, and recom-   Table 6).

Kano Model for Getting Customer Requirements
The Kano model was applied for getting customer requirements and to improve the quality of project delivery. The following are the implemented details: (i) The Kano model is used to get the voice of customer requirements during the maintenance of the project; it addresses all the requirements from different perspectives. (ii) It will categorize the requirements in different quality attributes as Attractive quality attributes requirements (A),One-dimensional quality attributes Requirements (O), Must Be quality attributes (M), Indifferent quality attributes requirements (I), and Reverse quality attributes requirement (R). (iii) For each requirement, weight will be assigned based on the quality attribute, and it will be prioritized and importance ranking will be calculated. (iv) Customer satisfaction and dissatisfaction level will be calculated. (v) Finally, the customer importance requirements will be ranked and requirements with high priority will be implemented first. (vi) Then, the least priority requirements will be implemented in the next iteration of implementation.
Calculation of Kano model is performed based on the following methods for various requirements, and importance ranking is identified for embedded software applications (see Table 1).
From Fig. 2, it is identified that requirements no Q.2, Q.1, and Q.3 have high priority and need to be addressed first by the developer and the importance of the requirements has been ranked, which makes the developer fix the issue in the first iteration itself.

Mapping Ideas and Innovation Using the Thought Process Map (TPM/TMAP)
A visual representation of team's thoughts, ideas, and questions pertaining to the accomplishment of the project goal is necessary. It is an effective tool for ensuring that all potential questions and issues of the project have been both identified and addressed from the beginning of the project to its completion. It also provides an effective way to brainstorm, take notes, gather and view information, and summarize the data. It reminds the team of the assumptions made, the actions that followed, and the latest status of the project. It is an effective way of communicating as well as consolidating information from a single person or among various teams. Finally, it provides a visual map that tracks the development of ideas and issues as well as the extent of inquisition. It helps to find the solution for the problem in a much easier way, and it takes the problem to the threshold of the solution by getting different ideas and thoughts of different customers. TPM will be helpful in getting a clear idea of the process of finding what the customer is expecting in the end product.

Process Map As-Is for Existing Process
Currently it depicts a process; "As is" process maps are usually characterized by several input options, bottlenecks, multiple handoffs, inspections, and rework loops. It is the starting point to the understanding of how a process runs. It becomes a "Should Be" map once all non-value-added activities have been removed from the "As Is" process, after careful analysis. For the existing software, the implementation process has been drawn as shown in Fig. 3 and the steps are listed below: Step 1. Collect the defect metric from the customer.
Step 2. Give clear quest status not completed to the defect of the module owner.
Step 3. Otherwise reassign the defect to the next module owner.
Step 4. Check whether the issues are related to the same module or a different one.
Step 5. Analyze and fix the issue and perform the complete unit test.
Step 6. Check the status in clear quest and find if the issue solved changed the defect status in clear quest as completed.
Step 7. Integrate all modules and fix the defect in development integration testing (DIT).
Step 8. Otherwise prepare and release new built product.
Step 9. End the development process.
Before performing the operation, we need to identify the number of classified defects and the number of defects per KLOC and we need to identify the test report and also we need to identify the number of critical or urgent issues where we need to make an analysis of issues whether we are going to reproduce the issues or they have been misjudged by the customer but actually implemented.
If a defect or issue is going to be reproduced, the following information is required for implementing the module: they are requirement document, test scenario description, tester inputs, test case, fixed issue list, and module knowledge. In the existing process, for all the defects or issues, all the above operations need to be performed; this results in waste of time and man-hours. A sample critical-to-quality defect list is shown below in Table 2 and the man-hours for the current process for identifying and eliminating the issues and defects have been calculated.

Failure Mode Effective Analysis
FMEA is one of the first systematic techniques for failure analysis. An FMEA is often the first step of a system reliability study. It involves reviewing as many components, assemblies, and subsystems as possible to identify failure modes, and their causes and effects. For each component, the failure modes and their resulting effects on the rest of the system are recorded in a specific FMEA worksheet. FMEA also helps to identify the value and non-value-added process  If the process data analysis shows greater than 80 % of defects attributable to the sub-process failure Frequently 8 If the process data analysis shows greater than 40 % of defects and less than 80 % of defects attributable to the sub-process failure Sometimes 4 If the process data analysis shows greater than 10 % of defects and less than 40 % of defects attributable to the sub-process failure If the process data analysis shows less than 10 % of defects attributable to the sub-process failure

Detection Rating Criteria
Detectability rating process FMEA

Difficult 10
No defined methods for identifying the process error; only the output product analysis leads to detectability Can be identified in the exit phase of the process or subsequent process entry check Process has built in checks for identifying subprocess failure steps through which we can find the root causes for the existing process inefficiency. This will identify and eliminate the risk factors of each process to avoid/reduce failure. For the current process of software implementation, FMEA has been plotted in the work sheet. FMEA model includes occurrence rating, severity rating, and detecting ability rating. Table 3 can be used for finding the defects criteria for the current process and risk priority number being calculated.

Process Map Should-Be for Current Process
A depiction of a new and improved version of a process where all non-value-added steps have been removed is based on: • Everything being done right the first time • Customer requirements built into the process • Flexibility to meet multiple customer types or requirements • Design with "process" versus "functional" mindset • Limited handoffs and inspections • Easy to document, manage, train, and control • Several possible inputs • Bottlenecks eliminated • Handoffs, inspection, and rework loops no longer needed The following steps are followed in the process map Should-Be for the current software implementation of embedded software applications process which leads to an improvement in software implementation approach, thereby reducing the time and work man-hours. The process map Should-Be for the new process of software implementation is shown in Fig. 4 and the implementation steps are listed below: Step 1. Collect the defect metrics or issues from the customer.
Step 2. Classify the issues based on the priority and severity of defects.
Step 3. Review the defects and check if they are valid or not; if valid, continue the process; If not, close the defect.
Step 4. If the defect is valid, assign defect or issue to module owner.
Step 5. Check the nature of defect or issue, i.e., whether it is new defect or reproducible defect.  Table 4 Countinued...    Step 6. Analyze the dependent module and fix the issue Step 7. Validate the module and check whether the fixed defect will affect other modules.
Step 8. Perform code review process by peers and experts and the review reports to be updated.
Step 9. Perform a unit test for the corresponding module.
Step 10. Integrate the module and perform the DIT.
Step 11. If any issue is found during the DIT, fix it.
Step 12. Update the unit test report, DIT report, release the note with all the known issues.
Step 13. Release the built product after testing. Figure 4 shows that the new process is capable of addressing all the issues or defects in the initial level of the process and later shows that a large volume of non-value-added process has been identified and discarded in the initial level itself. Therefore, a huge amount of work man-hours has been reduced. Meanwhile, it leads to faster delivery of the issues or defects being rectified, thereby preventing the quality of the project from being affected. Based on the FMEA, it is easy to identify the potential modes of failures. Its effects can be visualized through this severity, occurrences, and detection being rated for each failure, and the RPN values (risk priority number) are calculated for current process and in the same way the RPN is calculated for the new process, with all data being recorded in the work sheet. Finally, the Pareto chart is drawn between RPN 1 and RPN 2 to identify any changes or improvement in the current process. From a comparison of the results of RPN1 and RPN2 (Fig. 5), it becomes clear that the RPN 2 process is more efficient and effective in handling the defects in the current process. The total time saved as a result of this process (i.e., improvement) is 1399 man-hours.

Man-hours calculation:
Project

Controlling the New Process improvement
In Table 6, we have listed some of the methods to track the process at each stage, recommended action to be taken, when defects or issues occur and finally the responsibility of the person. These steps will help to control and maintain the process.

Test of Hypotheses
Hypothesis testing helps to make a decision on the basis of sample data and to find whether a hypothesis about the population is true or false. Statisticians have developed several tests of hypotheses (also known as tests of significance) for the function of testing of hypotheses which can be classified as (a) parametric tests or standard tests of hypotheses and (b) nonparametric tests or distribution-free test of hypotheses. Parametric tests usually assume certain properties of the parent/universal population from which we draw samples. So, we have chosen parametric tests for testing our project samples [39].

Important Parametric Tests
The significant parametric tests are (1) z test, (2) t test, (3) X 2 test, and (4) F test. All these tests are based on the assumption of normality; that is, the source of data is considered to be normally distributed. Our project sample data size is small; so, we have chosen the t test. The relevant test statistic, t, is calculated from the sample data and then compared with its probable value based on t distribution (to be read from the table that gives probable values of t for different levels of significance for different degrees of freedom) at a specified level of significance concerning the degrees of freedom for accepting or rejecting the null hypothesis [39]. Application Name: Software upgrade scanner copier machine Null Hypothesis (H 0 ): There is no significant difference between RPN1 and RPN2, that is, there is no significant difference between current status and revised status. Alternate Hypothesis (H 1 ): There is significant difference between RPN1 and RPN2, that is, there is significant difference between current status and revised status. Number of samples N = 10, SQRT(N ) = 3.162 A Paired t test was conducted for the following Table. 8, which was taken from the Table 7. * The t test has been carried out in order to check if there is any significant difference between RPN1 and RPN2 in Table 9. P value Calculation t value = 2.50 Degrees of Freedom DF = 09 The two-tailed P value equals 0.0339 < 0.05, so null hypothesis is rejected. By conventional criteria, this difference is considered to be statistically significant.

FMEA Validation Result for Software Upgrade Scanner Copier Machine
(i) 1.83(t tabulated value) <2.50(t calculated value), so null hypothesis is rejected. (ii) Pvalue = 0.0339 < 0.05, so null hypothesis is rejected. (iii) There is significant difference between the process obtained during KLSS implementation and Process improvement after KLSS implementation Shown in Tables 8 and 10. (iv) There is higher significance between RPN1 and RPN2, that is, there is difference between current status and revised status. (v) The results can be used further for continuing improvement process until the process reaches to a satisfactory level.

Conclusion
In today's highly competitive world, it is indispensable to deliver the software projects in time with optimum cost and good quality. This forces all the software development companies to apply standard quality model and improvement techniques. This paper has discussed the development of a new model, namely the KLSS, which is used to improve the software development process. The framework proposed shows that an application which uses the KLSS model will serve as a better model for finding actual requirements and expectations and the development process has been effectively managed. To compete in service businesses, KLSS will serve as a better model for managing the number of defects or issues, eliminating non-value-added process and producing high-quality software in the software industry. From the literature review, it was found that very limited work had been done on industrial practices, especially software industry for process improvement. This study has addressed the all effective ways of improving the software development process in all aspects. The attempt in the software development process of these models is still in its primitive stage. Some researchers have attempted to modify the existing models for software projects. But they lack practical applicability. The KLSS model presented in this paper has been demonstrated using embedded software application project, and it has been successfully validated using the statistical inference. As regards the future direction, it is suggested that the KLSS quality improvement process model can be implemented in smalland medium-size enterprises (SME), because the results presented in this paper are mainly related to large companies. It will be very useful to assess how SMEs adopt the KLSS models proposed and how these models impact the companies' performance.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons. org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.