Managing Process Architecture and Requirements in a CMMI based SPI project 1



Similar documents
CMMI KEY PROCESS AREAS

CMMI: Specific Goals and Practices

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Steve Masters (SEI) SEPG North America March Carnegie Mellon University

The Configuration Management process area involves the following:

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Using Rational Software Solutions to Achieve CMMI Level 2

Measurement Strategies in the CMMI

MKS Integrity & CMMI. July, 2007

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Truly Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Chapter 3 The Integrated Requirements Management Framework (IREQM)

CMMI-Services Visao Geral & CMMI v1.3 Plans

Towards a new approach of continuous process improvement based on CMMI and PMBOK

The Capability Maturity Model for Software, Version 1.1

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation

A Report on The Capability Maturity Model

Interpretation and lesson learned from High Maturity Implementation of CMMI-SVC

wibas Team CMMI-ITIL IT Maturity S e r v i c e s

ISO 9001/TL 9000 and CMMI Comparison

Business Analysis Standardization & Maturity

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

CMMI for Development Introduction & Implementation Roadmap

Interpreting Capability Maturity Model Integration (CMMI ) for Service Organizations a Systems Engineering and Integration Services Example

Using Lean Six Sigma to Accelerate

IT Financial Management and Cost Recovery

Copyright 2014 Carnegie Mellon University The Cyber Resilience Review is based on the Cyber Resilience Evaluation Method and the CERT Resilience

CMMI meets ITIL. Dr. Ute Streubel

Quantitative CMMI Assessment for Offshoring Through the Analysis of Project Management Repositories

Using Baldrige Performance Criteria to Strengthen CMMI Measurable Results NDIA CMMI Conference - November 2008

Realizing CMMI using Enterprise Architect and UML for Process Improvement

MTAT Software Engineering Management

Interpreting Capability Maturity Model Integration (CMMI ) for Business Development Organizations in the Government and Industrial Business Sectors

V-Modell XT. Part 1: Fundamentals of the V-Modell

Leveraging CMMI framework for Engineering Services

PHASE 8: IMPLEMENTATION PHASE

D6.1: Service management tools implementation and maturity baseline assessment framework

Developing CMMI in IT Projects with Considering other Development Models

Maturity Assesment for Processes in IT

The Design and Improvement of a Software Project Management System Based on CMMI

- ATTACHMENT - PROGRAM MANAGER DUTIES & RESPONSIBILITIES MARYLAND STATE POLICE W00B

PHASE 6: DEVELOPMENT PHASE

Project Management. 06 Requirements Management. IT M a t u r i t y. S e r v i c e s

2-Day Workshop Project JumpStart The Workshop Designed to Launch Projects Faster

Capability Maturity Model Integration (CMMI)

CMMI for Development, Version 1.3

Bringing agility to Business Intelligence Metadata as key to Agile Data Warehousing. 1 P a g e.

How to use CMMI to bring your project management process to the next level A CMMI Implementation Case Study

ITIL-CMM Process Comparison

A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 2.0

Enhancing Outsourcing Relationship Management Capabilities: Driving Greater Value from AllianceBernstein s Global Operations

Data Classification Technical Assessment

Use Cases. Massimo Felici. Massimo Felici Use Cases c

ATTACHMENT 3 SPS PROJECT SENIOR PROGRAM MANAGER (SPM) DUTIES & RESPONSIBILITIES

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

NATURAL SPI. Strategies for Implementing the CMMI Project Management Process Category

5.2 A Software Process Improvement Solution for Small and Medium-Size Enterprises

Data Management Maturity (DMM) Model Update

<name of project> Software Project Management Plan

Usability in SW-Engineering-Prozessen und in CMMI

How To Create A Process Measurement System

8. Master Test Plan (MTP)

Agenda. CMMI, ITIL & ISO A Mutually Supportive Relationship

An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

Sparx Enterprise Architect for Business Analysts

Process In Execution Review (PIER) and the SCAMPI B Method

Comparing Scrum And CMMI

CMMi and Application Outsourcing

Introduction: ITIL Version 3 and the ITIL Process Map V3

Process Improvement. From the Software Engineering Institute:

GAMP 4 to GAMP 5 Summary

NUMBER: 12.PM-004 RESPONSIBILITY: Office of Project Support Services REVISION: 4 APPROVED BY: TITLE SUBJECT: Head, Office of Project Support Services

