making software process improvements happen jimmie johansson richard berntsson-svensson kashif ahmed...

34
Making Software Process Improvements Happen Jimmie Johansson Richard Berntsson-Svensson Kashif Ahmed Kahn

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Making Software Process Improvements Happen

Jimmie Johansson

Richard Berntsson-Svensson

Kashif Ahmed Kahn

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Agenda

Launching Software Process Improvement

Implementing Software Process Improvement

Measuring the Benefits of Software Process Improvement

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

The Stages for Software Process Improvement

Launching

Implementing

Institutionalizing

Measuring

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Launching Software Process Improvement

The Vision Phase

The Strategy Phase

The Alignment Phase

The Motivation Phase

The Implementation Phase

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

The Vision

The vision of the business – Often long term

Senior Management and the vision

SPI:s vision must be inline with the business vision

SPI:s vision must be clear and tell how it will support the vision of the business

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

The Strategy

Strategy is how to achieve the vision

Strategy consider what is feasible and what is not

Short, mid and long term to achieve vision

How to secure Senior Management Sponsorship

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Alignment With Organization

Important for SPI to be successful

SPI program should reflect the priorities and interdependencies between organizations objectives

SPI program should fit within the organizations context

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Motivation

Motivate why the improvement work is important

Different stakeholders are in need of different motivation

Prove that effort of changes gives positive result

Monitoring improvements to show result

(Selling to senior and middle management)

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Planning Implementation (1/6)

Analyzing the organizational context

Supporters and Non-supporters of the changes

Potential champions

Are organization ready for changes? When?

Make a strategy for goals, changes and process improvement

Levels of organizational context

Corporate context

Department or project or team context

Personal or software engineering context

Corporate levelWhole organization

Project/Team

Personal/Individual

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Planning Implementation (2/6)

Corporate level

Financial and budgeting issues

Business condition – Growth of organization

How teams should fit best in an organization

Geographical widespread of teams

External restrictions – Customer, partners or suppliers

The culture of the corporation

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Planning Implementation (3/6)

Department or project or team level

Managerial style

Reward systems

Technological environment

Network infrastructure

Development standards

Development methodologies

Engineering tools

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Planning Implementation (4/6)

Personal or software engineering level

Experience and background of staff

Education and training

Knowledge of staff

Acceptable of changes

Process awareness

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Planning Implementation (5/6)

Define organizational and process boundaries for SPI

Stakeholders identifying

Focus for SPI will be on targeted areas

Management sponsors identifying

Roles and responsibilities for continues activities for SPI identifying

Implications of changes identifying – Managing of changes

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Planning Implementation (6/6)

Business strategy and goals alignment

Win all stakeholders

Support from management

Dedicated resources for handle the implementation

Coordination of activities in process improvement

Handle organization context

Change management

Action prioritization

Create infrastructure for support

Monitoring result of SPI

Gain knowledge from feedback

Ingredients in an implementation model

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Implementation and institutionalization phase

Before implementation phase

Launch and planning for SPI should be completed

Software process assessment resulted in recommendations for improvement

Stages of implementing and institutionalizing SPI

Creating SPI action plan

Allocating responsibilities for SPI

Implementing SPI actions

Institutionalizing SPI

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Principles for implementing and institutionalizing SPI (1/2)

Introducing and managing the change

Change model and plan to make change happen

Managing change, key to effective process improvement

SPI is a journey

SPI not a one-off exercise

First an assessment

Improvement based on status of the current process

Process behaviour needs to be embedded into the organization

Senior management support and commitment is important

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Principles for implementing and institutionalizing SPI (1/2)

Dedicated resources

Addition to software process improvement team

Management and staff commitment

SPI activities cost time and resources

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Implementing SPI actions and managing the change (1/4)

Software Process Improvement Teams

Has responsibility for SPI project

Implements the SPI actions

Process design/redesign

Identify components of key process areas

Purpose and goal plus five common features

Commitment

Abilities

Activities

Measurement

Verification

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Implementing SPI actions and managing the change (2/4)

Purpose and goals Summarize key practices and process areas

The SMART criteria

Activities Involves performing the work, plans and procedures

Eliminating NVAs, redundancy and duplication

Commitment Actions the organization must take

Ability Involves resources, training and organizational structures.

Software PIT responsible for defining what training or awareness

Measurement Describes basic measurement practices

Used to control and improve the process

Specifying the process measurement and analysis

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Implementing SPI actions and managing the change (3/4)

Verification

Reviews and audits

