Archive for the ‘Tailoring’ Category

Project-Specific Process Tailoring and CMMI Level 3

Thursday, March 26th, 2009

Project-specific process tailoring falls within Organizational Process Definition (OPD), a CMMI-DEV level 3 process area. The purpose of OPD is to establish and maintain the overall organization’s processes.  This include definition of processes (based on organization’s process requirements), establishment of organization’s process architecture (how processes relate to each other to best suit the organization’s structure and environments), and definition of tailoring guidelines and procedures. OPD has one specific goal SG 1 Establish Organizational Process Assets, which in turn, has six practices

SP 1.1 Establish Standard Processes

SP 1.2 Establish Lifecycle Model Description

SP 1.3 Establish Tailoring Criteria and Guideline

SP 1.4 Establish the Organization’s Measurement Repository

SP 1.5 Establish the Organization’s Process Asset Library

SP 1.6 Establish Work Environment Standards

In this post, I am only going to get into the details of SP 1.3, but I will talk about other specific practices of this process area in future posts.  Also, I really want to do a post on CMMI level 3 in general.  For me this is the most interesting CMMI level, as it’s so process-focused.

As I have mentioned in my previous post, process tailoring is the process by which organization’s set of standard process are adjusted to better suit a specific development project. In CMMI terminology, organization’s set of standard processes (OSSP) are tailored into a defined process (a suitable process for a project).  More specifically this practice requires that tailoring to start by selecting standard processes–to be tailored–based on defined criteria, adjustments to the selected processes be made based on well defined tailoring guidelines, and defined procedures followed for any deviation from tailoring guidelines.

This may be too formal and demanding for most organizations, but is very beneficial for mature process-centric organizations.   Keep in mind that tools, such as IRIS, automate many aspects of tailoring, such as creations and management of tailoring guidelines and enforcement of the tailoring procedures, hence, substantially reducing the overhead involved.

Project-Specific Process Tailoring: Process Adjustment

Sunday, March 22nd, 2009

I talked about “search and selection” aspects of process tailoring in an earlier post. In this post I’ll get into some of the concepts of “process adjustment”, the next step in process tailoring. Once the project manager has selected a process from his/her organization’s standard processes–based on his/her project criteria, he/she then should adjust the selected process to better suit the project.

The nature of adjustment in this context is difficult to define. It varies greatly from organization to organization.

The first issue is the amount of flexibility allowed during adjustment. It’s important that commonality, generality and integrity of the organization’s standard processes are not compromised as they are adjusted for a particular project. One way to achieve this is by “tailoring guidelines”. Tailoring guidelines are heavily supported and promoted by CMMI. They are developed as a part of process creation. So as process modelers define the organization’s standard processes, they also define tailoring guidelines for these processes. This requires a flexible process modeling tool. IRIS, our process modeling tool, supports user definable attributes for all process elements–roles, activities, workproducts–and has in built-in reporting facility. Using these capabilities we have been able to automate customers’ needs by capturing tailoring information during modeling and generating organization specific tailoring guidelines automatically.

Of course there is much more to process adjustment than tailoring guidelines. I will cover other aspects of this topic in future posts.

Very interesting paper on Process Tailoring

Sunday, March 22nd, 2009

I highly recommend a white paper titled “Process Tailoring and the Software Capability Maturity Model” by Mark Ginsberg and Lauren Quinn. Although written in 1995, the content of this paper is still very relevant today. The full version of this paper is available for download from SEI (Software Development Institute, Carnegie Mellon University) website. Keep in mind that this is a long paper: 53 pages.

I specially found the coverage of “Tailoring Guidelines” informative. I will get into how tailoring guidelines fit in the overall tailoring process in future posts.

Project-Specific Process Tailoring: Search and Select

Thursday, March 19th, 2009

For over a year now I have spent large percentage of my time on developing process tailoring systems. Although I had much appreciation for the importance of process tailoring, the deeper I get into it the more I realize what a paramount role it plays in the overall application of processes in an organization. Unfortunately, there are not much resources and discussions on this topic. In this and future posts I’ll try to discuss some interesting aspects of process tailoring.

First let’s clarify what we mean by process tailoring. Process tailoring is the adjustment made to an existing organization’s process to better suit a specific project. In most cases a project manager will tailor one of the organization’s standard processes to better suit his/her project. This takes place once the project is approved and before the process starts. By process tailoring we really mean “project-specific process tailoring”.

One aspect of tailoring that I find interesting is search and select. It may not be apparent, at the first glance, to some people that the activities of searching for and selecting of a process are part of tailoring, but up on further reflection, it becomes apparent that these activities make up the first part of project-specific process tailoring. Process-centric organizations have large number of standard processes. In most cases these processes are defined and maintained by process engineers—who may be part of organization’s SPEG. Ideally these processes are accessible organization wide-–another interesting topic for a future discussion. As a starting point, project managers should be able to easily find and select a process from their organization’s standard processes that best suits their projects. This requires flexible query of process repository based on project specific criteria. For example, a project manager may want to find a process suitable for a small project with fewer than 10 developers. Another project manager may want to find a process suitable for a large geographically distributed team with high emphasis on quality. Once the search request returns processes matching the project criteria, the project manager should be able to access an overview and details of the processes before selecting one.

The next step in tailoring is to make adjustments to the selected process to better fit the specific project. This will be the topic of my next post.

In summary, process search and select are an important part of project-specific process tailoring.

As the final note, processes are meant to make the job of project managers easier not to add additional overhead to their already heavy load. Hence it’s critical that tailoring systems be user friendly and intuitive.