3SL. Requirements Definition and Management Using Cradle

Best Practices Statement Project Management. Best Practices for Managing State Information Technology Projects

Requirements Management

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Integrating Project Management and Service Management

Enterprise Test Management Standards

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

How To Develop An Enterprise Architecture

A managerial framework for an Electronic Government Procurement Project: Complex software projects management fundamentals

Computing Services Network Project Methodology

Engineering Standards in Support of

Minnesota Health Insurance Exchange (MNHIX)

Why SAAS makes sense: The benefits of Cloud Computing for Archiving

+SAFE, V1.2 A Safety Extension to CMMI-DEV, V1.2

Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development

Writing a Requirements Document For Multimedia and Software Projects

Better processes by sprint: Agile process improvement. Timo Karasch, Method Park

A COMPARISON OF PRINCE2 AGAINST PMBOK

Capacity Plan. Template. Version X.x October 11, 2012

Organization. Project Name. Project Overview Plan Version # Date

Transcription:

Managing Process Architecture and Requirements in a CMMI based SPI project 1 Author: Filippo Vitiello Abstract When developing or changing a process, and all its related assets, often the process engineers have to face an important issue: how defining an integrated set of processes so that each process element is designed taking in consideration its relationships with all the other interfacing elements. Together with this issue, we also have the need to ensure that all the relevant requirements for the processes and their process assets are fully understood and correctly managed. These objectives are even more difficult to achieve when more persons are working in parallel to the improvement of different process areas. The approach described in the following paper, leverages a defined process architecture and a documented specification of process requirements to ensure integration among the process elements. All the examples are referred to a CMMI based process definition but the most of the concepts are applicable also when adopting process models other than CMMI. Why process integration is important? A necessary condition, to enable process effectiveness, is that all the process areas making up the entire development process could work together without disruptions. This implies that all the process elements and the related assets that support and drive the process execution, are designed and built in a way that takes into account the integration needs among themselves. As process elements and assets we mean a very wide range of things like: policies, processes and procedures descriptions, templates, tools, roles, skill and everything is needed to perform the intended process. Here are some examples of integration problems: A Requirements Traceability Matrix is defined in the scope of the Requirements Management process but it is not related to the traceability system that has been selected or built in support to the Testing activities. A resulting effect could be that Test Cases are not traced to the requirements or that this traceability must be twice documented and maintained in the two traceability systems. An Estimating procedure has been documented but it does not clearly define which input from Requirements Management should be considered as the base for a high level rather than a detailed estimation. This may cause estimates to be unrelated to the requirements. Plans must be developed for the execution of each process area but they are not merged together in a usable (and hopefully simple!) overall project plan. Heterogeneous naming conventions adopted for the different document templates or information elements; this can generate confusion about the meaning and extra effort to repeat almost the same information on multiple different project documents. Poor process integration is often a cause for: information missed along the execution of the process, redundant information documented multiple times, poor process assets usability, unnecessary extra effort. All this has a negative impact on the process efficiency and effectiveness. 1 CMMI is a registered trademark of the Carnegie Mellon Univerity Seite 1 von 6

Key elements to ensure process integration In order to avoid or limit the effect of process integration issues, it is important to identify them as soon as possible and take find a remedy before a new version of the process is being deployed across an organization. Therefore the process engineers (or more in general those people who are responsible to develop and maintain processes and the related assets), should pay attention to the following potential sources of integration issues: Work products which are output of a (sub-) process and that have to be considered in input to another (sub-) process. When the two (sub-) processes are being developed (particularly when they are not developed by the same person) it happens that input and outputs fail to be coupled in the correct way. Particular attention should be given to those work products which are made available to other processes by means of a shared repository (archive), since this as an impact on the repository s design. o Example: the Project Monitoring process expects the Cost Performance Index indicator from the Measurements Process. This last process actually will provide the CPI indicator but just once in a month. This might be an ineffective solution for the objectives of the Project Monitoring process. Constraints or process requirements, that have been identified while designing or while gathering requirements for a (sub) process, and that must be implemented in the scope of another process. o Example: In order to have a Requirements Management Plan integrated in a overall Project Management Plan, the template of this last work product should be designed considering the specific planning needs of the Requirements Management Process. In this case, while developing the Project Planning process, requirements coming from the Requirements Managements process must be taken into account. Interfaces (inputs, outputs and process design requirements) with external processes. This processes are those being outside the scope of the SPI project; for example they may be: Customer processes, Administrative processes, Sales processes, Procurement processes, HR Processes o Example: the Sales process expects as input a cost estimate as soon as the high level design is developed; instead the Estimating process is not designed to produce an estimate before a detailed analysis has been carried out. Terms and definitions for: acronyms, process phases, process roles, organizational roles and functions, work products, databases, naming standards It is important to build, and then systematically use and maintain, a common glossary so that similar terms are not used with different meanings and different terms are not used to mean the same concept. o Example: A Project Planning procedure assigned the planning responsibility to the Project Manager - PM. The Requirements Management procedure says that the changes to requirements should be finally approved by the Project Responsible - PR. Are the PM and the PR the same person? How process architecture can help The main purpose of defining the process architecture is to summarize and enable the management of all the relationships (interfaces) among process elements belonging to the different sub-processes. Then, when a process model (like the CMMI ) is adopted as a reference, the documentation of process architecture will also provide a mapping of the process against the model itself. In CMMI this includes a mapping on the specific and generic goals and practices but, in the method here below outlined, a great importance is given to the CMMI Typical Work Products too. Seite 2 von 6

