very well utilized for assisting staff of the
organization intending to implement CMMI
processes. There have been some researches along
this line as well. An intelligent fuzzy agent based on
process and product quality assurance (PPQA) is one
of them (Wang and Lee, 2007). It introduces
ontology for supporting CMMI assessment.
Similarly a methodology system for CMMI
diagnosis and analysis is being developed and
patented by Dagnino (2005).
The paper introduces CMMI Assistant which is a
knowledge based system capable of defining the
CMMI areas where lack of implementation exist and
recommend remedies to overcome the respective
gaps.
2 BRIEF OVERVIEW OF CMMI
Upon request of Department of Defence, CMMI was
developed by several dedicated teams in Software
Engineering Institute (SEI) of Carnegie Mellon
University (CMMI Product Team, 2006).
CMMI Assistant which is the subject of this
study mainly covers “CMMI for Development”
model. It is a reference model that covers the
development and maintenance activities applied to
both software products and services. Note that all
activities are carried out by a set of processes with
respective goals and practices. Each process area
includes three types of components such as required
components (specific and generic goals), expected
components (specific and generic practices),
informative components (sub practices, typical work
products...etc.).
For the sake of better process improvement,
these components are handled on the bases of two
different representations mainly: The continuous
representation and the staged representation.
The continuous representation enables an
organization to select a process area (or group of
process areas) and improve the respective processes.
This representation uses capability levels (CLs)
numbered from 0 to 5 to characterize improvements.
As a starting point, if the organization does not
know where to start and which processes to choose
to improve, the staged representation will be a good
choice as it gives a specific set of processes to
improve at each stage and is mainly used for
certification. Due to this, the staged representation
with maturity levels (MLs) numbered from 1 to 5 to
characterize improvements is considered to be the
main focus of the system proposed in this paper.
The SCAMPI is a well defined and accepted me-
thod used for conducting appraisals. The SCAMPI
family of appraisals includes Class A, Class B, and
Class C appraisal methods. SCAMPI A is the most
rigorous method and the only method that can result
in a rating. In SCAMPI A, the organization should
show that all specific and general practices for the
intended maturity level are implemented correctly.
In this study, all Direct Artifacts (D) and Indirect
Artifacts (I) for process areas were identified and
used for rating the maturity level of the organization
under assessment.
3 COMPUTER-AIDED CMMI
In an organization, understanding conceptually the
CMMI, mapping the software developing or
operational processes to CMMI process areas and
respective practices is a difficult activity which may
not always produce expected results. This requires
several internal assessment activities in order to
trigger improvements and prevents respective gaps.
However, conducting internal assessments before
SCAMPI A is costly and necessitates extensive
labour intensive tasks. Because of these reasons,
several computer- aided CMMI assistant programs
are developed in order to support and map the
organizational processes to respective and expected
CMMI capabilities easily. These programs mainly
provide support for conducting internal assessments
in the organization before SCAMPI A. However,
they still require intervention of human experts or
extensive CMMI and domain knowledge to make
decisions on the available artifacts.
There are several computer-aided assistant
systems such as CMM Quest (HM&S, 2009),
Appraisal Assistant Tool (Griffith University, 2007),
Compass (Vector Consulting, 2009), APEX
(Milman and Joubert, 2009), CMMI Appraisal
Recorder (SE-CURE AG, 2009) and QMIM Tool
(Kelemen et al., 2007) for the implementation of
CMMI. They are extremely important and beneficial
to understand the model and to perform self
evaluation on the process areas. However, it is
important to note that those systems are not
intelligent systems and they can only provide a road
map for the developers to make implementations.
Internal decisions are left to the user. There is still a
need for a system to provide both a road map as well
as set of recommendations for possible
improvements.
These computer-aided systems have common
specifications such as;
ICSOFT 2010 - 5th International Conference on Software and Data Technologies
426