|Author : DAOUDI Samir | Context : MSc Software Engineering – Software Engineering|
Due to the importance of processes in the organizations and different aspects related to software solutions; they attracted a particular attention especially when thinking about optimization.
The optimization of process is a complex task that is fired by changes in the environment of the process or just the need of making things better, faster or cheaper.
The process improvement cycle is a good and easy representation of the steps involved. Based on three main steps that are: Measure, Analyze and Change.
The process measurement is a set of technics allowing measuring quantitative data about the process (Sommerville,2011). The data collected is used for different purposes; In fact, it can be used to baseline the performances of the process or, the most important goal of this measures if to determine what can be improved in the process, compare and check the enhancement of ameliorations made in the process improvement cycle.
The measures are important in determining if the process has been improved, but should be used in conjunction with quality data (Sommerville, 2011).
Different types of metrics can be used depending on what aspect of the process we are interested in measuring:
The resources: The run of a process needs some resources to be available. Depending on the type of the process, the resources might vary. And as the resources are sometimes critical, it is important to measure the different resources needed by the process.
The resources can be: access to particular hardware or device, effort in person-day …etc.
The number of occurrences: During the execution of a process we may be interested in counting the number of occurrences of certain events, especially those considered as bugs or malfunctions. Counting these events before and after changes in the process improvement cycles can help us determining if we have totally fixed some of the issues or at least minimize their occurrences.
The time: When collecting and analyzing a process, it is important to determine how long does it take for a process to complete (Koomen & Pol, 2008).
This definition seems to be vague, but different information related to time can be gathered as: The total duration of the process to complete, the time spent in a sub task of the process, the time spent by a person in interacting with the process…etc.
Time metric is very important in determining the improvement in a process, defining
The effectiveness of time’s metric is huge in the process measurement and improvement in general; In fact, when people complains about long wait times and bottlenecks in certain process (as the project we are working in), companies think about improving it and for non technical and managers guys, it can be easily understood when presenting as metrics the old response time (before improvements) and the one after the changes applied.
In order to determine the time consumed by a process we fix two points and calculate the time between them. After improvement, a comparison is made to check whether the improvement was successful? (Potter & Sakry,2011).
Improving process should be considered seriously to continue responding to the changing environment. Good process measures and defining the important and critical metrics for the appropriate process are the way to conclude about the improvement of the process.
Ian Sommerville (2011). Software Engineering, 9th edition, Pearson edition, ISBN: 978-0-13-703515-1
Tim Koomen & Martin Pol (2008). Test Process Improvement: A Practical Step-By-Step Guide to Structured Testing. ISBN: 978-1-4116-1020-2.
Neil S. Potter, Mary E. Sakry (2011). Making Process Improvement Work. ISBN: 0-201-77577-8.