You are previewing Software Endgames: Eliminating Defects, Controlling Change, and the Countdown to On-Time Delivery.
O'Reilly logo
Software Endgames: Eliminating Defects, Controlling Change, and the Countdown to On-Time Delivery

Book Description

This is the digital version of the printed book (Copyright © 2005).

Take Control of Your Project in the Final Stage of Software Development

In software development, projects are won or lost during the project endgame—that final stage of software development between release for testing and release to customers.

Software Endgames: Eliminating Defects, Controlling Change, and the Countdown to On-Time Delivery presents the core strategies for delivering working software to your customers. Focusing solely on the endgame, the book provides hard-won, hands-on strategies and practices for delivering real value.

In the endgame, effective management and repair of defects is crucial. Experienced project manager and consultant Robert Galen shows readers how to conduct effective defect triage -- analyzing, understanding, and categorizing defects—in preparation for scheduling repairs. Readers will learn how to transform the endgame from a time of rampant defects and utter chaos into a time of focused repairs, effective teamwork, and change management. You'll set release criteria, establish endgame release plans, and utilize a variety of change reduction and endgame management techniques.

Topics include

  • developing various forms of release criteria and leveraging them to guide your teams' efforts

  • strategies for reducing the rate of change

  • change control and triage techniques that lead to efficient and effective defect repair decisions

  • alternative methods of defect repair for decision-making flexibility

  • setting up a defect-tracking system, managing defects and gathering standard metrics for endgame defect trending

  • techniques for repair planning and efficiency

  • agile extensions -- how to apply these techniques to agile projects

  • how to "mine" your endgames for overall software development improvements

