SOFTWARE PROCESS IMPROVEMENT - Tech



SOFTWARE PROCESS IMPROVEMENT

Sharath Chandar Aleti

Louisiana Tech University

Abstract:

This paper intends to give a brief view on importance of Software Process Improvement to an organization. The intention is that this review would be utilized to support the business case for initiating and continuing SPI programs, to aid in the selection amongst the alternative improvement paradigms, to make more accurate estimates of the costs and benefits of such efforts, and to help set and manage the expectations of technical staff and management.

Introduction:

Software Process can be defined as a set of activities, methods, transformations and practices that people use to develop and maintain software and the associated products. A good business process is simply one that leads to satisfied users-the only one who can define product quality and to achieve this process Software Process Improvement is needed. Software Process Improvement encompasses process assessment, process refinement (traditional SPI), and process innovation (introducing major process changes).

The Process of getting software process improvement started:

➢ Motivation

➢ Expectation Setting

➢ Visioning

➢ Business Objectives

➢ Software Process Improvement Infrastructure

➢ Selecting the Process Improvement Participants

➢ Managing Change

➢ Determining the priority for the Process Improvement Implementation

➢ Action Planning

Motivation:

Standards bodies sometimes provide motivation for organizations to get a process improvement initiative started. Pressure for an organization to be compliant to a particular standard often provides a starting point from which to build the process improvement program. It is important to understand why the management team wants to get a process improvement initiative going. It is important to determine how the management team sees the process improvement effort supporting its vision or strategic goals. It is critical in all cases to determine how the process improvement effort is perceived to support the business objectives of the organization. Understanding the motivation can help you to understand what you are up against and determine the probabilities of success. It will definitely help you to gauge the extent of the effort that will be required to get this process improvement effort started and what it will take to keep it going.

Expectation setting:

If process improvement is to be successful, it requires full cooperation from all levels of management and practitioners. It is only proper that each person in the organization understand what is expected of them. Some of the more important questions that need to be presented and answered include:

• What are the costs and benefits of committing to a process improvement program?

• What is required of senior management?

• What other related efforts are in place?

Visioning:

If the software process improvement initiative does not support management’s vision, then the probability that management will support process improvement over the long term is very low.

What is your vision for the organization in the next year, and in the next two to five years? In other words:

• What products will you be focusing on?

• Who will your competitors be?

• Where will your organization be ranked?

• What will the culture of the organization be like?

Action Planning

Getting a process improvement initiative started means developing an action plan and implementing that plan. Often an Action Planning Kick-Off session is conducted as a means to transition the assessment. Senior management should present the "Vision" and the business and quality goals and state how this process improvement effort will support those goals and that vision. All Working Group members should receive an overview of the organization's and/or product line's software process improvement initiative, and a description of the Action Plan template. Major Action Plan milestones should be reviewed, and a Working Group Focus Area Action Plan schedule should be created.

Business Motivation for Process Improvement

• cycle time reduction

• quality improvements in the delivered products

• improved schedule performance because of more realistic estimates and reduced feature creep

• reduced internal rework and wasted effort

• reduced staff turnover and increased morale

• The ability to facilitate movement of people from one project to another because of common software development practices.

Guiding Principles for Software Project Improvement

The following are the guiding principles for Software Project Improvement

• The SPI initiative is intended to address business, technical, project management, and quality of life issues that are worth improving. The organization should be able to explain to stakeholders why a proposed activity or deliverable is important.

• Process oriented work products must be concise, must add value, and must be usable. There is no intent to produce reams of documentation.

• The appropriate mindset for process change is to understand “what’s in it for us” as a project team, an organization, or a company and its customers, not just what’s in it for any individual.

• The initiative will emphasize the importance of leveraging existing examples and templates. The organization must avoid the “not invented here” syndrome, choosing instead to borrow, buy, or adapt appropriate artifacts that already exist.

IDEAL Model:

The software process improvement model, IDEAL, can be used to guide development of a long-range, integrated plan for initiating and managing a SPI program. The model depicts of five phases for SPI initiative

▪ The Initializing Phase

▪ The Diagnosing Phase

▪ The Establishing Phase

▪ The Acting Phase

▪ The Leveraging Phase

The Initializing Phase:

In this phase, the organization’s senior management first understands the need software process improvement (SPI), commits to a SPI program, and defines the context for SPI.

The Diagnosing Phase:

The management steering group must understand the organization’s current software process baseline so that it can develop a plan that will achieve the business changes specified in the organization’s software process improvement goals. The base lining activities performed in the Diagnosing phase will provide this information into the SPI planning and prioritization process.

The diagram below shows the two dimensional view of the process activity [2].

[pic]

The Establishing Phase:

Creating the strategic action plan for software process improvement (SPI) is one of the most critical in the SPI initiative—and most often neglected. This is where the management team develops or updates a SPI strategic action plan, based on the organization’s vision, business plan, and past improvement efforts, along with the findings from the base lining efforts.

The Acting Phase:

The Acting phase is where the improvements are developed, put into practice, and deployed across the organization. The various improvements that the working groups have developed are complete and their value will be “proven” to the organization by piloting them.

The Leveraging Phase:

Now that the organization has completed one cycle through IDEAL it is necessary to review what happened during that cycle and prepare for the next cycle through the model. Rather than re-enter IDEAL at the Initiating phase on subsequent cycles through the model, by performing the activities of this Leveraging phase you will reenter IDEAL at the Diagnosing phase. The Leveraging phase, in addition to preparing for the next cycle through IDEAL, gives you the opportunity to “tune-up” the software process improvement (SPI) process before starting again.

