Upload
dangdang
View
214
Download
0
Embed Size (px)
Citation preview
AB HELSINKI UNIVERSITY OF TECHNOLOGY
T-76.3601 – Introduction to Software Engineering
The Software Process
http://www.soberit.hut.fi/T-76.3601/
Casper [email protected]
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Practicalities
• Registration closed
• First course email sent
• Slides published weekly on the schedule page
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Software Engineering?
1. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software
2. The study of approaches in (1)
(IEEE Computer Society)
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
a “quality” focus
process model
A Layered Technology
Software Engineering
methods
tools
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Software Process?• Process
• Webster: 1. A continuing development involving many changes. 2. A particular method for doing something, usually involving a number of steps or operations
• IEEE: a sequence of steps performed for a given purpose
• Software Process
• CMM(I): a set of activities, methods, practices and transformations that people use to develop and maintain software and the associated products
• Simply: the way an organization develops software
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Knowledge,Skills, Needs,Motivation
Tools, Methods, Facilities,
Environment
Practices,Procedures,Instructions
Structure,Culture,Management,
Decision making
Leavitt’s Organizational Diamond
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
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
A Process Framework
• Umbrella activities
• Framework activities
• work tasks (activities)
• work products
• milestones & deliverables
• QA checkpoints
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
Framework Activities• Communication
• Planning
• Modeling
• Analysis of requirements
• Design
• Construction
• Code generation
• Testing
• Deployment
• Retirement
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
Umbrella activities• Software project management
• Formal technical reviews
• Software quality assurance
• Software configuration management
• Work product preparation and production
• Reusability management
• Measurement
• Risk management
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
The Process Model: Adaptability• the framework activities will always be applied on
every project ... BUT
• the tasks (and degree of rigor) for each activity will vary based on:
• the type of project
• characteristics of the project and the project team
• common sense judgement; concurrence of the project team
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
Process Patterns• Process patterns define a set of activities, actions,
work tasks, work products and/or related behaviors
• A template is used to define a pattern
• Typical examples:
• Customer communication
• Analysis
• Requirements gathering
• Reviewing a work product
• Design model
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Major Approaches to Software Process Improvement
• Personal Software Process (PSP)
• Team Software Process (TSP)
• Reference Model & Assessment
• SEI IDEAL
• SEI CMM(I)
• ISO 15504 (SPICE)
• Process Modeling and Definition
• ISO 9000
• Quality Improvement Paradigm & Experience Factory
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
The SEI Software Process Frameworks
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Personal Level Process 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
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
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 processes
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 responsibility is important
• 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
The PSP Process Structure
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
A PSP Process Script
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Time Recording Log
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Defect Recording Log
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Project Plan Summary
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Experiences with the PSP (1/3)
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
PSP Experiences (2/3)
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
PSP Experiences (3/3)
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 – at least yet
• Worth trying – and adopting (?)
• I don’t know any coder who uses the PSP faithfully...
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Summary• There is a lack of models dealing with personal level
software 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 (yet?) widely adopted, but the empirical data obtained show that it can provide improvements on 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
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
Team Software Process (TSP)
• Each project is “launched” using a “script” that defined the tasks to be accomplished
• Teams are self-directed
• Measurement is encouraged
• Measures are analyzed with the intent of improving the team process
• Relies on the PSP
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
Experiences with the TSP (1/2)
AB HELSINKI UNIVERSITY OF TECHNOLOGY
TSP Experiences (2/2)
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
Process Assessment and Improvement
Software Process
Software ProcessAssessment
is examined by identifies capabilitiesand risk of
identifiesmodifications to
Software ProcessImprovement
CapabilityDetermination
leads to leads to
motivates
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
Process Assessment• 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
• SCAMPI
• CBA IPI
• SPICE (ISO 15504)
• ISO 9001:2000
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Process Assessment
• A disciplined evaluation of an organization’s software processes against a reference process model
• Different modes
• Official appraisal
• Self-assessment
• Different uses
• Process improvement
• Subcontractor evaluation
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Organizational Level Process Improvement
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 TeamsPlan Actions
DefineProcesses
& Measures
Plan & Execute
Pilots
Plan, Execute & Track
Installation
Document& AnalyseLessons
ReviseOrganisational
Approach
Acting
Establishing
Diagnosing
Leveraging
Initiating
SEI-95-
TR-001
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
• Five levels of “maturity” are defined
• Organization advances stepwise from level to level
AB HELSINKI UNIVERSITY OF TECHNOLOGY
CMM Summary
AB HELSINKI UNIVERSITY OF TECHNOLOGY
The CMM Maturity Levels
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Key Process Areas• There are key process areas (KPAs) for each level
• Level 2 KPAs include:
• Requirements management
• Project planning
• Project tracking
• Configuration management
• Quality assurance
• Higher level areas attack same problems in different ways than lower ones
• Level 2: Detection and correction of faults
• Level 5: Prevention of faults
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Impact of Process
Maturity
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
The CMMI
• The CMMI defined 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
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 process
• Emphasis on measurement and metrics
AB HELSINKI UNIVERSITY OF TECHNOLOGY
ISO9000 Quality System
Quality Systemauditsmgmt
reviews
Sustainingchange,
identifying new
Implementingchange,
sustaining commitment
Quality SystemHandbook
assessinglearning
Juha Rikkilä, Nokia
AB HELSINKI UNIVERSITY OF TECHNOLOGY Casper Lassenius
Summary• Two basic approaches at the organizational level
• Assessment model-based improvement
• CMM(I)
• ISO-15504 (SPICE)
• Bootstrap
• ...
• Measurement and modeling based
• Experience factory
• (ISO 9000 series of standards)
• ...
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
The Primary Goal of Any Software Process: High Quality
• High quality = project timeliness
• Why?
• less rework
AB HELSINKI UNIVERSITY OF TECHNOLOGY
Questions?