1. Introduction. Tell Everyone the Truth All the Time Trust Your Team Review Everything, Test Everything All Software Engineers Are Created Equal Doing the Project Right Is Most Efficient Part I: Tools and Techniques Part II: Using Project Management Effectively PART ONE. TOOLS AND TECHNIQUES 2. Software Project Planning. Understand the Project Needs Create the Project Plan Diagnosing Project Planning Problems 3. Estimation. Elements of a Successful Estimate Wideband Delphi Estimation Other Estimation Techniques Diagnosing Estimation Problems 4.
Project Schedules. Building the Project Schedule Managing Multiple Projects Use the Schedule to Manage Commitments Diagnosing Scheduling Problems 5. Reviews. Inspections Deskchecks Walkthroughs Code Reviews Pair Programming Use Inspections to Manage Commitments Diagnosing Review Problems 6. Software Requirements. Requirements Elicitation Use Cases Software Requirements Specification Change Control Introduce Software Requirements Carefully Diagnosing Software Requirements Problems 7. Design and Programming. Review the Design Version Control with Subversion Refactoring Unit Testing Use Automation Be Careful with Existing Projects Diagnosing Design and Programming Problems 8.
Software Testing. Test Plans and Test Cases Test Execution Defect Tracking and Triage Test Environment and Performance Testing Smoke Tests Test Automation Postmortem Reports Using Software Testing Effectively Diagnosing Software Testing Problems PART TWO. USING PROJECT MANAGEMENT EFFECTIVELY. 9. Understanding Change. Why Change Fails How to Make Change Succeed 10. Management and Leadership. Take Responsibility Do Everything Out in the Open Manage the Organization Manage Your Team 11.
Managing an Outsourced Project. Prevent Major Sources of Project Failure Management Issues in Outsourced Projects Collaborate with the Vendor 12. Process Improvement. Life Without a Software Process Software Process Improvement Moving Forward Bibliography Index.