External verification procedures

Managing the change

Important for success

Cultural changes

Behavioral changes

Organizational changes

Technological changes

Environmental changes

Potential sources of resistance to change

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Implementing SPI actions and managing the change (4/4)

Failure of implementing SPI Culture

Assuming that changing the culture is a trivial matter

Resistance to change

Not involve people that is affected

Ignore feedback

Sponsorship

Short-term commitment

Unrealistic expectations

Implementing organizational change Military

Reliance on brute force – people cannot relax

Put pressure – force met by force

Engineering

If job is changed, people will be forced to change – can break up good team and people do not like to be treated like a machine.

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Institutionalizing SPI

‘Institutionalization: The building of infrastructure and culture that support methods, practices, and procedures so that they are the ongoing way of doing business, even after those who originally defined them are gone’

Organizational policies

Rewards for process achievements

Penalties for not following the process

Process training and retraining

Management practices

Process talk is the natural way of communication

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

IDEAL model (1/2)

Initiating Starting the improvement program

Set context and establish sponsorship

Establish improvement infrastructure

Diagnosing Assessing the current state of practice

Develop recommendations and document result

Establishing Setting the implementation strategy and action plans for the improvement

program

Set strategy and priorities

Plan actions (SPI action plan)

Establish action teams

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

IDEAL model (2/2)

Acting

Executing the plans and recommended improvements

Define the process and measures (design/redesign)

Plan and execute pilots

Plan, execute and track installation

Leveraging

Analyzing the lessons learned and the results of the improvement effort

Document and analyze lessons

Revise organizational approach

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Measuring Software Process Performance

Major obstacles to the adoption of software process improvement (SPI):

Reluctance of business management to invest in SPI

No convincing evidence of the return on investment

Lack of reliable information

People don’t like to measure

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Why measure Software Process Performance?

Measurement is necessary to managers to monitor performance and efficiency of staff.

Provides a feedback loop necessary for any system to improve

Feedback loop is necessary for any system to stabilize and adjust with its environment

In software process environment, feedback loop helps in reaching state of continuous process improvement

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

What to measure?

Chaos cannot be measured.

Measuring the performance of a chaotic process will lead to inconsistent results.

Measuring product quality and process performance are both important.

Need for a balance in choosing the measurement indicators.

Process measurement should be related to process goals.

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Principles of Software Process Measurement

Define clear objectives of measurement programme.

The measurement programme must have management support.

Measurement roles and responsibilities must be allocated.

Measurement should cover both the process and the product.

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

Issues with Software Process Measurement

People believe it is difficult to conduct experiments in a difficult discipline of software engineering.

There is difficulty in measuring software process and comparing results consistently across organizations.

Quantifying the return on investment from investing in SPI is a challenging task.

Effective and meaningful measurements could only happen in a disciplined process environment.

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

An Example of Software Process Measurement Method

October 1990, consortium of European Companies (nine from Six European States)

Comprised of experts in software measurement and users applying quantitative approaches to the management of their project.

Result: “application of metrics in industry (ami) project”

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

ami Approach

ami approach adopts “goal-oriented measurement (GOM)”.

Application of GOM requires a structured method.

Each organization constructs its own measurement framework.

ami approach provides a commonsense framework for quantifying software projects.

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

ami Activities

Method itself consists of a 12-step sequence

Main activities are:

1. Assessment of the project environment.

2. Analysis of assessment conclusions and primary goals.

3. Metrication by implementing measurement plan

4. Improvement based on the measurement data and implementation actions

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

ami Metrics

ami methodology distinguishes metric from primitive metric as:

A metric is a measurable attribute of an entity, e.g. attribute ‘projecteffort’ is a measure (metric) of project size. To calculate this metric, time-sheet bookings are needed.

A primitive metric is a raw data item that is used to calculate a metric. Time-sheet bookings are the primitive metric.

A primitive metric is typically a metric that exists in a database but is not interpreted in isolation.

Each metric is made up of one or more collected primitive metrics.

Blekinge Institute of Technology

SE-371 79 Karlskrona

+46 455 38 50 00

www.bth.se/eng

ami Measurement Roles and Responsibilities

Roles defined in the ami method could be mapped to the roles and responsibilities involved in SPI.

Guidelines

Managers must be involved.

Measurement tasks must be clearly allocated and budgeted.

Metrics promoter must be present to write and implement the measurement plan, organize the presentation and distribute the information.

Work environment must be feasible for goal-oriented measurement.

Staff must be trained to overcome the resistance.