Thursday, April 29, 2010

Process & Procedures

imageIt should be clear in the project plan for all stakeholders that a certain project management model will be followed during the implementation process of the project, e.g. waterfall model, agile…This helps setting expectations for the milestones and output of the project in terms of the achievements in milestones, and also help the stakeholders better understand their roles and responsibilities based on the specified process and the procedures to follow while working in the project.

Software Process Standardization

A software development process is concerned primarily with the production aspect of software development, as opposed to the technical aspect. These processes exist primarily for supporting the management of software development, and are generally skewed toward addressing business concerns. Amongst the most common models for process standardization is the Capability Maturity Model (CMMI). CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization. It helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes. 

CMMI Levels

Maturity Level Type of Processes
5. Optimizing Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies. Process Control
4. Managed Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled. Process Measurement
3. Defined The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization. All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software. Process Definition
2. Repeatable Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications. Basic Project Management
1. Initial The software process is characterized as ad-hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort and heroics. Ad-hoc processes

The benefits you can expect from using CMMI include the following:

  • Your organization's activities are explicitly linked to your business objectives
  • Your visibility into the organization's activities is increased to help you ensure that your product or service meets the customer's expectations
  • You learn from new areas of best practice (e.g., measurement, risk)