Table of Contents

  1. About This eBook
  2. Title Page
  3. Copyright Page
  4. Also Available from Dorset House Publishing
  5. Dedication Page
  6. Acknowledgments
  7. Contents
  8. Preface
    1. My Motivation for the Book
    2. Intended Audience
    3. How to Approach This Book
    4. What We’re Not Trying to Explore
  9. Chapter One. Introduction
    1. You Know You’re in the Endgame When ...
    2. Focus of the Book: It’s Mostly About Defects
    3. Triage Workflow
    4. Repair Triage and Change Control Workflows
    5. Flow of the Book
  10. Part One: Endgame Basics
    1. Chapter Two. Triage and Change Control Process and Meeting Framework
      1. Different Names and Formats
      2. Formal CCB Format
      3. A Lightweight CCB (LW-CCB) Explored
      4. A Quick Look at the Meeting Flow
      5. Meeting Participant Roles
      6. Setting Up Meeting Dynamics
      7. Triage Meeting—Agenda Format
      8. Decision-Making
      9. Wrap-Up: Additions to Your Endgame Toolbox
    2. Chapter Three. Developing Release Criteria and Working Views
      1. Release Criteria or Defining Success
      2. Better Decisions: Aspects of a Project Working View
      3. Steps to Establishing a Working View
      4. Examples of Working View Application Scenarios
      5. Project Application: Example #1
      6. Project Application: Example #2
      7. Project Application: Example #3, Another Approach
      8. Resetting Your Working View
      9. Wrap-Up: Additions to Your Endgame Toolbox
    3. Chapter Four. Endgame Release Framework
      1. Overview of the Framework
      2. A Word on Strategy
      3. Release Framework Example
      4. Measuring Progress for the Release Framework
      5. Ownership of the Release Framework
      6. Updating Your Release Framework
      7. The Impact of Granularity on Methodologies
      8. Wrap-Up: Additions to Your Endgame Toolbox
    4. Chapter Five. Reducing the Rate of Change
      1. Change Reduction Milestones for the Endgame Framework
      2. The Notion of a Code Freeze
      3. Beyond Code Freeze and Code Complete—Defect Repair Change Cycles
      4. Change Reduction Anti-Patterns
      5. How the CCB Assists in Change Reduction
      6. Wrap-Up: Additions to Your Endgame Toolbox
    5. Chapter Six. Configuration Management in the Endgame
      1. Configuration Management Readiness Checklist
      2. Level of CM Control Granularity
      3. Early On—Run a Practice Build Test
      4. Beware of Changing Tools in the Endgame
      5. The Role of Team Leaders in Configuration Management
      6. Periodic (Nightly) Builds and Smoke Testing
      7. Release Turnover Meetings
      8. Wrap-Up: Additions to Your Endgame Toolbox
  11. Part Two: Endgame Defects
    1. Chapter Seven. Defect Basics: Terms, Tools, Methods, and Management
      1. Fundamental Defect Types
      2. Basic Defect Data Fields
      3. Defect Evolution
      4. Introduction to Work Queues
      5. Information Weight
      6. Using Defects to Track Development (and Other) Work
      7. Frequent Defect Monitoring—What Needs Attention
      8. The Idea of Bug Advocacy
      9. Wrap-Up: Additions to Your Endgame Toolbox
    2. Chapter Eight. Useful and Relevant Metrics
      1. Find (New) Versus Fixed (Closed, Deferred)
      2. Factoring in Priority
      3. Factoring In Keywords
      4. Defect Transition Progress
      5. Functional Areas and Defect Distribution
      6. Further Examination of Trending—Correlations to External Stimuli
      7. Metrics Analysis Questions
      8. Maintaining Historical Data
      9. Wrap-Up: Additions to Your Endgame Toolbox
    3. Chapter Nine. The Many Ways to Fix Defects
      1. Just Repair It
      2. Make a Partial Repair to Reduce Impact and Severity
      3. Log It As a Known Defect and Move On
      4. Simply Change the Severity or Priority
      5. Ignore It and Hope It Goes Away ...
      6. Consider It Anomalous Behavior and Wait for the Next Occurrence
      7. Defer the Repair to a Later Release
      8. Negotiate with Marketing or the Customer to Change the Requirement
      9. Add More System Resources to Reduce the Impact
      10. Find a Workaround (Procedural, Operational, Documentation, or Automated)
      11. Remove the Functionality/Code
      12. Change or Remove Interacting Software Products
      13. Wrap-Up: Additions to Your Endgame Toolbox
  12. Part Three: Endgame Workflow
    1. Chapter Ten: Work Queues and Packaging
      1. Work Queues
      2. Deriving Work Queues from Your Defect-Tracking System
      3. Queue Loading Rules
      4. How Should Testing Interact with the Work Queues?
      5. Deal with Defect Repairs in Packages
      6. Thinking About Package Costs
      7. Think About Your Regression Trends
      8. Package Plan Status and General Replanning
      9. Wrap-Up: Additions to Your Endgame Toolbox
    2. Chapter Eleven. Defect Repair Selection: Other Considerations
      1. Reproducing the Defect
      2. Overall Level of Difficulty
      3. Locality and Relationship to Other Defects
      4. How Will the Repair Impact the Test Team?
      5. Exploring Possible Workarounds
      6. Handling Gold Features
      7. Considering Your Available Resources
      8. Likelihood That the Defect Will Surface in Normal Operation of the Product
      9. Wrap-Up: Additions to Your Endgame Toolbox
    3. Chapter Twelve. Endgame Estimation: A Few Useful Collaborative Techniques
      1. Defect Estimation Life Cycle
      2. PSP PROBE Method-Proxy-Based Estimation
      3. Wideband Delphi Method
      4. Other Estimation Techniques
      5. Collaborative Estimation—What to Collect
      6. Wrap-Up: Additions to Your Endgame Toolbox
  13. Part Four: Endgame Management
    1. Chapter Thirteen. Management Dynamics
      1. The Importance of Team Leads: Clear Roles and Responsibilities
      2. The Tone of the Endgame
      3. Be Aware of the Natural Tension Points Across Functional Groups
      4. Identify Your Best Debuggers
      5. Reserve Resources or Develop Generalists for Later Repairs
      6. Team Types: Strengths for the Endgame
      7. Wrap-Up: Additions to Your Endgame Toolbox
    2. Chapter Fourteen. Leadership Practices
      1. The Burden of Leadership
      2. Use of Overtime
      3. Establish a War Room
      4. Find Room for Play
      5. Daily Status Meetings
      6. Gathering General Status
      7. Handling Distributed Endgame Teams
      8. Knowing When to Say When—Release
      9. Knowing When to Say When—You’re in Trouble
      10. The Testing Team—Your Secret Weapon
      11. Wrap-Up: Additions to Your Endgame Toolbox
    3. Chapter Fifteen: Endgame Retrospectives and Conclusions
      1. Keeping an Endgame Log or Diary
      2. Should You Conduct a Retrospective?
      3. Key Points of a Retrospective
      4. Guidelines for an Endgame Retrospective
      5. Using Your Endgame Data in the Retrospective
      6. Endgames Provide Wonderful Insights into the Character of Your Team
      7. Celebrating Success
      8. Agile Endgames
      9. Concluding Thoughts
  14. Afterword: An Invitation to Endgame Collaboration
  15. Appendix A: Pre-Endgame Preparation Checklist
  16. Appendix B: Collaborative Estimation, Data Focus Checklist
  17. Appendix C: Sticky Note Guidelines
    1. Note-Generator Guidelines
    2. Note-Facilitator Guidelines
    3. Note Formats
  18. Appendix D: Guidelines for Constructing Endgame Release Frameworks
    1. Historical Notes
    2. Plan Details
    3. Endgame Flow
  19. References
  20. Index