Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #15 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 2 Lecture # 15 Overview The personal implications of the PSP The costs and benefits of the PSP Introducing and using the PSP in an organization The responsible professional What do you want from software engineering?
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 3 Personal PSP Implications - 1 If you seek personal excellence, the PSP can help you to attain it. By defining and measuring your work, you gain the knowledge to improve your personal performance. The question is, “do you want to improve?”
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 4 Personal PSP Implications - 2 To consistently improve, you must critically examine your own performance. To do this, you need a process framework and performance measurements. The PSP provides a suitable framework and set of measurements.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 5 Personal PSP Implications - 3 As a software professional you need to make commitments you can meet deal with unreasonable commitment pressures review status and plans with customers, managers, and coworkers The PSP will help you to perform professionally even when your customers, managers, or coworkers do not.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 6 Personal PSP Implications - 4 The PSP involves change and change involves risk. your methods may have sufficed in the past no one else may use disciplined personal practices But the problems of the future will be more challenging than those of today. will your current methods be adequate? do you know a better way?
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 7 Personal PSP Implications - 5 In using the PSP, you may face resistance. do you have a supportive environment? does your management agree with your interest in personal improvement? Your PSP efforts will be most rewarding when your management and your teammates share your interests and objectives.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 8 The Costs of the PSP - 1 The time investment process development takes about 1 to 2 hours per form and script process updates will be needed at least every 3 months data entry and analysis will take about an hour for each PSP-sized project
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 9 The Costs of the PSP - 2 The emotional investment the PSP takes a lot of work there will be occasional frustrations You will clearly see your own limitations if you can’t face your personal limitations, you should not use the PSP and perhaps you should reconsider your decision to be a software engineer
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 10 The Benefits of the PSP - 1 Insight you will better understand your strengths and weaknesses you will be better able to maximize your assets the PSP will help you to objectively deal with your weaknesses
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 11 The Benefits of the PSP - 2 Ideas by defining your process, you assert control over it you can then act like a process owner your critical facilities will be in gear you will unconsciously observe your working self you will see many ways to improve your process and your performance
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 12 The Benefits of the PSP - 3 Improvement framework a defined process provides a language for thinking about your work you can better see how the process parts relate you can better focus on priority areas for improvement
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 13 The Benefits of the PSP - 4 Personal control you will have a planning framework you will have the data on which to base your plans your plans will be more reliable you will be better able to track your status you will be better able to manage your work
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 14 The Benefits of the PSP - 5 Accomplishments and personal bests you will recognize your personal bests you will better understand how to repeat and to surpass them you will see where and how you have improved you will have your own personal improvement goals you will have the satisfaction that comes with knowing you are doing superior work
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 15 The Benefits of the PSP - 6 When your team’s processes are defined you can better back up and support each other you will more precisely relate to each other you will no longer need to protect yourself from your peers’ failures they won’t need to protect against your failures Teams perform better when they can concentrate on the job and not worry about being defensive.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 16 Using the PSP in an Organization Introducing the PSP into an organization involves 2 situations. the solo PSP performer - you are the only person using the PSP in your organization the lone PSP team - your team uses the PSP but they are the only team in the organization to do so You will also need management support for PSP introduction.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 17 The Solo PSP Performer - 1 It is hard to maintain personal discipline without the support of peers and managers. It is easy to get discouraged by a slow rate of personal progress. Your peers may kid you for wasting your time with the PSP.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 18 The Solo PSP Performer - 2 If you are not confident that the PSP helps you, it will be hard to withstand such criticism. normal statistical fluctuations will seem like major disasters instead of learning from your mistakes you may get defensive about them Until you have data to support the benefits of the PSP, you would be wise to say little about it.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 19 The Lone PSP Team - 1 When your team has been trained in the PSP, you will have a powerful base of support. You will be able to review each others’ work share process improvement ideas and results celebrate successes get support when you need it
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 20 The Lone PSP Team - 2 Be cautious about describing your results. Other groups may critique your results argue that they already do better work They are probably comparing their occasional best results with your normal performance. Without consistent data, such comparisons are meaningless and should be avoided.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 21 The Lone PSP Team - 3 If your results are superior, others may feel defensive. Be careful not to seem critical of other peoples’ work do not imply that your results apply to them suggest they try the PSP for themselves Concentrate on how the PSP has helped you to improve
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 22 Organizational PSP Support - 1 To be most effective, you need organizational support. education and training database and analysis process definition tools To get these, you will need management’s help.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 23 Organizational PSP Support - 2 You may have trouble getting management support unless they see your work as a prototype for the organization you have data to demonstrate the benefits of the PSP for your team Seek to interest others in exploring the PSP other projects SQA and the SEPG
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 24 Organizational PSP Support - 3 Support champions on other teams who wish to try the PSP. Seek the support of the process, quality assurance, and training groups. When other groups are interested in the PSP, management will be more willing to support you.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 25 Introducing the PSP - 1 In getting management support, show enough of your own and other groups’ data to convince them that there are important benefits the costs are controllable When they understand the potential value of the PSP, they will more likely provide support for long enough to produce measurable results.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 26 Introducing the PSP - 2 In introducing the PSP, it is essential that it be introduced with a formal course all professionals voluntarily participate the engineers be given time to do the work the managers provide weekly support and encouragement to their engineers to complete the PSP exercises the engineers’ personal data be respected as their private property
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 27 Introducing the PSP - 3 Where possible, do the PSP training by project team. Attempt to build clusters of PSP-trained teams that can reinforce and support each other. In selecting the initial projects, try to pick ones that are not in perpetual crisis.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 28 Introducing the PSP - 4 After PSP training, adapt the PSP to each project by measuring and planning the current process adjusting PSP2.1 or PSP3 to the project needs testing each process change before general introduction planning for continuous process improvement
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 29 Introducing the PSP - 5 Don’t try to introduce the PSP without support. Time is required to take the PSP course and to do the exercises. An experienced instructor is required. Course support will require at least 3/4 time from one engineer.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 30 The Responsible Professional As a responsible professional, you need to find and learn new methods use these methods in your work recognize your strengths and weaknesses identify areas for improvement practice, practice, practice publicize the methods you find helpful learn from history This will assure your continuing improvement.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 31 Coaching And Improvement A coach can help you to improve your personal performance by motivating superior performance demanding personal commitment insisting on a dedication to excellence supporting and guiding your development Seek coaching support from your peers and your managers
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 32 What do You Want from Software Engineering? What are your personal objectives? Surprisingly often we achieve our objectives in ways we did not expect, so keep an open mind and keep looking. Since we all reach the same end, we should concentrate on the route If you can occasionally achieve excellence, it could be well worth the trip.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 33 Messages to Remember from Lecture The PSP is designed to help you. 2. Use it to improve your performance and to help you to act professionally in difficult situations. 3. Emphasize what the PSP has done for you and urge others to find out for themselves what it will do for them.