Here below we are going to explain how the process Archive 1 architecture can be built to support a CMMI based process 1a Archive 3 improvement project and how the process improvement Proc-A ca c3 team can take advantage of using it. 1b The method is particularly oriented to process improvement ac ae Proc-C initiatives aiming to establish Defined and Standard Processes (so aiming Capability Level 3 or higher). Proc-E Nevertheless, this approach is applicable to Capability Level cd Proc-B ed 2 objectives, since we have in any case to establish project a2 Proc-D level Managed Processes. In this case we are likely to consider several different solutions for the different projects b2 Archive 2 2d since we are not aiming to get to a standard process. The process architecture is made of a set of matrixes, at least Figure 1 -Process Architecture one for each Specific Goal (SG) and each Generic Goal (GG). To simplify, we might assume that, each Specific Goal corresponds to at least one distinct sub-process and that, for each sub-process, at least one process description document (i.e. a procedure document) is available or must be created. The approach works also when we have more sub-processes mapped to a same SG (in this case we are going to manage more matrixes for the same goal) or a same sub-process covering more Specific Goals. For example, let us take the Project Monitoring and Control process area; we have 2 SG and we have decided to map these goals against two sub-processes which we have given the following names: Software Project Tracking, and Project Issues Management. For each sub-process we prepare a matrix whose structure is like in the following sample (which, for brevity, includes only the first two specific practices of the CMMI PMC Process Area). Sub-Process: Software Project Tracking CMMI PMC SG1 Process Descriptions INPUTS (Specify From which sub-process) WP From SP/GP Typical Work Product Actual Work Product OUTPUTS (Specify To which subprocess) WP To SP 1.1 Monitor the actual values of the project planning parameters against the project plan. Records of significant deviations Records of project performance.. Seite 3 von 6

Each process engineer (or team) is given the responsibility to fill the matrixes of their responsibility; this task should be performed meanwhile conducting the process analysis (process requirements analysis and solution outline) and completed before starting to develop or modify the process assets. Here is a possible procedure: 1. Analyze each CMMI Typical Work Product (TWP) and decide which must be adopted in the target process (the process to defined or changed). 2. Give a name to the Actual Work Products that will be used in the target process and map them to the TWPs (mostly, more CMMI TWPs will be summarized in a single Actual Work Product but in some cases it may happen the contrary). 3. Identify those Actual Work Products (AWPs) that are an output of the selected process and therefore an input for other sub-processes. Indicate these target sub-processes possibly specifying the practices that will receive the WP in input. When a work product is stored in a repository (archive), this should be specified as well. Finally, do not forget to consider also those inputs directed to sub-process which are outside of the scope of the CMMI framework. 4. Similarly analyze, for each practice, which inputs are necessary and which sub-process they are expected to come from. 5. To facilitate the work, it is important that each input from or output to written on a matrix is copied (possibly automatically) in the related matrixes so that each process engineer can easily see if a new input or output is requested for his own sub-processes. 6. Write the names of all the Process Description documents driving the execution of the practices. It may be a single procedure or a set of procedures, guidelines, work instructions, related tailoring criteria and whatever more is used to describe the way the sub-process is performed. A similar approach should be used for the Generic Goals and Generic Practices, but taking care of the following differences: 1. Since CMMI TWPs are not defined for each GP, we can just define the AWPs by focusing on the most relevant documented information that should support the generic practice. (An example for the PMC Process Area: an AWP for the GP 2.2 may be named Project Tracking Plan and it is supposed to direct all the key monitoring and control activities). 2. Consider the relationship between the GPs and the other Process Areas (particularly the Support Process Areas) as sources of inputs and outputs. For example to support the GP 2.2 Plan the Process is it better to specify all these planning activities and related work products (plans) inside the Project Planning descriptions or is it better to spread them across each sub-process description. Whatever we decide an interface with among all the PAs and the Project Planning PA exist and therefore it should be defined in the architecture. To better understand the relationships among GPs and Process Areas, refer to the CMMI for Development, Version 1.2 at paragraph Process Areas That Support Generic Practices. Once all the matrixes are ready, we have a first version of the entire Process Architecture document. Now each process engineer can systematically review the inputs posted on his own sub-processes by the owners of other sub-processes therefore he will be able to discover Seite 4 von 6

