Published on


Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. th 19 International Conference on Production Research SW-DMAIC: A SIX SIGMA NEW GENERATION FOR IMPROVING SOFTWARE DEVELOPMENT PROCESSES A.C. Tonini, F.J.B.Laurindo, M.M.Spínola (Antonio Carlos Tonini, Fernando José Barbin Laurindo, Mauro de Mesquita Spínola) Production Engineering Department, Polytechnic School, University of São Paulo University, Av. Prof. Almeida Prado, 531 – 1. andar, Cidade Universitária, São Paulo, São Paulo, Brasil Abstract Six Sigma has provided significant financial results to the companies adopting it. Its strength lies in the application of a strict and effective method to solve problems, the DMAIC (Define-Measure-AnalyzeImprove-Control). However, the adoption of this method for the services area, such as software development, requires several adaptations so that it can produce the expected results. This paper presents the SW-DMAIC method, which was structured according to the results of a Multiple Case Study. It was observed that Six Sigma processes must be present when the philosophy is introduced in the company, at the introduction of all the improvements or problem solving development and software maintenance projects. Moreover, to enjoy the benefits, there is no need to execute all the activities in all the improvement projects. Keywords: Six Sigma method, Six Sigma philosophy, Six Sigma recycling, Six Sigma implementation. 1 INTRODUCTION Six Sigma is a quality-oriented methodology that works on aligning the internal procedures for reducing processes variability with clients’ expectations. The fascination it causes in the companies derives from the significant financial results provided [1]. Besides the industrial environment, where it originated, it has rapidly been gaining notoriety in the service sector. For the software developer companies that apply maturity models, it has shown to be the ideal complement in quantitative management and in continuous process improvement [2]. As the operation in the industry tends to be more stable, problem identification tends to be faster, which guarantees the efficiency, efficacy and excellence of the DMAIC method. In software development, as in other types of service, several occurrences such as inaccuracy in problem identification, assessment subjectivity and the constant client-user presence contribute to hinder problem identification and its causes, forcing the choice for a more adequate method than DMAIC [3]. This paper presents SW-DMAIC, which is a method oriented for improving software development processes, built according to the perception of the needs of some software developer organizations and on the emergence of several other methods coming after DMAIC. Its structuring results from a research counducted by means of a Multiple Case Study. It was observed that Six Sigma processes must be present, besides the specific improvement projects, at two other moments: at the introduction of its philosophy in the organization, at the introduction of each Six Sigma project, and when the process is effectively conducted. Moreover, it was evident that the benefits provided by Six Sigma may be verified even if the organization does not execute all the activities proposed by the Six Sigma, or if the organization is not a high maturity company, either. 2 SOFTWARE DEVELOPMENT Software development is formed by productive processes (back office) and service processes (frontline) in which several people participate and do not always communicate in all the development phases [4]. At the same time that a physical product is generated for the client, the development is intensive in service rendering before an activity is started and after the product delivery. For this reason, one should consider the value provided to the client (whose assessment base is structured on the developer figure), the alignment of the works (executed in the frontline and at the back office, which are differentiated by a greater or lesser contact with the client) and the intangibility of services (combining the moments when the work is realized and effective consumption) [5]. The software clients’ expectation is that the product works correctly and produces the results which is has been designed for. For this reason, the software operationality is the key-element for its satisfaction, quality, efficacy and efficiency [3]. In the manufacture processes, the production capacity substantially depends on the equipment used and, therefore, the specifications are usually known a priori and are only changed in function of modification in the equipment. In software development, specifications are not always available, besides undergoing constant modifications, requiring constant monitoring and attention on the part of the managerial body [6]. The problems and process improvement opportunities are many and are related to organization (culture, policy, relationship), receivers (quality, satisfaction, requirements), developers (understanding requirements, competence, creativity), management (estimations, cost, quality, resources allocation, communication), process (quality, assertivity, standardization, documentation, standards), technology (compatibility, portability, currentness), physical resources (availability, sharing), intermediary products (correctness, availability, revision), software product (quality, errors after delivery, longevity, time between flaws) [2] [4]. 3 SIX SIGMA Six Sigma is an organized methodology hat guides the continuous improvement of production processes of an asset or service, by optimizing operations, systematically eliminating defects, flaws and errors, taking into consideration all the important aspects of the business that
  2. 2. may differentiate the company for its clients (Hunter, 1999). It provides the necessary discipline to guarantee that work will be done on the right problem, the root cause will be identified and the best solution will be determined and implemented [7]. Six Sigma counts on two approaches, an administrative and a technical one. The first is directed to the choice of the problem to be solved or to the process to be improved, the goals to be attained, the aims to be followed, the projects to be executed and the people with the necessary abilities to successfully execute the improvement projects [8]. The technical approach focuses on processes improvement, with an increase in the average performance level and with a reduction in variability [7]. 4 DMAIC METHOD Motorola developed the first Six Sigma implementation method aiming to solve a series of problems already known. The method was developed by Dr. Mikel Harry and was called MAIC (acronym of Measure, Analyse, Improve and Control). It consisted in four stages: Measure (assessment of data collection about the present process situation), Analysis (understanding the causes of the present performance of a process), Improvement (elaboration of improvement alternatives in the process performance) and Control (procedures to keep the improvements obtained and to make them long-lasting) [9]. GE, unlike Motorola, did not count on a perfect knowledge of the problems and, therefore, had to initially map what the quality problems were to solve them in the sequence. Moreover, it intended to use Six Sigma for the new problems, as soon as these emerged and, thus, the method should also contemplate problem identification. Taking advantage of te experience acquired at Motorola, Dr. Harry elaborated the DMAIC method, including in the original method an initial stage for defining the problem to be solved [8]. 5 OTHER IMPLEMENTATION METHODS With the intensification of the use of Six Sigma, other implementation methods began to emerge and to gradually meet new challenges. Table 1 presents a summary of some methods, stressing the application of the method: if for (a) the introduction of the Six Sigma philosophy in the organization, if for (b) the introduction of new Six Sigma projects or for recycling its main concepts and for (c) executing their own projects (“Y”, when there are strong evidence and “N”, when there are not evidence) [10]. Table 1: Summary of others methods Application (a) (b) (c) Breakthrough Y Y Y Strategy Method Roadmap Characteristics Emphasizes the Six Sigma processes management under three perspectives: business, operation and process. The stages are the following: acknowledging, defining, measuring, analyzing, improving, controlling, standardizing and integrating [8]. Y Y N Distinguishes the managerial activities: estimating efforts, costs and schedule; disseminating to all those involved; training executives; choosing a consultancy; electing the person in charge and implementing the projects [11]. Six Sigma N Roadmap Y S Defines as strategies: improvement, reengineering and management. The stages are: identifying, defining, measuring, prioritizing, expanding and integrating [12]. Eckes Y Y N Focuses on the activities: defining aims, obtaining agreement, (re)creating processes, identifying the people in charge, measuring, selecting projects and managing the Six Sigma process [13]. New Sigma Six Y Y N Emphasizes the operational and strategic alignment. The activities are the following: aligning interests; establishing goals; setting autonomous teams; accelerating results; managing resources and making them available. The stages are: measuring, training and implementing [14]. DMAV N N Y Oriented to new services and products. Replaces the stages for improving and controlling DMAIC to design and verify [15]. IDOV N N Y Oriented to new services and products and its activities are: identifying, designing, optimizing and validating [15]. DMEDI N N Y Oriented to new services and products and its activities are: defining, measuring, exploring, developing and implementing [16]. 6 SIX SIGMA LIMITATIONS FOR SOFTWARE DEVELOPMENT In general, the use of Six Sigma in software development is still restricted to large organizations. However, with the popularization of maturity models, such as Capability Maturity Model Integration (CMMI) of the Software Engineering Institute (SEI) and the quality evidencing requirements made by the software consumer market, this situation is expected to be reverted, thus significantly increasing the number of Six Sigma adepts [17]. The CMMI defines a common goal and approach based on process visibility into the overall development process, the higher the maturity and the better managers and developers can understand and control their development and maintenance activities. According one of point of view, the CMMI understand the developer as a indivisible process and see five maturity levels: level 1 – ad hoc, when the process is not defined; level 2 – repeatable, when the managerial processes are present and can be repeated for others software projects; level 3 – defined, when the developing processes are defined, known and understood by the developing team; level 4 – managed, when the processes are quantitatively managed and level 5 – optimizing, when the process are improved continually [18]. The main restrictions verified are related to the following situations: (a) diversity of requirements from different clients for the same funcionality of a software; (b)
  3. 3. th 19 International Conference on Production Research countless deffect opportunities in the same development process; (c) non-normal statistical distributions of deffects and of the use of the resources employed; (d) impossibility of accurately communicating when a software is correct, since not all anomalies are flaws and not all flaws are caused by the application; (e) several main causes for the same variability, such as: alteration in technology, degradation in processing due to the equipment, communication networks, data volume, etc; (f) lack of company maturity, mainly in small organizations, understanding as superfluous the investments in process improvement; (g) lack of staff practice for applying statistical techniques; (h) extreme resistance to the alterations in development processes [19] [3]. 7 CASE STUDY A qualitative research was conducted using the Multiple Case Study method, based on some propositions [20] on the introduction of Six Sigma in the software developer organizations, the projects characteristics and the alignment with the organization maturity levels. The present paper analyzes the processes used for Six Sigma in three researched analysis units. They have used the Six Sigma longer and provide a better interpretation and induction of the model proposed, SW-DMAIC (DMAIC applied for development and software maintenance). Table 2 presents a comparison of the processes indicated in the methods and those that are practiced by the organizations researched (“Y”, when there are strong evidence and “N”, when there are not evidence). Table 2: Six Sigma restrictions and Lean Production practices Implementation Implementation Orientation for implementation Orientation for implementation Problem identification Present situation Mgment Training executives Aligning executives Consultancy Support Choice of leader Establishment of Goals Processes definition Prioritization Feasibility – Client Feasibility – Management Feasibility – Process Team selection Hiring third parties Assessment Analysis Project Improvement/Implementation Validation Verification Conclusion Control Record/Documentation Standardization Integration Continuous management DMEDI IDOV DMADV S.S.R ECKES N.S.S. Units Roadmap B.S. Methods DMAIC Processes 1 2 3 N Y N N Y Y Y N Y N N N Y N N Y Y N N N N Y N N N Y N N N Y N N N Y N N N Y N N N Y N N N Y N N N N N N N Y N N N N N N Y Y N Y N N N Y N N N N N N N N Y Y Y N N N N N Y Y N Y N N N Y N Y Y N Y N Y Y Y N N N N N N N N N N N N N N N N N N N Y N N Y N N N N N N N N N N N N N N N N N N N Y N Y N Y Y N N N N N N N N N N N N N N N N N N Y N N N N N Y Y Y N N N N Y N N N N N N N N N Y N N N N N N Y N N N N N N Y Y Y N N Y N N N N N N N N N N N Y N N N N N N N N Y Y Y N N N N N N N N N N N N Y N N N N N N Y Y N Y N Y N N N N N N N N N N N Y N N Y N Y N Y Y N N Y Y Y Y N Y Y N N N N N N Y Y Y Y Y N N Y Y N Y Y Y Y N N N Y N N N N N N N N N N N N Y Y Y Y N Y Y Y Y Y N N N The main characteristics of these analysis units are: Unit 1 is a branch of a large international organization in the telecommunications sector, which uses embedded software in its products. The software development area is certified by the SW-CMM model level 4. Six Sigma is part of a set of managerial techniques involving all the areas related to the organization business (core business). All the managerial actions are controlled and always related with the company strategies. The method used was inspired in the Breakthrough Strategy method and adapted to the organization. Unit 2 is a subsidiary of a software development international group and is one of the few Brazilian organizations certified as CMMI level 5. Currently, it seeks to also become competent in other models such as Control Objectives for Information and Related Technology (COBIT) and the Information Technology Infrastructure Library (ITIL). Six Sigma is an instrument aggregated to the Corporative Management System, which recommends the Six Sigma projects whenever indicators show a tendency below the standards stipulated or when new situations not yet faced by the company occur. The System contains models for different business processes and for Software Engineering, which significantly reduces the engineers’ effort. The method used was inspired in DMAIC, as many processes are already stabilized, but it was customized after governance models.
  4. 4. Unit 3 is a large Brazilian company in the insurance sector, which develops software for its own use. It does not count on any quality or maturity certification in its software development area. The implementation of Six Sigma to improve software processes occurred after positive experiences in the use of this methodology in business processes. The execution of Six Sigma projects is conditioned to improvements that result in investment return in the consumer market. The first projects occurred in existing work processes and were related to the administrative, managerial and technical structure of the software development area. The method used was initially inspired in IDOV and DMEDI. 8 SW-DMAIC The SW-DMAIC contemplates three groups of processes, corresponding to each of the moments of contact of the organization with the Six Sigma: (a) introduction of the philosophy in the organization, when the company has the first contact with Six Sigma method and decides to adopt it; (b) philosophy recycling when necessary, when the company starts a new Six Sigma project and it is necessary to align all the developing team; (c) implementation of each of the Six Sigma projects, when the company starts the Six Sigma project. These processes are detailed in Tables 3 (introduction of the philosophy and philosophy recycling). Table 3: SW-DMAIC processes – philosophy introduction and philosophy recycling phases Structure of the Six Sigma processes Stages / phases Processes / activities communication communication Technique 3 Processes for introducing the Six Sigma philosophy in the Organization Be aware of the Six Sigma importance for business Consult specialists about it Raise awareness in the high management, managerial bodies Introduction and and leaders Maintenance of the Lead, that is, choose the Six Sigma leader in the organization philosophyxxxxxxxxx Identify possible gains and problems and conduct benchmarks Quantify the necessary resources to implement and maintain it Obtain consensus and commitment from all those involved Prioritize, that is, establish a minimum set of prioritization criteria for a problem or improvement to become a project Organize the Six Sigma introduction work Create artifices to keep purposes and designs Processes for recycling the Six Sigma introduction Raise awareness of all those involved Agree, that is, ensure everybody’s commitment Detail the necessary controls to ensure success Philosophy recycling Design feasible goals, even if the project has to be extended Xxxxxxxxx Prioritize, set the selection criteria for Six Sigma projects in consonance with that defined in its introduction in the organization Organize, that is, detail the work method as well as adequate techniques and tools Adapt, that is, ensure learning in the company Technique 3 Technique 2 Technique 2 Technique 1 Technique 1 Techniques Test and simulate, that is, execute pilot projects Raise awareness Agree The method foresees a communication layer between the processes, which is the element that will guarantee the link between processes and allow retaking it for any process already executed, remaking it totally or partially. To support each of the processes, administrative and statistical techniques must be used that better serve the purposes. In the processes related to the implementation of each project, SW-DMAIC points to the need of approving the planning and conclusion of each task in three dimensions: of the client, to ensure statistical alignment; (b) of the managers, to ensure financial return and (c) of the development environment, to ensure availability of resources and adequate capacitation. Table 4 illustrates the Six Sigma Project processes. Table 4: SW-DMAIC processes – implementation phase
  5. 5. th 19 International Conference on Production Research Processes for each Six Sigma project Structure of the Six Sigma processes Dimensions for Software processes Phase / stage Processes and approval activities Techniques Acknowledge the new project Define the keypoints Approve the project Detail the scope Assess the present situation Find the root cause Choose the best alternative Identification Characterization Implementation Test alteration the Implement the alteration Control the improvement 9 CONCLUSION SW-DMAIC represents an advancement in relation to the existing methods, for considering the characteristics of the processes they refer to, besides allowing revision and returning to previous steps, in case any irregularity is detected. The logical linkage proposed between the stages, in which a stage or the following process is only executed after the former one has been finished, a better understanding of the projects as a whole, facilitating the way to solve problems or to improve processes. Furthermore, the organization may choose the subset it judges more convenient, according to the type of project and to the situation intended for the work. 10 ACKNOWLEDGMENTS The authors thank the researched companies for having authorized the dissemination of its data. 11 REFERENCES [1] Hunter, D.; B. Schmidt, Six sigma: benefits and approaches, Chemical Week, 161, 37, 35-36, 1999. [2] Murugappan, M.; Keeni, G., Quality improvement: the Six Sigma way, 2000, Proc. Of Asia Pacific Maintenance Use Tests Construction Project the Requirements Improve process Processes Restrictions Manage the resources employed Business expectations Integrate the improvements in the organization Clients’ expectations Follow-up Standardize, make systematic communication Technique 3 Technique 2 Technique 1 Institutionalization Conference Quality Software, IEEE CS Press, Los Alamitos, 248–257. [3] Biehl, R. E., Six Sigma for software, Quality time, IEEE Software, 21, 2, 68-70, 2004. [4] Ewusi-Mensah, K., Software development failure, MIT Press, 2003. [5] Parasuramam, A., Zeithmal, V. A., Berry, L. L., Delivering service quality: balancing customer perceptions and expectations, The Free Press, 1990. [6] Laurindo, F. J. B., Tecnologia da Informação e o Seis Sigma. In: Rotondaro, R. G. (Org.). Seis Sigma: estratégia gerencial para a melhoria de processos, produtos e serviços. São Paulo, 2002, 358-375. [7] Marash, S. A., Six Sigma: business results though innovation, 2000, Proc of the 54th Annual Quality Congress of the American Society for Quality, Indianapolis 627–630. [8] Harry, M., Schroeder, H., Six Sigma: a breakthrough strategy for profitability, Quality Progress. 31, 5, 1998. [9] Harry, M, J., Six Sigma: a breakthrough strategy for profitability, Quality Progress. 31, 5, 1998. [10] Tonini, A. C., A contribuição do Seis Sigma para a melhoria dos processos de software, 2006, Dissertação (Mestrado em Engenharia da Produção)
  6. 6. – Escola Politécnica, Universidade de São Paulo, São Paulo. [11] GROSS, J. M., A road map to Six Sigma quality. Quality Progress, Milwaukee, 34, 11, 24-29, 2001. [12] Pande, P. S., Neuman, R. P., Cavanagh, R. R., Estratégia Seis Sigma, Qualitymark, 2001. [13] Eckes, G., A revolução Seis Sigma, Rio de Janeiro, 2001. [14] Barney, M., McCarty, T. The new six sigma: a leader’s guide to achieve rapid business improvement and sustainable results, Englewood Cliffs, 2003. [15] Watson-Hemphill, K., Design financial services with DMEDI, Retrieved 08/21/2005, http://www.isixsigma.com/library/content/c040101b.as p. [16] Woodford, D., Design for Six Sigma: IDOV Methodology, Retrieved 09/05/2005, http://www.isixsigma.com/library/content/c020819a.as p. [17] Card, D. N., Managing software quality with defects, 2002, Proc. of 26th Computer Software and Applications Conference, IEEE Computer Society, 472-474. [18] Fenton, N. E., Pfleeger, S. L., Software metrics: a rigorous approach, International Thomson Computer Press, 2 nd, 1997. [19] Blakeslee Jr., J. A., 1999, Achieving quantum leaps in quality and competitiveness: implementing the Six Sigma solution in your company, Proc. Of THE 53TH ANNUAL QUALITY CONGRESS OF THE AMERICAN SOCIETY FOR QUALITY, Anaheim: Califórnia, 486–496. [20] Yin, R. K., Estudo de caso: planejamento e métodos, Bookman, 2001. [1] Caiazzo F., Pasquino R., Sergi V., 1997, Twodimensional objects recognition and fuzzy classification approach, Proc. of III A.I.TE.M. Conf., Fisciano (SA), 277-286. [2] Jo J. B., Tsujimura Y., Gen M., Yamazaki G., Lee J. U., Performance of Multiclass BCMP Model for Computer System based on Fuzzy Set Theory, Computers Industrial Engineering, 1997, 33, 557-560. .