Personal Software Process Use in Organizations CIS 376 Bruce R. Maxim UM-Dearborn These notes are based on: Introduction to the Personal Software Process Watts S. Humphrey Addison-Wesley Longman (1997) Personal PSP Implications •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?” Personal PSP Implications •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. Personal PSP Implications •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. Personal PSP Implications •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? Personal PSP Implications •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. The Costs of the PSP •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 The Costs of the PSP •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 The Benefits of the PSP •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 The Benefits of the PSP •Ideas –by defining your process, you can control 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 The Benefits of the PSP •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 The Benefits of the PSP •Personal control –you will have a planning framework –you will have 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 The Benefits of the PSP •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 The Benefits of the PSP •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. 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. The Solo PSP Performer •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. The Solo PSP Performer •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. The Lone PSP Team •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 The Lone PSP Team •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. The Lone PSP Team •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 Organizational PSP Support •To be most effective, you will need organizational support. –education and training –database and analysis –process definition –tools •To get these, you will need management’s help. Organizational PSP Support •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 Organizational PSP Support •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. Introducing the PSP – part 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. Introducing the PSP – part 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 Introducing the PSP – part 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. Introducing the PSP – part 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