Abstract:
To compete in the international market, there is a need to improve both the quality
of our software products and our ability to deliver the product within time and budget.
These improvements depend strongly on process as well as technology. Software
Process Improvement (SPI) is an ongoing effort because the process keeps evolving
over time.
The current problem with SPI is not a lack of standard or model, but rather a lack of
an effective strategy to successfully implement these standards or models. The
importance of SPI implementation demands that it be recognized as a complex process
in its own right and that organizations should determine their SPI implementation
maturity through an organized set of activities. Niazi et al suggested SPI
implementation maturity model that has the potential to help companies assess and
improve their SPI implementation processes. This model is extracted from Capability
Maturity Model Integration (CMMI) and is based on critical success factors (CSFs)
and critical barriers identified through literature and an empirical study. This model
has three dimensions; Stage Dimension, Critical Success Factor (CSF) Dimension, and
Assessment Dimension. Stage dimension comprises of four maturity levels; initial,
aware, defined and optimizing, and set of CSFs and critical barriers for all these levels
has been defined in CSF dimension. In assessment dimension each of the CSF and
critical barrier is measured in order to assess how well the factor has been
implemented in practice of that organization. In order to resolve the conflict of
different stakeholder’s evaluation standards of same factor, an already tested
instrument i.e. the Motorola instrument has been used in this dimension. However, this
model has many weak areas and needs improvement.
My work comprises of four phases. In first phase, I identified weaknesses in the
model and suggested improvements. In the second phase, I interacted with the experts
from local software industry to evaluate suggested enhancement to the model. In phase
three, I implemented this model using the .Net (dot net) framework to provide this
vi
model in the shape of a Computer-Aided Software Engineering (CASE) tool to the
software industry so that the organizations can evaluate their SPI status. Finally, I
conducted a case study in a software development company in order to validate
performance of the model and usability of the CASE tool.