/daspi

:chart_with_upwards_trend: SMART-SPI: A data analysis tool to support process information analysis.

Primary LanguagePython

SMART-SPI

A Data Analysis Model for Software Process Improvement

About SMART-SPI

  • SMART-SPI is a flexible reference model that integrates a set of activities for implementing SPI initiatives. SMART-SPI also takes advantage of the business information by providing activities to manage, analyze and interpret useful data for decision-making. Integrated activities deal with the current issues and challenges software organizations are facing and help to facilitate SPI initiatives.

  • The SMART-SPI model encompasses a total of 8 phases, each of which integrates a set of activities and recommended tools, which involve from the identification of business objectives to the implementation of the improvements.

Purpose

The purpose of SMART-SPI is to provide guidance to software practitioners in the design and definition of software process improvements initiatives, which help to build high-quality software products and services.

  • SMART-SPI is one of the first proposals that provides a solution to the current issues and challenges around the management of information for SPI using data analytics. This model is adapted to the current way of building software and to the methodology and practices used by practitioners. This flexibility able practitioners to keep those good practices which are already implemented by the organization and to adopt new ones based on other methodologies and techniques.

Milestones

Activities, tasks, and the purpose of each of the SMART-SPI's phases are represented by the following milestones image:

alt text

  • S phase. This phase has two milestones: 1) to create a strategy for the SPI initiative, formalizing and using the business goals, and 2) to identify the internal best practices by the application of questionnaires.

  • M phase. Three milestones are intended to be accomplish during the development of M phase: 1) to create a fulfillment matrix, which emphasizes which business goals are addressed with some specific practices, 2) to identify the most significant process areas for the business in order to have the greatest impact when applying the SPI initiative, and 3) to provide details about the datasets using a data sheet.

  • A phase. Milestones for this phase are: 1) to provide some guidelines to help practitioners in the data cleansing and storage process, 2) to provide some guidelines for the selection of the most appropriate data analysis technique, and 3) to analyze process information using the selected data analysis technique.

  • R phase. For R phase, two milestones have been defined: 1) to provide some guidelines that help practitioners to select the most appropriate data visualizations tools according to the kind of available data, and 2) to provide some guidelines to communicate the results of the data analysis process in a way most of the stakeholders can understand.

  • T phase. The unique milestone for this phase is to identify external best practices from a multi-model environment in order to have some practices from other methodologies, models and standards for software development that help to fulfill with the current business goals.

  • S’ phase. Two milestones have been identified for this phase: 1) to update and review the fulfillment matrix in order to 2) evaluate the accomplishment of business goals.

  • P phase. P phase’s milestones are: 1) to perform some postmortem questionnaires in order to obtain feedback for the SPI initiative and 2) to create a document of business decisions that help the organization to reach its mission.

  • I phase. The only milestone for this phase is to implement the SPI initiative by adopting the best internal and external best practices that have been identified.

Using the SMART-SPI model

On the one hand, most of the companies today have realized the kind of valuable information that resides on their data. This information can be used to decrease production costs, to increment products quality, to improve customer satisfaction, among other benefits. However, only 20% of the information is currently being used to inform decision-making.

On the other hand, it seems that the lack of data and information is not a problem, given that companies already own enough data to analyze but what to do whit this data and how to analyze it is the biggest concern for companies around the world, which prevent to take a full advantage of their own information.

  • SMART-SPI aims to help practitioners to identify that valuable information, regardless the size of the company, the amount of available data to analyze, or the amount of budget their own.

  • In an effort to facilitate the implementation of SMART-SPI by practitioners, both the target organizations and the requirements to implement the model are described as follows.

Target organizations

The SMART-SPI model is oriented to different kind of organizations, from big companies to SMEs (Small and Middle-size Enterprises). These are some of the benefits mature and immature (from a software processes point of view) organizations can obtain by the implementation of SMART-SPI:

Mature organizations. This kind of organization is easy to identify when processes are measurable and well-documented, roles and responsibilities are defined throughout the entire organization, processes are supported by technology and authorities and are accurately followed during software development. Some of the benefits at the implementation of SMART-SPI may include:

  • To evaluate their current way of working against the required activities and practices established by the certifications they hold, in order to verify if they are still eligible for that specific certification, to identify the practices that have been ignored and to improve the current practices.

  • To provide an accurate structure of their software repositories for a better knowledge management. In case this kind of practices are already established by the organization, be able to improve data analysis practices.

Immature organizations. Software development organizations which processes are not accepted nor followed by all practitioners, product quality is hard to predict, and eventually, product functionality is compromised to fulfill with the initial plan are considered as immature organizations. Some of the benefits at the implementation of SMART-SPI may include:

  • To identify already-implemented internal best practices.

  • To implement external best practices that best match to the current way of working.

  • To provide a formal definition of software processes.

  • To provide an initial structure of their software repositories that able knowledge management and data analysis.

Implementation recommendations and rules of thumb

The following is a list of requirements and recommendations that help to guarantee the implementation of the SMART-SPI model into software development organizations:

  • High-level support. In order to facilitate the implementation of SMART-SPI, this must be supported from the CEO to project managers and developers. Therefore, efforts are focused on the same direction and any problem can be easily solved.

  • Communicate the plan. It is highly recommended to communicate the plan along all levels in the organization, thus the purpose of SMART-SPI is well understood and its activities are implemented correctly, like the application of the questionnaires to identify internal best practices.

  • Avoid resistance-to-cooperate attitudes. Occasionally, process tracing and evaluation can be perceived as a threat by stakeholders, given that is perceived as a way to extract knowledge from stakeholders, and once captured, they will lose the value for the organization and may be fired. The recommendation to avoid these attitudes is to communicate the purpose and vision of the organization, thus every employee would understand the real needs for the SPI initiative implementation.

  • Many ways to do the same. SMART-SPI is a reference model that provides activities to implement SPI initiatives. However, it is possible to adapt or change these activities to better or more comfortable activities for practitioners, but it is important to do not forget the purpose of SMART-SPI through each phase.

  • Adaptation, not to force implementation. One of the biggest features of SMART-SPI is that does not intent to force practitioners to follow practices that do not correspond to the way they develop software. In other words, practices and activities from SMART-SPI are intended to be adapted to the capacity of software organizations.