IEEE Access (Jan 2017)
Identifying Deviations in Software Processes
Abstract
Software process improvement and business process reengineering are concomitant for software companies that struggle to mature their processes to reduce software project failures. Process gap analysis is an indispensable activity of both the initiatives. It is the identification of deviations in any process from a standard well-defined process. To identify deviations, an as-is process (descriptive/current process) and its corresponding to-be process (prescriptive/standard) are required. However, there is a lack of reengineering tools that support automated gap analysis. Companies rely on manual identification of deviations. The literature discusses various graph matching algorithms/techniques that determine similarities and differences between two graphs. They can be used in software industry as well to achieve multiple objectives, such as process improvement. As these techniques present certain limitations, such as insufficient element coverage for process gap analysis, they cannot deal with process gap analysis per se. However, they establish a ground for a much sophisticated solution. This paper presents an improved gap analysis algorithm to identify deviations in processes. The proposed algorithm is formally verified and also evaluated using an example process model.
Keywords