1 Hidenori Shibamoto, VEL Process Design Agent Inc. President Biography Hidenori Shibamoto is President of Process Design Agent Inc. After having served as software development project leader for automotive parts and electronics manufacturers at a software house, he also engaged in the planning, development and marketing of packaged software as a product manager. He currently conducts seminars on the importance of process design for corporate personnel. He provides consulting services of process design and management using VE techniques. He is a FA trainer at Functional Approach Academy. Abstract Continuous improvement of the processes is essential to ship the software in a timely manner with stable quality and at a cost that can produce revenue. Process-based approach typified by the CMM/CMMI has been widely accepted and contributed in the software industry. The approach is the way that models process of successful projects or organizations and tries to improve processes filling the gap between process model and organization s processes. This approach is very useful and in fact effective. On the other hand, it has some problems. It needs much cost and time. It absorbs the proactive motivation of the field. It causes the confusion of means and purpose. This paper brings the functional approach to the process improvement and proposes techniques and steps of process improvement from the perspective of functions.
2 1. Introduction In order to delivery software that meets QCD, stable process is required. Therefore organizations involved in software development have been working to improve the process. In particular, process-based approach typified by the CMM/CMMI has been widely accepted in many organizations. 2. Overview of CMM/CMMI The process improving approach of CMM/CMMI was developed under the influence of Total Quality Management (TQM). The most significant feature is that the approach has the staged maturity levels. The levels are defined as a five stages (figure 1). To get the authentication of CMMI, organizations have to be appraised by a lead appraiser who is trained at Software Engineering Institute. Figure 1 CMMI Staged Maturity Level 2.1. Gap Analysis The way to appraise is called for SCAMPI (Standard CMMI Appraisal Method for Process Improvement). It assesses that the organization s processes meets the goal of the process area that is defined in CMMI. The appraisal result depends on whether practice is done or not. This way of appraisal is called gap analysis. CMM/CMMI tries to improve processes by filling the gap between the process model and organization s process. 3. Issues of Traditional Approach Figure 2 Process Areas and Goals of CMMI Level 2
3 The process-based approach has been introduced in many companies and has contributed so far. But some problems were issued. 3.1. Cost and Time The process-based approach tries to improve processes by filling the gap between the model and organization s current process. To grasp the gap, the organization has to be appraised by lead appraiser. This appraisal costs time and money. An appraisal is usually done in two or three weeks and the organization has to provide people full-time in this term. There is a tendency that organizations need to be improved don t have enough resources. This load of appraisal is not small. 3.2. Confusion of Means and Objectives The traditional approach tries to improve quality of software by defining the standard processes. The field is requested to observe the processes. So these processes arise stabilization. The fixed processes become to hate to adapt changes. This stabilization is caused by the way to appraise processes. The level of the organization is judged whether practices are done or not. The evaluation criteria are whether evidences that are usually artifacts exit or not. It does not matter that the artifacts works right or not. For example, project monitoring and control is one of the process areas that are required in the CMMI level 2. Its goals and practices are below. Focusing on the Manage Collective Action to Closure that is one of the goals, this goal has three practices. Whether these practices are running or not is judged by whether some documents that are like a progress report, or an issue log. As a result, to get or maintain the level authentication, some organizations prepare the documents that are not working. This is a confusion of means and objectives. The processes are means to accomplish the purposes. But defined standard processes require to keep rules and the purposes are lost. Figure3 Goals and Practices of Project Monitoring and Control
4. Process Design by Functional Approach 4 As already mentioned, there are some problems that are Cost and time and Confusion of means and Objectives. In other words, a new approach that enables us to reduce the load of improvement and to address proactively and to adapt changes is needed. I thought that the functional approach has possibility to solve these issues. On the other hand, the traditional approach has useful techniques that enable us to visualize processes, to grasp that between organization s current processes and ideal processes. Therefore, combining the traditional techniques and the functional approach enable us to improve processes effectively. Figure 4 shows the steps and techniques. Figure4 Steps and Techniques of Process Design by Functional Approach 4.1. Visualizing the Current Processes In order to improve processes using functional approach, at first information have to be collected and it is essential to share the information among the team. So to visualize information is the first step of process improvement. Furthermore, if the organization has a standard processes, it is unreliable that that processes are actually used in the field. From this standpoint, to visualize actual processes is essential. A useful tool that enables to visualize processes is the Process-Flow-Diagram (PFD). PFD visualizes processes in relation of inputs and outputs. PFD represents processes in nouns and verbs. This representation looks like the way of function defining. So it will be easy to define functions later. Figure 5 shows the process that company A made at the information phase. 4.2. Define Functions The processes are the element of the project. So preparing PFD is visualizing processes and breaking down in elements. The PFD guides the function phase. An element is to be picked up and be defined its function. Specify Requirements have the functions that are Pull Requirements,
5 Functionize Requirements, and Specify Features. 4.3. Prepare FAST Figure 5 Process-Flow-Diagram prepared in the project of company A Figure 6 FAST prepared in the project of company A
6 In next step, FAST is to be prepared. It is important to focus the relationship of the inputs and outputs. A deliverable generated by a process is to be input of the next process. In other words, the upper processes are the means of the lower processes. This relationship guides to define the functions. Figure 6 shows the FAST that company A made. 4.4. FAST as the Meta-Process As already mentioned, one of the problems of the traditional approach is the confusion of means and objectives. This is because that the standard processes that are defined by traditional approach leads stabilization and prevent organizations from adapting changes. In order to solve this issue, it is useful to use FAST as a meta-process. In the function phase, improving team prepares a FAST, so process of understanding the current process is accelerated and that enables to pull ownership. Further, FAST as a meta-process does not show the specific means and is abstracted. So it promotes using variable means and enables organizations to execute PDCA. FAST shows functions that are to been met. It shows us the exit criteria of the process. 4.5. Functional Gap Analysis The evaluation of functions is supposed to be calculated in the ratio of invested resources and functions. But few of organizations that need to be improved have the data that is required to improve processes. Further, the importance of each processes are not equal. There are more important processes and less important processes. So I developed functional gap analysis that evaluates by importance and attainment of functions. It sets the weight in advance and evaluates the attainment in 4 levels. At the end of evaluation, it reveals the value of gaps. Higher gaps have possibility of drastic improving. Shortening gaps is the goal of improvement and indicator of sustainable improvement. 4.5.1. The Steps of the Functional Gap Analysis Figure 7 Functional Gap Analysis prepared in the project of company A Figure 7 shows the result of evaluation at the company. The steps of functional gap analysis are shown below.
7 1.Set the value of weight of each functions (total 100). 2.Count up the functions that belong to the each function area and fill in Numbers of Functions. 3.Set the value of target of each functions. The values of target are the points when every function achieves "Fully Achieved". In figure 7, the numbers of functions 11 multiply point 3 equal 33. 4.Evaluate attainment by four levels. According to the evaluation criteria (figure 8), evaluate the attainment of each functions and note the numbers in F, L, P, N. Figure 8 Evaluation Criteria 5.Functions multiply evaluate attainments and fill in the sum. 6.Divide sum by target and fill the degree of attainment. 7.Multiply weight by the degree of attainment and fill the relative degree of attainment. 8.Minus the relative degree of attainment from weight and fill in value of gap. According to the evaluation criteria (figure 8), evaluate the attainment of each functions and note the numbers in F, L, P, N. 4.6. Development Phase Basing the FAST that is prepared as a meta-process, processes that enable to achieve the functions are defined and is represented in PFD in the development phase. The steps of process designing are described below. 1.Pick up a function in the FAST, and ask, What process achieve this function? 2.Ask, What does this process require as inputs? 3.Ask, What does this process generate as outputs? Repeating these steps make each elements linked in the relationship of inputs and outputs. A process generates outputs, and the outputs are to be inputs of the next processes. Further, when the process is requested to change in the middle of project, the processes visualized in
8 the PFD enables to change the processes currently and adequately. Figure 9 is the PFD that is designed in company A project. Focusing the function Develop Service Strategy, the process of Develop Service Strategy is defined and it generates Marketing Strategy. Other every processes and deliverables are defined to achieve the functions that are represented in PFD. Figure 9 Alternative Process of Company A 5. Conclusion First, features of the traditional improvement approach and issues are mentioned. These are Cost and Time and Confusion of means and objectives. So this paper proposes the steps of process improvement applying the functional approach. In information phase, PFD functions as a process-visualizing tool and FAST is generated basing PFD. The FAST enables to specify the relationship of means and objective as a Meta-Process. Further, the functional gap analysis enables to define a direction of improvement and to keep sustainable improvement. And PFD and FAST enable to change process currently and adequately from the perspective of functions in the middle of project. In the software industry, Value Methodology is not well known. Value Methodology has much possibility to been applied in the software development processes. References [1] Software Engineering Institute, CMMI for Development, Version 1.3, November 2010 [2] Shibamoto, Hidenori, Case of VE Application and Technique In Software Development, 52nd Annual Conference Proceedings, SAVE International, June 2012