1 Disciplined Software Engineering Watts S. Humphrey Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Sponsored by the.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Disciplined Software EngineeringWatts S. Humphrey
Software Engineering InstituteCarnegie Mellon UniversityPittsburgh, PA 15213-3890
Why Plan?Planning is like design. Without a plan, engineers • waste time deciding what to do next• can’t tell where they are• focus on the wrong tasks• consistently produce late, poor-quality, and over-
budget products
With a plan, engineers can• negotiate rational schedules and resources• react to changing conditions• keep management informed• take the time to do the job the right way
Why Measure and Track the Work?Measurements provide• a factual basis for analyzing the work• the historical data for planning• an objective assessment of job status
Without measurements, we are forced to rely on• opinion• mythology• power and politics
PSP and TSP Principles - 1The basic PSP and TSP principles are that• Software work is challenging.• Without proper methods, it is much harder.• Sound software methods are not obvious.• Engineers must be taught these methods to use
them properly.• Unless management supports the use of these
methods, engineers will be able to use them. The PSP and TSP define and teach a family of software engineering, team, and management practices.
Introducing Personal DisciplinesUntil they try it, most software professionals do not believe disciplined engineering will work for them.• They won’t try it without evidence.• They can’t get evidence without trying it.
The PSP course provides this experience.• Engineers write 10 programs.• They start with their current methods.• They advance in steps to the full PSP.• They gather data on every program.
They see from their own data that, with disciplined personal methods, they do better work.
The TSPThe TSP builds and guides cross-functional teams. It provides• a defined teambuilding process• a teamworking framework• a supportive management environment
It is designed for development and maintenance teams of 2 to 20 engineers.
It includes• a full set of process forms, scripts, and standards• standard team-member roles• a structured launch and tracking process• a team and engineer support system
The launch takes 4 days.• It is part of the project.• It is led by a trained team coach.• It immediately follows PSP training.
In the launch, the engineers• select personal roles• define their own processes• produce team and individual plans• balance these plans• assess and assign project risks
Engineering ReactionsWith proper support, TSP engineers can produce extraordinary results.
Engineers like to use the TSP:• This really feels like a tight team.• The TSP forces you to design, to think the whole thing out.• Design time is way up but code time decreased to compensate.• Tracking your time is an eye opener.• Really good teamwork on this project - no duplication of effort.• I’m more productive.• Gives you incredible insight into project performance.• Wonderful to have team members assigned specific roles.• Team really came together to make the plan.• I feel included and empowered.
A TSP Industrial Project - 1Communications test equipment• 12 software and 3 hardware engineers• not all software engineers PSP trained
Plan Actual
Size - KLOC 110 89.9Effort - hours 16,000 14,711Schedule - weeks 77 71Defects per KLOC Integration and system test 1.1 0.6 Field trial 0.0 0.02 Customer use 0.0 0.0
A TSP Government ProjectAir Force flight planning system• 6 software engineers• 5 were PSP trained
Integration and system test time was reduced from an average of 22% of schedule to 2.7%.
Productivity was 2.33 times the same team’s prior project.
Projects A B C TSPSize - LOC 67,291 7,955 86,543 25,820Test Days 63 23 92 6System test defects/KLOC 2.21 4.78 2.66 0.54Acceptance test defects/KLOC N.A. 1.89 0.07 0.15
Getting Started with PSP/TSPSprinkling a few PSP-trained engineers around an organization will not produce noticeable results.
Installing PSP/TSP in an organization requires• a team-based improvement focus• careful planning• senior management involvement and sponsorship• a change in the behavior of both the engineers and
For More InformationVisit the PSP or TSP web sites http://www.sei.cmu.edu/psp/ http://www.sei.cmu.edu/tsp/
Contact a PSP transition partner http://www.sei.cmu.edu/collaborating/partners/trans.part.psp.html
Contact SEI customer relations Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Phone, voice mail, and on-demand FAX: 412/268-5800 E-mail: [email protected]