additional interface requirements that could not be seen by simply analysing a focused set of subprocesses. In this way, the process architecture helps to identify the integration issues that ought to be resolved before deploying the processes. In this way collaboration among process engineers is also going to be fostered, since they have to dialogue and negotiate about the interface requirements, to remove integration defects before the can affect the deployed processes and the related assets. Once a first baseline of the architecture is established, a clear responsibility for its maintenance should be assigned. In this way every change (especially changes affecting inputs or outputs) can be accomplished only after reviewing its impact together with the owners of the interfacing processes. The responsible of the process architecture should also be in charge of: facilitating the resolution of integration issues, proposing possible solutions and assuring whether the integration issues have been resolved before starting the deployment of the new process. Managing process requirements Almost in parallel to the development of the process architecture, an analysis of process requirements should be carried on. This is important in order to ensure that the process engineers get to know all the required features for the new process and related assets. Possible sources of process requirements are: Appraisals or gap analyses findings and recommendations. Expectations and issues captured during interviews and workshops with internal and external stakeholders (particularly important those from the Customers and the Suppliers) The process model itself. For CMMI we can consider Goals and Practices as high level requirements to be further developed. Interface requirements (or integration requirements), that are particularly put in evidence while developing the process architecture. Constraints affecting the design of process assets and that may depend on previous design decision (i.e. all the document templates must respect a common documentation standard). All these requirements should be documented in one or more requirements documents to be used as the base for developing the process asset. These Process Requirements documents should contain the following information: The name of sub-processes in scope. A unique ID for each process requirement. The source of the requirement. For the interface requirements, a reference to the Process Architecture document (which input and output they refer to) should be included. The dependencies with other sub-processes. Particularly when the requirement (or any derived requirement) requires to be implemented in the scope of other sub-processes The list of the relevant stakeholders for each requirement. These stakeholders are those to involve in the validation of the outlined process solution. In case of dependencies, the relevant stakeholders list would include the process engineers responsible for the dependent sub-processes. Seite 5 von 6

A specification for each requirement, in order to explicitly outline the projected process solution satisfying the requirement. The process assets affected by the requirement. For each impacted asset, this is a kind of technical specification (minimally a summary description) of the features to be implemented or modified. When the Process Requirements documents are ready they should undergo a peer review together with the Process Architecture. It recommendable that all the process engineers take part at this review; in this way every team member will get an insight about the solutions outlined for all the sub-process. Consequently the team is lead to deepen the process analysis and to discover defects or previously unknown issues like: additional process requirements, redundant solutions, unfeasible or ineffective solutions, requirements not properly assigned, unidentified stakeholders In order to facilitate following the approach in this paper outlined, it is recommendable to adopt or implement a tool (for instance, a database) both for the Process Architecture matrixes and the Process Requirements documents. This choice will make easier the collaborative development of the process elements and will enable an overall control on the entire picture during the project. At the end of the process improvement project, these documents will continue to be a major asset to be maintained and re-used as the base for the future improvement initiatives. Kontakt: Wetterkreuz 19a 91058 Erlangen Tel. +49-(0)9131-9 72 06-XXX Fax +49-(0)9131-9 72 06-200 info@methodpark.de http://www.methodpark.de Autoren: Dipl. Ing. Filippo Vitiello Sr. Consultant Filippo.Vitiello@methodpark.de Seite 6 von 6