76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction...
Transcript of 76.3601 Introduction to Software Engineering - · PDF fileT–76.3601 — Introduction...
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
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Software Process Improvement
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
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
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
The SEI Software Process Frameworks
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Personal Level Process Improvement
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.
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
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
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
PSP Training Path
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
PSP Process Structure
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
A PSP Process Script
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Time Recording Log
AB HELSINKI UNIVERSITY OF TECHNOLOGYCasper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Defect Recording Log
AB HELSINKI UNIVERSITY OF TECHNOLOGYCasper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Project Plan Summary
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Experiences with the PSP
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Experiences with the PSP
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Experiences with the PSP
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
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(?)
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/
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Team Level Process Improvement
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
• ...
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.
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
TSP Roles
• Team Leader
• Development manager
• Planning manager
• Quality / Process manager
• Support manager
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Organizational Level Process Improvement
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.
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.
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
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
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
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
CMM Levels and Focii
AB HELSINKI UNIVERSITY OF TECHNOLOGY
CMM Summary
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
SW-CMM Maturity Levels
AB HELSINKI UNIVERSITY OF TECHNOLOGY
aturity Le
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Impact of Process Maturity
AB HELSINKI UNIVERSITY OF TECHNOLOGY
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Process Improvement Data !contd"
Results of 34 Motorola projects
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
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
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
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Questions?