People Metrics and Process Metrics in Software Engineering
1. Process Metrics :
Process metrics are the measures of the development process that creates a body of software. A common example of a process metric is the length of time that the process of software creation tasks.
Based on the assumption that the quality of the product is a direct function of the process, process metrics can be used to estimate, monitor, and improve the reliability and quality of software. ISO- 9000 certification, or “Quality Management Standards“, is the generic reference for a family of standards developed by the International Standard Organization (ISO).
Often, process metrics are tools of management in its attempt to gain insight into the creation of a product that is intangible. Since the software is abstract, there is no visible, traceable artifact from software projects. Objectively tracking progress becomes extremely difficult. Management is interested in measuring progress and productivity and being able to make predictions concerning both.
Process metrics are often collected as part of a model of software development. Models such as Boehm’s COCOMO (Constructive Cost Model) make cost estimations about software projects. Thebaut’s COPMO makes predictions about the need for additional effort on large projects.
Although valuable management tools, process metrics are not directly relevant to program understanding. They are more useful in measuring and predicting such things as resource usage and schedule.
2. People Metrics :
People metrics play an important role in software project management. These are also called personnel metrics. Some authors view resource metrics to include personnel metrics, software metrics, and hardware metrics but most of the authors mainly view resource metrics to consist of personnel metrics only. In the present context, we also assume resource metrics to include mainly personnel metrics.
People metrics quantify useful attributes of those generating the products using the available processes, methods, and tools. These metrics tell you about the attributes like turnover rates, productivity, and absenteeism.
The goal of the people metrics is to keep staff happy, motivated, and focused on the task at hand. These metrics are as :
Programming Experience Metrics :
- Programming language experience
- Development methods experience
- Management experience
Communication Level Metrics :
- Teamwork experience
- Communication hardware software level.
- Personal availability.
Productivity Metrics :
- Size productivity
- Productivity statistics
- Quality vs. Productivity
Team Structure Metrics :
- Hierarchy metrics.
- Team stability metrics
People metrics are very helpful in assisting the appropriate allocation of resources amongst various software project activities.