Columns by the SEI's Watts Humphrey

Total Page:16

File Type:pdf, Size:1020Kb

Columns by the SEI's Watts Humphrey The Watts New? Collection: Columns by the SEI’s Watts Humphrey Watts S. Humphrey November 2009 SPECIAL REPORT CMU/SEI-2009-SR-024 Software Engineering Process Management (SEPM) Program Unlimited distribution subject to the copyright. http://www.sei.cmu.edu This report was prepared for the SEI Administrative Agent ESC/XPK 5 Eglin Street Hanscom AFB, MA 01731-2100 The ideas and findings in this report should not be construed as an official DoD position. It is published in the interest of scientific and technical information exchange. This work is sponsored by the U.S. Department of Defense. The Software Engineering Institute is a federally funded research and development center sponsored by the U.S. Department of Defense. Copyright 2009 Carnegie Mellon University. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for inter- nal use is granted, provided the copyright and "No Warranty" statements are included with all reproductions and derivative works. External use. This document may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other external and/or commercial use. Requests for permission should be directed to the Software Engineering Institute at [email protected]. This work was created in the performance of Federal Government Contract Number FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. The Government of the United States has a royalty-free government-purpose license to use, duplicate, or disclose the work, in whole or in part and in any manner, and to have or permit others to do so, for government purposes pursuant to the copyright license under the clause at 252.227-7013. Table of Contents Introduction 1 1 Why Does Software Work Take So Long? 3 Working Harder 3 Interruptions 4 Non-Project Work 4 Lean And Mean Organizations 5 Ad-Hoc Working And Planning 5 You Also Need An Occasional Break 6 So, Keep Track of Your Time 6 Manage Interruptions 6 Learn to Use Administrative Support 9 Plan Every Job 9 Vary Your Work 9 Define and Use a Personal Process 9 Get and Use Historical Data 9 Acknowledgements 10 2 Your Date or Mine? 11 Getting Into Trouble 11 Pressure 11 The Problems With Pressure 12 I Told You So 12 Negotiating Schedules 12 Handling Pressure 13 Be Flexible But Firm 13 Answering Management 14 How Does This Work 14 The Next Steps 14 Final Comments 15 Acknowledgements 15 3 Making Team Plans 17 How Do They Make A Plan When They Don't Know the Requirements? 17 Plan Accuracy 17 How Detailed Should They Make the Plan, And How Much of the Project Should They Cover? 17 Start With the Process, Then List the Products And Make An Estimate 18 Make the Schedule 18 Next Came the Detailed Plan 19 What Happened 19 Teamwork 19 Closing Comments 20 The Commercial 21 Acknowledgements 21 i | CMU/SEI-2009-SR-024 4 Bugs or Defects? 23 Do Defects Really Matter? 23 Do They Matter To You? 23 Why Not Just Worry About The Serious Defects? 24 How Many Defects Are Serious? 24 Won’t the Compiler Find Them? 24 How About Exhaustive Testing? 25 Just How Many Defects Are There? 25 Consider Some Data 25 But Why Not Call Them “Bugs”? 26 We Think In Language 27 Acknowledgements 27 References 27 5 Doing Disciplined Work 29 What Is Disciplined Work? 29 Why Is Disciplined Work Important? 29 What Are the Elements of Disciplined Engineering Work? 30 Getting the Needed Skills 30 Why Not Just Do It? 30 Personal Discipline 31 Coaching and Support 31 What Kind of Support Do We Need? 31 Acknowledgements 31 6 Getting Management Support for Process Improvement 33 Obtaining Broad Management Support 33 Why Do You Want To Make Changes? 33 Which Managers Do You Need Support From? 34 Why Should This Manager Support You? 35 Getting Help From a Senior Manager 35 Getting Help At the First Management Level 36 Acknowledgements 36 7 Making the Strategic Case for Process Improvement 37 The General Improvement Case 37 Defining the Proposal 37 Understand Today’s Business Environment 38 Identify the Hot Buttons 38 Make an Improvement Sanity Check 38 Prototype Introduction 38 Introduction Costs 39 The Continuing Costs 39 The Process-Improvement Benefits 40 Improvement Experience 40 Calculating the Savings 40 Measuring the Benefits 41 Other Benefits 41 Stay Tuned 41 Letter to Business Week 41 Acknowledgements 42 ii | CMU/SEI-2009-SR-024 8 Justifying a Process Improvement Proposal 43 The Financial Justification Process 43 Phase 1: Decide What to Do 43 Phase 2: Estimate the Likely Costs 44 Estimating the Labor Costs 44 Support Costs 44 External Costs 45 Lost Opportunity Costs 45 Phase 3: Estimate the Likely Improvement Benefits 46 Identify Available Improvement Data 46 Organizational Performance Data 46 Estimate the Likely Cost Savings 46 Cycle-Time Benefits 47 Phase 4: Produce the Improvement Proposal 48 Phase 5: Close the Deal 48 Closing Comments 49 Stay Tuned In 49 Acknowledgements 49 References 50 9 Making the Tactical Case for Process Improvement 51 The Tactical Situation 51 Possible Approaches 51 Making a Strategic Improvement Program Tactically Attractive 52 Build a Small Effort into a Strategic Program 52 Suggested Tactical Improvement Priorities 53 Code Inspections 53 Design Courses 53 The PSP and TSP 54 The Commitment System 54 Acknowledgements 55 A Note to My Readers 55 References 55 10 Moving the Goal Posts 57 Brownian Motion 57 When the Problems Change, the Solutions Must Also Change 57 Finding the Goal Posts 58 Human Failings 58 What this Means for Process Improvement 58 The Implications for the Future 59 Acknowledgements 60 iii | CMU/SEI-2009-SR-024 11 The Future of Software Engineering: Part I 61 Current Trends 61 Application Program Quality 62 Growing Program Complexity 62 The Defect Content of Programs 62 An Application Quality Example 63 The Quality Problem 64 The Impact of Poor Quality 65 Acknowledgements 65 References 65 12 The Future of Software Engineering: Part II 67 Some Facts 67 Future Needs 67 The Automobile Industry Analogy 68 The Computer Field Today 68 Growing System Size and Complexity 69 Reuse 69 Packaged Applications 70 Application Categories 71 Custom Application Programming 71 Acknowledgements 72 References 72 13 The Future of Software Engineering: Part III 73 The Objectives of Systems Programs 73 Early Trends in Systems Programs 73 The Operating Systems Business 74 Acknowledgements 76 References 76 14 The Future of Software Engineering: Part IV 77 Systems Programming 77 The Internet 78 Application Service Providers 78 The Time Scale 79 Kinds of OS Businesses 79 The Hardware-Coupled OS Business 80 The Standalone OS Business 80 The Open-Source OS Business 81 Middleware 81 Summary 81 Acknowledgements 82 References 82 iv | CMU/SEI-2009-SR-024 15 The Future of Software Engineering: Part V 83 The Kinds of Software Businesses 83 The Forces on Software Businesses 84 Software Size and Complexity 84 The Central Role of Software 85 Interconnectedness 85 Real-World Threats 86 What These Trends Will Mean to All of Us 86 The Accelerating Pace of Change 87 Some Final Comments 87 Acknowledgements 87 References 88 16 Surviving Failure 89 Keep Plugging Away 89 Look for Another Job 89 Fix the Problems 89 Think Like a Manager 90 Management Already Senses the Problem 90 Management Wants Solutions, Not Problems 90 Managers Do Not Want Competition 90 A Strategy for Survival 91 Understanding the Problem 91 Deciding How to Fix the Problem 91 Fix What You Can Yourself 92 Talking With Your Manager 92 Agree on the Next Steps 93 Conclusions 93 Acknowledgements 93 References 93 17 Learning from Hardware: Planning 95 Engineering and Craftsmanship 95 The Software Problem 95 The Pressure for Improvement 96 Software Background 96 Plan and Track the Work 96 The Key Questions 97 The Answers 97 Acknowledgements 98 References 98 v | CMU/SEI-2009-SR-024 18 Learning from Hardware: Design and Quality 99 Hardware Costs 99 The Design Release 99 The Need for Precise and Detailed Designs 100 The Need for Documented Software Designs 100 Separate Implementation 101 New and Innovative Products 101 Software Service Costs 102 Measure and Manage Quality 102 Quality and Fix Time 102 Engineered Software 103 Acknowledgements 103 Reference 103 19 Some Programming Principles: Requirements 105 The Programming Job 105 Understanding the Problem 106 Researching Problems 106 Getting Informed Input 107 Building Superior Products 107 Changing Problems and Products 108 Acknowledgements 108 20 Some Programming Principles: Products 109 The Nature of Computer Programs 109 The First Challenge: Software Work Is Intellectual 109 The Second Challenge: Software Is Not Manufactured 110 The Third Challenge: The Major Software Activities Are Creative 110 The Fourth Challenge: Software Lives Forever 111 The Fifth Challenge: Software Provides Product Uniqueness 112 The Sixth Challenge: Software Quality is Critical 112 Conclusions 113 Acknowledgements 113 21 Some Programming Principles: Projects 115 Project Schedule Performance 115 Project Cost Performance 116 Project Quality Performance 116 Project Success Criteria 117 Acknowledgements 117 vi | CMU/SEI-2009-SR-024 22 Some Programming Principles: People 119 The Performance of Software Professionals 119 People Principle Number 1 119 If the programmers do not understand the job they are to do, they will not do it very well.
Recommended publications
  • Watts S. Humphrey (1927-2010)
    1 Watts S. Humppyhrey (1927-2010) Five lessons I learned from an inspiring leader Daniel M. Roy September 2011 PSP, TSP, Personal Software Process and Team Software Process are service marks of CMU CMM and Capability Maturity Model are registered in the U.S. patent and trademark office Myers-Briggs Type Indicator and MBTI are registered trademarks trademarks of Consulting Psychologists Press, Inc. Copyright © 2011 STPP, Inc. (Software Technology, Process & People) 2 My Watts connection Project leader at SEI 1990-1995 Cer tified th e F rench t ransl ati on of CMM material in 1993 Took the first PSP class at CMU from Watts in the winter of 1994 Copyright © 2011 STPP, Inc. (Software Technology, Process & People) 3 From CMM to PSP “My first class was a blessing in a way that I hdhad not expecte d. Three peop le from th e SEI were taking the course: Dan Roy, Julia MllMullaney (h(then Ju lia G a le) , and dJ Jim O ver. Subsequently, they all decided to work with me iiiihPSPilin transitioning the PSP intro general practice. They have been doing so ever si”ince.” Three process perspectives, WSH, 2001 Copyright © 2011 STPP, Inc. (Software Technology, Process & People) 4 My Watts connection Project leader at SEI 1990-1995 Cer tified th e F rench t ransl ati on of CMM material in 1993 Took the first PSP class at CMU from Watts in the winter of 1994 STPP created in May 1995 on his advice Invited Watts to Paris in October1995 Became SEI transition partner in 1997 Copyright © 2011 STPP, Inc.
    [Show full text]
  • CITS5502 – Capability Maturity
    CITS5502 – Capability maturity Unit coordinator: Arran Stewart 1 / 52 Sources Pressman 9th ed, Ch 26 2 / 52 Why try to improve processes? In competitive markets, there is pressure to deliver software faster and cheaper, which meets customer needs Organisations may look to process improvement to improve software quality, reduce costs, or speed up their processes It’s clear that the processes used to develop software do have a bearing on the quality of the software produced; therefore people reason that improving the processes can improve the software. 3 / 52 Major approaches to Software Process Improvement (SPI) Process maturity models Focuses on project management, introducing good software engineering practice Defines levels of process maturity These reflect the extent to which good practices have been adopted into processes Primary goals: improved product quality and process predictability. Agile Focuses on iterative development and reduction of overheads Goals include rapid delivery of functionality and responsiveness to changing customer requirements. 4 / 52 CMM We’ll look at one maturity model–based approach, the CMM (Capability Maturity Model), and its successor, CMMI (Capability Maturity Model Integration) 5 / 52 CMM background – statistical quality control US engineer W.E. Deming worked with Japanese manufacturing industries after WWII to help improve quality. The idea of statistical quality control is due to Deming and others: “reduce product defects by analyzing and modifying the process so that the chances of introducting defects are reduced and defect detection is improved” Once defects have been reduced, standardise the process and start again 6 / 52 1980s at Software Engineering Institute (SEI) at Carnegie Mellon University: Humphreys founded the Software Process Program, aimed at understanding and managing the Software Process.
    [Show full text]
  • Watts Humphrey
    SPECIAL TRIBUTE Watts Humphrey The Father of Software Quality (1927-2010) Carnegie Mellon Software Engineering Institute 4 CrossTalk—July/August 2011 SPECIAL TRIBUTE When Watts Humphrey arrived at the SEI in 1986, he The Beginnings of PSP and TSP made what he called an, “outrageous commitment to Jim Over, who now leads the TSP initiative at SEI, said Hum- change the world of software engineering.” phrey had begun his work in bringing discipline to the individual By all accounts, he succeeded. Known as the “Father software engineer–the basis for the PSP–long before his ap- of Software Quality,” Humphrey dedicated his career to pointment as an SEI Fellow. Humphrey first tested his theories on a process that he addressing problems in software development including developed for managing his personal checking account. Next, he schedule delays, cost increases, performance problems, and tested them on the personal software development process by defects. In 2005, Humphrey received the National Medal of writing more than 60 small programs in Pascal and C++, Over Technology, the highest honor awarded by the President of explained. Humphrey then began working with organizations to the United States to America’s leading innovators. pilot this new personal process for software engineers. “He was a wonderful leader and a wonderful man. He Not long after, Humphrey published his first PSP book, “A set forth an energizing goal and an inspiring mission that Discipline for Software Engineering,” and developed a course for we all wanted to be a part of,” said Anita Carleton, direc- software engineers. Over, who enrolled in the first PSP course tor of SEI’s Software Engineering Process Management offered at Carnegie Mellon, said it changed his career.
    [Show full text]
  • Watts Humphrey Awards 2018 Brought to You by CSPIN
    Watts Humphrey Awards 2018 Brought to you by CSPIN Present your practice November 12, 2018 | Monday 1.30 PM - 6.15 PM What is Watts Humphrey Awards? Watts Humphrey Awards is a Prestigious recognition from SPIN Chennai initiated to honor the software engineering Guru Dr. Watts Humphrey. Teams from various organizations across industries will be invited to nominate their practice / case study. Jury will evaluate the submissions (offline) and shortlisted teams will be invited to present their story and showcase their practices on the day of the awards in front of the Grand Jury. The team that best exemplify, articulate and demonstrate the practices on the theme will be awarded with Grand Plaque, Certificates, Cash awards and Presentation slot at SPICON 2019 (Intl Conference). Motivated by the success of the award we launched in the past years, we are making it bigger, better and more grandeur this time. Check out http://spinchennai.org/events/event/watts-humphrey-awards-2018/ for more details. Introduction The business world is moving from treating IT as a utility that improves internal operations to using rapid software and technology powered innovation cycles as a competitive advantage. This has far reaching consequences. The traditional program and project management models we have used for software development are unsuited to rapid innovation cycles. Software development requires a different way of running. Agile and Automation are leading the way forward. With the advent of Agile & Automation, an enormous amount of demand from people working in enterprises who wanted to adopt Lean startup, Design thinking, DevOps frameworks and practices. A large number of companies have achieved measurable benefit from using Agile & Automation techniques; resulting in delivery of higher-quality products to market faster, increased customer satisfaction, and higher returns on investment.
    [Show full text]
  • The Team Software Processsm (TSPSM)
    The Team Software ProcessSM (TSPSM) Watts S. Humphrey November 2000 TECHNICAL REPORT CMU/SEI-2000-TR-023 ESC-TR-2000-023 Pittsburgh, PA 15213-3890 The Team Software ProcessSM (TSPSM) CMU/SEI-2000-TR-023 ESC-TR-2000-023 Watts S. Humphrey November 2000 Team Software Process Initiative Unlimited distribution subject to the copyright. This report was prepared for the SEI Joint Program Office HQ ESC/DIB 5 Eglin Street Hanscom AFB, MA 01731-2116 The ideas and findings in this report should not be construed as an official DoD position. It is published in the interest of scientific and technical information exchange. FOR THE COMMANDER Joanne E. Spriggs Contracting Office Representative This work is sponsored by the U.S. Department of Defense. The Software Engineering Institute is a federally funded research and development center sponsored by the U.S. Department of Defense. Copyright 2000 by Carnegie Mellon University. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and "No Warranty" statements are included with all reproductions and derivative works.
    [Show full text]
  • Impact of Personal Software Process on Software Quality
    IOSR Journal of Computer Engineering (IOSRJCE) ISSN : 2278-0661 Volume 1, Issue 5 (May-June 2012), PP 21-25 www.iosrjournals.org Impact of Personal Software Process on Software Quality Abdul Kadir Khan (College of Computing and Informatics, Haramaya University, Ethiopia India Abstract Today, concern for quality has become an international movement. Even though most industrial organizations have now adopted modern quality principles, the software community has continued to rely on testing as the principal quality management method. Different decades have different trends in software engineering. The Personal Software Process (PSP) is an evolutionary series of personal software engineering techniques that an engineer learns and practices. A software process is nothing without the individual programmer. PSP a data- driven process customized to teaching individuals about their programming styles, helping software engineers further develop their skills in developing quality software. In this paper I explain the Personal Software Process definition, principles, design, advantages and opportunities apart from discussing about PSP as a framework of techniques to help engineers and their organizations improve their performance while simultaneously increasing product quality focusing on the incorporation of PSP concepts in software development practice. Key words: Personal Software Process, Software Development, Engineers, PSP Concepts. I. INTRODUCTION Modern quality principles have now been adopted by most of the industrial organizations, the software community has continued to rely on testing as the principal quality management method. Researchers and industrial leaders began to realize that software process, plans and methodologies for producing software, could help to produce accurate project deadlines, help keep software projects on budget and teach programmers to be more productive and knowledgeable of their own programming styles.
    [Show full text]
  • CMMI with Agile, Lean, Six Sigma, and Everything Else
    CMU SEI CERT Division Digital Library Blogs A-Z Index HOME OUR WORK ENGAGE WITH US PRODUCTS & SERVICES LIBRARY NEWS CAREERS ABOUT US BLOG Library Search the Library Browse by Topic Browse by Type CMMI with Agile, Lean, Six Sigma, and Please note that current and future CMMI Everything Else research, training, and information has been transitioned to the CMMI Institute, a wholly- NEWS AT SEI owned subsidiary of Carnegie Mellon University. Author Mike Phillips Related Links News This library item is related to the following area(s) of work: SEI to Co-Sponsor 26th Annual IEEE Software Technology Conference CMMI SEI Cosponsors Agile for Government Summit Process Improvement Training This article was originally published in News at SEI on: January 1, 2008 See more related courses » Events Team Software Process (TSP) Symposium 2014 I repeatedly encounter those seeking the one solution that will solve the problems in their organization. Such a search is often commissioned by a boss who wants the single Nov 3 - 6 answer and a quick fix to the organization’s problems. In this column, I try to describe how to relate some of these answers rather than trying to make any of them—even CMMI—a single solution. The Choices There are a wide range of improvement approaches that are often mentioned as the solution to problems confronting organizations that recognize a need to improve. For years, various standards and modelscaptured principles for process improvement, often called best practices. ISO 15288 and ISO 12207 are likely standards that are familiar to you if you are faced with complex, software intensive systems development.
    [Show full text]
  • Watts Humphrey Awards 2019 Present Your Practice
    Watts Humphrey Awards 2019 Present your practice December 7, 2019 | Saturday 1.30 PM - 6.15 PM What is Watts Humphrey Awards? Watts Humphrey Awards is a Prestigious recognition from SPIN Chennai initiated to honor the software engineering Guru Dr. Watts Humphrey. Teams from various organizations across industries will be invited to nominate their practice / case study. Jury will evaluate the submissions (offline) and shortlisted teams will be invited to present their story and showcase their practices on the day of the awards in front of the Grand Jury. The team that best exemplify, articulate and demonstrate the practices on the theme will be awarded with Grand Plaque, Certificates, Cash awards and Presentation slot at SPICON 2020 (Intl Conference). Motivated by the success of the award we launched in the past years, we are making it bigger, better and more grandeur this time. Introduction The business world is rapidly moving towards digital transformation. Whether it is in improving customer experience or in operational processes or in creating new products and services, the processes are continually evolving. Software which has become the core of all industries is continually improving and morphing. Software development and management processes for discovering new ways to improve the front-end processes towards customer, execute rapidly to provide more releases with automation into production as well as execute efficiently and effectively in the backend are undergoing a clear transformation. There are 5 forces which we call “Panchabootham” 5 Manifestations, which have become very important in this new scheme of things. The 5 forces are Agile and Devops, Process Automation, Lean Six sigma, Design thinking and CMMI Processes.
    [Show full text]
  • Software Engineering, Pages 2-13, Mon- Ware Process, Pages 76 - 85, Dec
    Software Processes Are Software Too, Revisited: An Invited Talk on the Most Influential Paper of ICSE 9 * Leon J. Osterweil University of Massachusetts Dept. of Computer Science Amherst, MA 01003 USA +1 413 545 2186 ljo@cs. umass.edu ABSTRACT led to a considerable body of investigation. The sug- The ICSE 9 paper, "Software Processes are Software gestion was immediately controversial, and continues to Too," suggests that software processes are themselves a be argued. Subsequently I discuss why I believe this form of software and that there are considerable benefits discussion indicates a pattern of behavior typical of tra- that will derive from basing a discipline of software pro- ditional scientific inquiry, and therefore seems to me to cess development on the more traditional discipline of do credit to the software engineering community. application software development. This paper attempts But what of the (in)famous assertion itself? What does to clarify some misconceptions about this original ICSE it really mean, and is it really valid? The assertion grew 9 suggestion and summarizes some research carried out out of ruminations about the importance of orderly and over the past ten years that seems to confirm the origi- systematic processes as the basis for assuring the quality nal suggestion. The paper then goes on to map out some of products and improving productivity in developing future research directions that seem indicated. The pa- them. Applying the discipline of orderly process to soft- per closes with some ruminations about the significance ware was not original with me. Lehman [13] and others of the controversy that has continued to surround this [18] had suggested this long before.
    [Show full text]
  • Programming Can Be Fun
    Pittsburgh, PA 15213-3890 Programming Can Be Fun Watts S. Humphrey Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-3890 Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 1 Why Should Work Be Fun? The U.S. Census: 50% of software professionals leave the field every 10 years. This is a terrible loss of talent. It also indicates that many software people • are burning out • do not enjoy their jobs To get great products, work must be challenging and rewarding – in a word, fun. © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 2 What Makes Work Rewarding? Challenge: interest and excitement Ownership: responsibility and autonomy Commitment: a motivated and cohesive team Winning: consistent success © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 3 Work Can Be Fun: Challenge Challenge Ownership Commitment Winning © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 4 The Submarine Scorpion -1 May 1968: Scorpion was lost at sea. Navy knew its last reported location. Vague idea of • heading • speed • problem Problem: Loaded with nuclear missiles and secret gear. © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 5 The Submarine Scorpion -2 500 square miles of deep ocean Where to start? Last known location © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 6 The Submarine Scorpion -3 Group of specialists • submariners, mathematicians • submarine specialists, salvage experts • others Mathematical model © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 7 The Submarine Scorpion -4 Model parameters • when the sub ran into trouble • how fast it was going • its heading • its rate of descent when sinking • many other parameters © 2005 by Carnegie Mellon University Version 1.0 Programming Can Be Fun page 8 The Submarine Scorpion -5 Specialists made judgments and ran the model.
    [Show full text]
  • Personal Software Process
    CSC 5524 : Software quality, metrics, tests, processes J Paul Gibson, D311 [email protected] http://www-public.telecom-sudparis.eu/~gibson/Teaching/CSC5524/ Personal Software Process http://www-public.telecom-sudparis.eu/~gibson/Teaching/CSC5524/CSC5524-PSP.pdf 2018: J Paul Gibson CSC5524 - Personal Software Process !1 PSP - Just another self-improvement scam? Analogical Reasoning World = Software Development Project Birth = Me joining the development team 2018: J Paul Gibson CSC5524 - Personal Software Process !2 The Personal Software Process (PSP) The software process is about making software engineering groups/teams work to the best of their abilities The personal software process is about making individual engineers work to the best of their abilities Central to both is feedback --- through analysis of practical application of the process, the process should be changed for the better Software engineers should accept responsibility for the quality of their work Software engineers can do this only if they have a way of evaluating quality and improving quality (through experience) The software process improves individual engineers to some extent, but it is possible for a project to succeed even when an individual participant has not! The PSP is individual oriented: it is possible for an individual to succeed within a project that fails. 2018: J Paul Gibson CSC5524 - Personal Software Process !3 The Personal Software Process (PSP) PSP is a structured software development process that is intended to help software engineers understand and improve their performance, by using a "disciplined, data- driven procedure“: •Improve their estimating and planning skills. •Make commitments they can keep. •Manage the quality of their projects.
    [Show full text]
  • The Impact of Process Discipline on Personal Software Quality and Productivity
    GENERAL KNOWLEDGE One of the underlying assumptions of the software process movement is that increasing process discipline—the The Impact consistency with which one implements best practices—improves both the performance of developers and of the software products they build. This assumption underlies of Process models and standards such as the Capability Maturity Model. Exactly what “improves” means depends on the business context, but typically it refers to productivity and Discipline quality. The Personal Software ProcessSM (PSPSM) can be used to demonstrate the impact of process discipline in a rigorous statistical sense. PSP can be used to show on Personal higher productivity and quality following the adoption of disciplined processes, but it also illustrates some of the challenges in defining these concepts in a useful way. Software Key words Personal Software Process, productivity, PSP, Quality and quality, software process SQP References Productivity Integrating Improvement Initiatives: Connecting Six Sigma for Software, CMMI, Personal Software Process, and Team Mark C. Paulk Software Process Carnegie Mellon University vol. 5, issue 4 Gary A. Gack and Kyle Robison Integrating PSPSM, TSPSM & Six-Sigma vol. 6, issue 4 INTRODUCTION Steve Janiszewski and Ellen George One of the underlying assumptions of the software process movement is that increasing process discipline—the consistency with which one implements “best practices”—improves both the performance of developers and the software products they build. It can be difficult to separate these two since they are intricately linked by cause-and-effect relationships, yet one frequently does so because both concepts are complex and multidimensional. While process discipline does not guarantee a successful project, it does increase its likelihood (El Emam 2005).
    [Show full text]