Introduction to Software Endgames: Eliminating Defects, Controlling Change, and the Countdown To On-Time Delivery
Flow of the Book
There are four parts in this book, each devoted to a key aspect of the software endgame: endgame basics, endgame defects, endgame workflow, and endgame management. I describe each below.
Part 1: Endgame Basics focuses on key process areas and methods for planning and controlling your endgame. It explores change control and triage techniques, release criteria, and the appropriate levels for planning the endgame. Change reduction strategies and configuration management are also discussed. This part should prove helpful to anyone with an interest in the core dynamics of the endgame.
- Chapter 2: Triage and Change Control Process and Meeting Framework
- Introduces one of the key management processes for the endgame, the change control board (CCB) meeting. Also includes additional principles surrounding meeting format and guidelines to help team decision-making.
- Chapter 3: Developing Release Criteria and Working Views
- Examines how to establish good release criteria. Also introduces the concept of dynamic or changeable release criteria, which compose what I call a Working View.
- Chapter 4: Endgame Release Framework
- Every endgame needs a plan of attack—part schedule, part key milestones, and part strategy. Here we examine the creation of such a map to effectively negotiate your endgame territory.
- Chapter 5: Reducing the Rate of Change
- The key goals in any project endgame are to eventually reduce the rate of change to zero, to ensure a thorough test, and to release the product. We examine some approaches and techniques to help accomplish these goals.
- Chapter 6: Configuration Management in the Endgame
- Configuration management (CM) processes are essential in the endgame, and they should be solid by the time you enter it. This chapter focuses on some checklists and guidelines to ensure your CM readiness.
Part 2: Endgame Defects reviews the basics of defect tracking. It covers the primary field definitions for a defect-tracking system (DTS), reviews some practical metrics and trending, and presents a broad view of what constitutes a defect repair. This part should be of particular interest to project managers and software testers.
- Chapter 7: Defect Basics: Terms, Tools, Methods, and Management
- No text on endgame practices would be complete without some baseline discussion on defect basics. This chapter covers the fundamentals of defect management within your processes and defect-tracking system (DTS).
- Chapter 8: Useful and Relevant Metrics
- A large part of managing endgame change reduction involves collecting and analyzing defect trend data. We examine some basic defect trending for an understanding of endgame dynamics.
- Chapter 9: The Many Ways to Fix Defects
- Too often, we weigh repair decisions in binary terms—either we repair or we don’t. Here, we explore some alternative actions for repairing defects. Awareness of these alternatives will give you increased flexibility in your triage and repair decision-making.
Part 3: Endgame Workflow examines repair work more deeply. It explores the notion of work queues for assigning and load-balancing repair work, across the software development team or those parties responsible for resolving defects. It also explores other defect-selection criteria and some lightweight, but quite useful, repair estimation techniques. This part should be of interest to project managers, software development managers, and software developers.
- Chapter 10: Work Queues and Packaging
- Once you’ve analyzed individual defects and groups of them, you need to schedule them for repair within the development team and package them for testing. This basic workflow from defect repair assignment to testing is discussed here within a useful framework.
- Chapter 11: Defect Repair Selection: Other Considerations
- There are factors beyond priority that should at least be considered when triaging your defects. This again adds breadth to your decision-making and avoids some risks. In this chapter, we explore these factors.
- Chapter 12: Endgame Estimation: A Few Useful Collaborative Techniques
- It’s important to estimate your defect repairs and not to simply work until you feel finished. By factoring work estimates and inspections into your endgame, you’ll improve scheduling and decision-making. In this chapter, we present lightweight and focused collaborative estimation.
Part 4: Endgame Management focuses on your most important endgame resource—your team. In this part, we explore management and leadership practices that have proven successful within the endgame. The final chapter shows how to take a retrospective look at your endgames and at this book’s recommendations, and how to mine them for learning and improvement. This topic area should be relevant for all endgame managers—project, software, test, and others.
- Chapter 13: Management Dynamics
- Management of endgame teams, just like the endgames themselves, requires some special skills and practices to get the best from your team. Here, we review some management practices that will help you build better endgame teams. We’ll also explore how to identify team contention points, diffuse pressure, and maintain effective teamwork.
- Chapter 14: Leadership Practices
- Leadership plays a central role in endgame success. I’ll identify key leadership characteristics and behaviors that contribute to a smooth endgame. We’ll also examine use of project war rooms, daily status meetings, and other collaboration techniques that improve team communication and performance.
- Chapter 15: Endgame Retrospectives and Conclusions
- I believe the endgame is a wonderful proving ground for what works and what doesn’t within your teams. In this concluding chapter, we take a step back and consider lessons learned.
Appendix A offers an endgame readiness checklist, Appendices B and C present additional guidance for collaborative planning, and Appendix D focuses on the Endgame Release Framework development.
I’ve provided a seven-phase overlay to the workflow of the endgame. Clearly, though, the interactions are not that simple, and there are interactions across all of the phases. However, it’s useful to have a model to frame our thinking about the endgame and to outline some of its primary activities. These phases have also influenced the flow of the book’s parts and chapters, so let’s start with a discussion of triage and change control.