Managing and Leading Software Projects
February 2009, ©2009, Wiley-IEEE Computer Society Press
- The book is organized around basic principles of software project management: planning and estimating, measuring and controlling, leading and communicating, and managing risk.
- Introduces software development methods, from traditional (hacking, requirements to code, and waterfall) to iterative (incremental build, evolutionary, agile, and spiral).
- Illustrates and emphasizes tailoring the development process to each project, with a foundation in the fundamentals that are true for all development methods.
- Topics such as the WBS, estimation, schedule networks, organizing the project team, and performance reporting are integrated, rather than being relegating to appendices.
- Each chapter in the book includes an appendix that covers the relevant topics from CMMI-DEV-v1.2, IEEE/ISO Standards 12207, IEEE Standard 1058, and the PMI Body of Knowledge.
1.1 Introduction to Software Project Management.
1.2 Objectives of This Chapter.
1.3 Why Managing and Leading Software Projects Is Difficult.
1.4 The Nature of Project Constraints.
1.5 A Workflow Model for Managing Software Projects.
1.6 Organizational Structures for Software Projects.
1.7 Organizing the Project Team.
1.8 Maintaining the Project Vision and the Product Vision.
1.9 Frameworks, Standards, and Guidelines.
1.10 Key Points of Chapter 1.
1.11 Overview of the Text.
Appendix 1A: Frameworks, Standards, and Guidelines for Managing Software Projects.
2 Process Models for Software Development.
2.1 Introduction to Process Models.
2.2 Objectives of This Chapter.
2.3 A Development-Process Framework.
2.4 Tailoring the System Engineering Framework for Software-Only Projects.
2.5 Traditional Software Development Process Models.
2.6 Iterative-Development Process Models.
2.7 Designing an Iterative-Development Process.
2.8 The Role of Prototyping in Software Development.
2.9 Key Points of Chapter 2.
Appendix 2A: Frameworks, Standards, and Guidelines for Software Development Process Models.
3 Establishing Project Foundations.
3.1 Introduction to Project Foundations.
3.2 Objectives of This Chapter.
3.3 Software Acquisition.
3.4 Requirements Engineering.
3.5 Process Foundations.
3.6 Key Points of Chapter 3.
Appendix 3A: Frameworks, Standards, and Guidelines for Product Foundations.
4 Plans and Planning.
4.1 Introduction to the Planning Process.
4.2 Objectives of This Chapter.
4.3 The Planning Process.
4.4 The CMMI-DEV-v1.2 Process Area for Project Planning.
4.5 A Minimal Project Plan.
4.6 A Template for Software Project Management Plans.
4.7 Techniques for Preparing a Project Plan.
4.8 Key Points of Chapter 4.
Appendix 4A: Frameworks, Standards, and Guidelines for Project Planning.
Appendix 4B: Annotated Outline for Software Project Management Plans, Based on IEEE Standard 1058.
5 Project Planning Techniques.
5.1 Introduction to Project Planning Techniques.
5.2 Objectives of This Chapter.
5.3 The Scope of Planning.
5.4 Rolling-Wave Planning.
5.5 Scenarios for Developing a Project Plan.
5.6 Developing the Architecture Decomposition View and the Work Breakdown Structure.
5.7 Guidelines for Designing Work Breakdown Structures.
5.8 Developing the Project Schedule.
5.9 Developing Resource Profiles.
5.10 Resource-Gantt Charts.
5.11 Estimating Project Effort, Cost, and Schedule.
5.12 Key Points of Chapter 5.
Appendix 5A: Frameworks, Standards, and Guidelines for Project Planning Techniques.
6 Estimation Techniques.
6.1 Introduction to Estimation Techniques.
6.2 Objectives of This Chapter.
6.3 Fundamental Principles of Estimation.
6.4 Designing to Project Constraints.
6.5 Estimating Product Size.
6.6 Pragmatic Estimation Techniques.
6.7 Theory-Based Estimation Models.
6.8 Regression-Based Estimation Models.
6.9 Estimation Tools.
6.10 Estimating Life Cycle Resources, Effort, and Cost.
6.11 An Estimation Procedure.
6.12 A Template for Recording Estimates.
6.13 Key Points of Chapter 6.
Appendix 6A: Frameworks, Standards, and Guidelines for Estimation.
7 Measuring and Controlling Work Products.
7.1 Introduction to Measuring and Controlling Work Products.
7.2 Objectives of This Chapter.
7.3 Why Measure?
7.4 What Should Be Measured?
7.5 Measures and Measurement.
7.6 Measuring Product Attributes.
7.7 Measuring and Analyzing Software Defects.
7.8 Choosing Product Measures.
7.9 Practical Software Measurement.
7.10 Guidelines for Measuring and Controlling Work Products.
7.11 Rolling-Wave Adjustments Based on Product Measures and Measurement.
7.12 Key Points of Chapter 7.
Appendix 7A: Frameworks, Standards, and Guidelines for Measuring and Controlling Work Products.
Appendix 7B: Procedures and Forms for Software Inspections.
8 Measuring and Controlling Work Processes.
8.1 Introduction to Measuring and Controlling Work Processes.
8.2 Objectives of This Chapter.
8.3 Measuring and Analyzing Effort.
8.4 Measuring and Analyzing Rework Effort.
8.5 Tracking Effort, Schedule, and Cost; Estimating Future Status.
8.6 Earned Value Reporting.
8.7 Project Control Panel®.
8.8 Key Points of Chapter 8.
Appendix 8A: Frameworks, Standards, and Guidelines for Measuring and Controlling Work Processes.
9 Managing Project Risk.
9.1 Introduction to Managing Project Risk.
9.2 Objectives of This Chapter.
9.3 An Overview of Risk Management for Software Projects.
9.4 Conventional Project Management Techniques.
9.5 Risk Identification Techniques.
9.6 Risk Analysis and Prioritization.
9.7 Risk Mitigation Strategies.
9.8 Top-N Risk Tracking and Risk Registers.
9.9 Controlling the Risk Management Process.
9.10 Crisis Management.
9.11 Risk Management at the Organizational Level.
9.12 Joint Risk Management.
9.13 Key Points of Chapter 9.
Appendix 9A: Frameworks, Standards, and Guidelines for Risk Management.
Appendix 9B: Software Risk Management Glossary.
10 Teams, Teamwork, Motivation, Leadership, and Communication.
10.2 Objectives of This Chapter.
10.3 Managing versus Leading.
10.4 Teams and Teamwork.
10.5 Maintaining Morale and Motivation.
10.6 Can’t versus Won’t.
10.7 Personality Styles.
10.8 The Five-Layer Behavioral Model.
10.9 Key Points of Chapter 10.
Appendix 10A: Frameworks, Standards, and Guidelines for Teamwork and Leadership.
11 Organizational Issues.
11.1 Introduction to Organizational Issues.
11.2 Objectives of This Chapter.
11.3 The Influence of Corporate Culture.
11.4 Assessing and Nurturing Intellectual Capital.
11.5 Key Personnel Roles.
11.6 Fifteen Guidelines for Organizing and Leading Software Engineering Teams.
11.7 Key Points of Chapter 11.
Appendix 11: Frameworks, Standards, and Guidelines for Organizational Issues.
Glossary of Terms.
Guidance for Term Projects.
- Based on 20 years experience teaching software project management to undergraduate and graduate students, and on extensive consulting and training sessions for industry and governmental agencies.
Author is familiar with teaching people already working in the field what they need to know.
Opportunity for textbook adoption at schools offering only bachelor's or master's degrees.
Clearly written, easy-to-read style.
Three appendices included: glossary of terms, suggestions for term projects, and annotated template for preparing software project management plans
"Mark it up and keep it on your bookshelf, and be sure to reference it frequently." (Computing Reviews, April 28, 2008)