Process Improvement Goals

1) Long-Term Goals: - Describe the long-term objectives of the SPI activity, over a span of 2 to 3 years. These may be motherhood statements, but the more they can be related to business objectives and correcting known shortcomings in the current business, the more plausible they will be. Keep goals few, concise, unambiguous, and measurable.

2) Short-Term Goals :- Define the SPI goals for the next 6-12 months, in terms of the areas to be worked on, the improvement objectives desired, and the ways in which progress toward these goals will be measured and determined

Manage the Software Process Improvement Program

Setting the Stage for Software Process Improvement (SPI)

To keep the SPI program focused over the long term, a management infrastructure will be required. This management infrastructure will be required to make changes of focus and adjustments to priorities many times as the effort proceeds. These changes will be driven by both internal and external factors, changes in the marketplace, shortage of resources, critical skill availability, availability of new or improved technologies, and any of a host of other factors.

Once the SPI program is started, management has the most challenging and, in some sense, the most rewarding responsibility. Significant challenges will come from the organization’s resistance to change, cost, schedule demands and inevitable slow progress that seem to characterize all improvement efforts. Management must keep the SPI program focused on improvements connected to the organization’s vision and mission. The main task is to review and select baselines that are needed.

Organizing the SPI Program

In most cases there will be three components to the organization’s SPI infrastructure:

1. Software engineering process group (SEPG).

2. Management steering group (MSG).

3. Technical working group (TWG).

These are generic names and may vary from organization to organization. The components of the infrastructure and their relationship to each other are largely determined by such factors as organization size and geographical diversity.

As a SPI program gets under way, an infrastructure must be developed and put in place. This infrastructure will have the responsibility of providing guidance for the SPI program.

Planning the SPI Program

Developing the SPI strategic action plans for the improvement activities starts with a review of the findings and recommendations that resulted from the base lining activities. This input provides the starting point for development of the SPI strategic action plan. These findings and recommendations, along with the organization’s vision, mission, and business needs will help determine the content, priority, and sequence of activities for the SPI program.

One of the continuing activities of an improvement program is build and maintain sponsorship and support for the initiative. To help accomplish this objective, it would be beneficial to the program to find and fix a few quick-fixes, quick-return improvement projects—picking the so-called “low-hanging fruit.” Implementing these quick-fix improvements and communicating their occurrence will have many benefits. It will help demonstrate to personnel within the organization the value of the initiative by showing. The main task is to Review existing baselines and determine if new baselines need to be developed.

Staffing the SPI Program

In addition to the resources devoted to the management structure, additional resources allocated to the SPI program take two forms.

The first are personnel resources that are allocated full time and make up the SEPG. Staff to fill the positions in the SEPG will usually come from within the organization’s development ranks. The success of the SEPG and the effectiveness of the SPI program depend largely on the quality of the people that are recruited for the SEPG.

A second set of resources will be required to staff the TWGs that will be formed to address specific improvement issues. Resources for the TWGs are usually committed as a percent of a full-time person. The main task is to assign management staff to the MSG and to the TWGs. Another task is to review resource requirements for each base lining activity against resources available.

Monitoring the SPI Program

The format that the reviews will take should be defined in advance by the MSG, documented in the TWG charter and should have the same format from review to review. It may take a few cycles of review meetings to determine the most productive format for the review and any associated artifacts that are used or distributed at the review. Evaluation activities encompass all facets of an organization’s SPI program. Evaluators ask such questions as

• Are we doing it right?

• Are we doing the right thing?

• Have we achieved the expected benefits?

• Are the improvement projects on schedule?

To monitor the SPI program, a measurement system to evaluate progress must be in place. The key to evaluating the SPI program will be the metrics that are selected for measurement and the ease with which they can be gathered. Measurement will occur at many levels throughout the organization—from very low-level measurements such as coding errors that are found during inspections or testing to higher level measures such as the rate and/or volume of field trouble calls. All these measures should be maintained so that a history of the benefits of the SPI program will be available when needed. There are generally two forms of evaluation of the SPI program. The main task is to define procedures for SPI status/progress reviews.

Directing the SPI Program

At the strategic level, the MSG will ensure that the SPI efforts are linked to the organization’s overall vision and mission. Working at this strategic level, the MSG is concerned with a broad set of issues that can affect the SPI program. Some additional areas for review and evaluation include market opportunities, organizational structure, technology advances, available resources, etc.

Some of the responsibilities include

• reviewing and linking together the existing policies of the organization

• evaluating how these existing policies help or hinder the SPI program and

• how they integrate with the overall vision and mission.

The main task is to review existing policies and procedures.

Reasons for SPI failures

▪ Lack of executive level sponsorship

▪ Lack of middle and first line management commitment

▪ Organizational culture unwilling to change

▪ Lack of commitment to continuous SPI improvement

▪ Lack of successful resources in SPI effort

Conclusion

Software process improvement is worth the investment as data from many software companies demonstrate a positive return on investment for software process improvement. The measurements include expenditures, productivity, quality, customer satisfaction.

References

➢ The Process of Getting Software Process Improvement Started. Tim Kasse.

➢ A User’s Guide for Software Process Improvement.

Bob Mc Feeley.





................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download