76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction...

38
AB HELSINKI UNIVERSITY OF TECHNOLOGY T 76.3601 Introduction to Software Engineering http://www.soberit.hut.fi/T -76.3601/ Casper Lassenius Casper.Lassenius@tkk.fi Software Process Improvement

Transcript of 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction...

Page 1: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

T–76.3601 — Introduction to Software Engineering

http://www.soberit.hut.fi/T-76.3601/

Casper [email protected]

Software Process Improvement

Page 2: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Software Process Improvement

Page 3: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Leavitt’s Organizational Diamond

Structure, Culture, Management,

Decision making

Tools, Methods, Facilities, Environment

PracticesProceduresInstructions

KnowledgeSkills, Needs,Motivation

Structure

Technology

Process People

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Knowledge,Skills, Needs,Motivation

Tools, Methods, Facilities,

Environment

Practices,Procedures,Instructions

Structure,Culture,Management,

Decision making

Structure

Technology

Process People

Adapted from Leavitt, H.J. Applied organizational change in industry: Structural, technological and humanistic approaches. Handbook of Organizational. J.G. March. Chicago, Rand McNally. 1965

Page 4: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Major Approaches to Software Process Imrovement

• Personal Software Process (PSP)

• Team Software Process (TSP)

• Reference Model & Assessment

• SEI IDEAL

• SEI CMM(I)

• ISO 15504 (SPICE)

• Process Modeling, Definition and Measurement

• ISO 9000

• Quality Improvement Paradigm & Experience Factory

Page 5: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

The SEI Software Process Frameworks

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 6: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Personal Level Process Improvement

Page 7: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Personal Software Process (PSP)• Recommends five framework activities

• Planning

• High-level design

• High-level design review

• Development

• Postmortem

• stresses the need for each software engineer to identify errors early and as important, to understand the types of errors

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005.

Page 8: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

The Personal Software Process (PSP)• Software engineers are poor at producing high-

quality products to schedule and specifications

• The PSP helps individual engineers...

• plan

• track

• measure, and

• improve

• ...their own software process

Page 9: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

PSP Principles• Engineers are individuals that must plan their work

based on personal data

• To improve, personal measurement is needed

• To achieve quality, personal measurement is needed

• Bugs should be found and corrected as early as possible

• It is more efficient to prevent bugs than to find and correct them

• The right way is the fastest and cheapest way to do a job

Page 10: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

PSP Training Path

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 11: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

PSP Process Structure

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 12: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

A PSP Process Script

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 13: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Time Recording Log

AB HELSINKI UNIVERSITY OF TECHNOLOGYCasper Lassenius

Page 14: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Defect Recording Log

AB HELSINKI UNIVERSITY OF TECHNOLOGYCasper Lassenius

Page 15: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Project Plan Summary

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 16: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Experiences with the PSP

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 17: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Experiences with the PSP

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 18: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Experiences with the PSP

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Page 19: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Comments on the PSP• Brings discipline to personal software engineering

• Lots of work!

• needs support tools

• forms, forms, forms...

• Demands strict discipline

• Statistics needed sometimes quite involved

• Not very widely adopted

• Worth trying—and adopting(?)

Page 20: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Summary• There is a lack of models dealing with personal level

process improvement

• PSP aims at improving the way individual software developers perform their work

• The PSP provides a framework, methodology and supporting forms to help the developers

• The PSP is not widely adopted, but the empirical data obtained show that it can help improve many important dimensions

• For more information, get one of the books or surf to the SEI website: http://www.sei.cmu.edu/

Page 21: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Team Level Process Improvement

Page 22: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

SPI at the Team Level• Lack of assessment / improvement models

• Several prescriptive models

• TSP

• Agile software development models

• XP

• Scrum

• ...

Page 23: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Team Software Process (TSP)

• Each project is “launched” using a “script” that defines the tasks to be accomplished

• Teams are self-directed

• Measurement is encouraged

• Measures are analyzed with the intent of improving the team process

• Builds and relies on the PSP

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005.

Page 24: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

TSP Roles

• Team Leader

• Development manager

• Planning manager

• Quality / Process manager

• Support manager

Page 25: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Organizational Level Process Improvement

Page 26: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Process Assessment and Improvement

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005

Software Process

Software Process

Assessment

is examined by identifies capabilities

and risk of

identifies

modifications to

Software Process

Improvement

Capability

Determinationleads to leads to

motivates

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005.

Page 27: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Process Assessment• A disciplined evaluation of an organization’s software process

against a reference model

• The process is assessed to ensure that it meets a set of process criteria that is believed to be essential for successful software engineering

• Many assessment options are available

• Modes

• Official appraisal

• Self-assessment

• Different uses

• Process Improvement

• Subcontractor evaluationThese courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach. 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005.

Page 28: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

SEI!s IDEAL

Stimulus forimprovement

Set Context& Establish

Sponsorship

EstablishImprovementInfrastructure

Appraise &Characterise

Current Practice

DevelopRecommendations

& Document Phase Results

Set Strategy& Priorities

Establish ProcessAction Teams

Plan Actions

DefineProcesses

& Measures

Plan & Execute

Pilots

Plan, Execute & Track

Installation

Document& AnalyseLessons

ReviseOrganisational

Approach

Acting

Establishing

Diagnosing

Leveraging

Initiating

SEI-9

5-

TR-00

1

Page 29: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

SW-CMM• A strategy for improving the software process

• Put forward in 1986 by the SEI

• Fundamental idea

• Improving the software process leads to

• Improved software quality

• Delivery on time, within budget

• Improved management leads to

• Improved techniques

• Defines five levels of maturity through which an organization advances

Page 30: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

The CMMI

• The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals

• Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective

• Specific practices refine a goal into a set of process-related activities

Page 31: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

CMM Levels and Focii

AB HELSINKI UNIVERSITY OF TECHNOLOGY

CMM Summary

Page 32: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

SW-CMM Maturity Levels

AB HELSINKI UNIVERSITY OF TECHNOLOGY

aturity Le

Page 33: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Impact of Process Maturity

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Page 34: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Process Improvement Data !contd"

Results of 34 Motorola projects

Page 35: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

ISO 9000• Set of five standards for industrial activities

• ISO 9001 for quality systems

• ISO 9000-3, guidelines to apply ISO 9001 to software

• Not process improvement

• Stress documenting the process and following and improving the documented processes

• Emphasis on measurement and metrics

Page 36: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

ISO-9000 Quality System

AB HELSINKI UNIVERSITY OF TECHNOLOGY

ISO9000 Quality System

Quality Systemauditsmgmt

reviews

Sustainingchange,

identifying new

Implementingchange,

sustaining commitment

Quality SystemHandbook

assessinglearning

Juha Rikkilä, Nokia

Slide by Juha Rikkilä, Nokia

Page 37: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius

Summary

• Two basic approaches at the organizational level

• Assessment mode-based improvement

• Measurement and modeling based

• The aim of all approaches: high quality

• project timeliness

• less rework

Page 38: 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction to Software Engineering ... • ISO 15504 (SPICE) • Process ... AB H E L S IN K U N I V E R

AB HELSINKI UNIVERSITY OF TECHNOLOGY

Questions?