IEEE Computer Society

Home Home About Wiley-IEEE Computer Society Press Contact Us
Print this page Share
Textbook

Managing and Leading Software Projects

ISBN: 978-0-470-29455-0
512 pages
February 2009, ©2009, Wiley-IEEE Computer Society Press
Managing and Leading Software Projects (0470294558) cover image
  • 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.
See More

Preface xv

1 Introduction 1

1.1 Introduction to Software Project Management, 1

1.2 Objectives of This Chapter, 2

1.3 Why Managing and Leading Software Projects Is Difficult, 2

1.4 The Nature of Project Constraints, 9

1.5 A Workfl ow Model for Managing Software Projects, 13

1.6 Organizational Structures for Software Projects, 16

1.7 Organizing the Project Team, 19

1.8 Maintaining the Project Vision and the Product Vision, 21

1.9 Frameworks, Standards, and Guidelines, 22

1.10 Key Points of Chapter 1, 23

1.11 Overview of the Text, 23

2 Process Models for Software Development 39

2.1 Introduction to Process Models, 39

2.2 Objectives of This Chapter, 42

2.3 A Development-Process Framework, 42

2.4 Tailoring the System Engineering Framework for Software-Only Projects, 52

2.5 Traditional Software Development Process Models, 54

2.6 Iterative-Development Process Models, 58

2.7 Designing an Iterative-Development Process, 72

2.8 The Role of Prototyping in Software Development, 74

2.9 Key Points of Chapter 2, 75

3 Establishing Project Foundations 85

3.1 Introduction to Project Foundations, 85

3.2 Objectives of This Chapter, 86

3.3 Software Acquisition, 87

3.4 Requirements Engineering, 88

3.5 Process Foundations, 109

3.6 Key Points of Chapter 3, 112

4 Plans and Planning 119

4.1 Introduction to the Planning Process, 119

4.2 Objectives of This Chapter, 120

4.3 The Planning Process, 121

4.4 The CMMI-DEV-v1.2 Process Area for Project Planning, 125

4.5 A Minimal Project Plan, 129

4.6 A Template for Software Project Management Plans, 130

4.7 Techniques for Preparing a Project Plan, 150

4.8 Key Points of Chapter 4, 154

5 Project Planning Techniques 173

5.1 Introduction to Project Planning Techniques, 173

5.2 Objectives of This Chapter, 174

5.3 The Scope of Planning, 175

5.4 Rolling-Wave Planning, 175

5.5 Scenarios for Developing a Project Plan, 176

5.6 Developing the Architecture Decomposition View and the Work Breakdown Structure, 177

5.7 Guidelines for Designing Work Breakdown Structures, 182

5.8 Developing the Project Schedule, 188

5.9 Developing Resource Profiles, 193

5.10 Resource-Gantt Charts, 199

5.11 Estimating Project Effort, Cost, and Schedule, 199

5.12 Key Points of Chapter 5, 201

6 Estimation Techniques 207

6.1 Introduction to Estimation Techniques, 207

6.2 Objectives of This Chapter, 208

6.3 Fundamental Principles of Estimation, 209

6.4 Designing to Project Constraints, 214

6.5 Estimating Product Size, 216

6.6 Pragmatic Estimation Techniques, 224

6.7 Theory-Based Estimation Models, 230

6.8 Regression-Based Estimation Models, 234

6.9 Estimation Tools, 249

6.10 Estimating Life Cycle Resources, Effort, and Cost, 249

6.11 An Estimation Procedure, 251

6.12 A Template for Recording Estimates, 256

6.13 Key Points of Chapter 6, 258

7 Measuring and Controlling Work Products 265

7.1 Introduction to Measuring and Controlling Work Products, 265

7.2 Objectives of This Chapter, 268

7.3 Why Measure?, 268

7.4 What Should Be Measured?, 269

7.5 Measures and Measurement, 270

7.6 Measuring Product Attributes, 276

7.7 Measuring and Analyzing Software Defects, 301

7.8 Choosing Product Measures, 309

7.9 Practical Software Measurement, 311

7.10 Guidelines for Measuring and Controlling Work Products, 311

7.11 Rolling-Wave Adjustments Based on Product Measures and Measurement, 313

7.12 Key Points of Chapter 7, 313

8 Measuring and Controlling Work Processes 333

8.1 Introduction to Measuring and Controlling Work Processes, 333

8.2 Objectives of This Chapter, 336

8.3 Measuring and Analyzing Effort, 336

8.4 Measuring and Analyzing Rework Effort, 339

8.5 Tracking Effort, Schedule, and Cost; Estimating Future Status, 342

8.6 Earned Value Reporting, 347

8.7 Project Control Panel, 353

8.8 Key Points of Chapter 8, 357

9 Managing Project Risk 363

9.1 Introduction to Managing Project Risk, 363

9.2 Objectives of This Chapter, 365

9.3 An Overview of Risk Management for Software Projects, 366

9.4 Conventional Project Management Techniques, 369

9.5 Risk Identifi cation Techniques, 373

9.6 Risk Analysis and Prioritization, 381

9.7 Risk Mitigation Strategies, 382

9.8 Top-N Risk Tracking and Risk Registers, 388

9.9 Controlling the Risk Management Process, 392

9.10 Crisis Management, 394

9.11 Risk Management at the Organizational Level, 395

9.12 Joint Risk Management, 396

9.13 Key Points of Chapter 9, 396

10 Teams, Teamwork, Motivation, Leadership, and Communication 407

10.1 Introduction, 407

10.2 Objectives of This Chapter, 408

10.3 Managing versus Leading, 408

10.4 Teams and Teamwork, 410

10.5 Maintaining Morale and Motivation, 417

10.6 Can't versus Won't, 418

10.7 Personality Styles, 420

10.8 The Five-Layer Behavioral Model, 427

10.9 Key Points of Chapter 10, 430

11 Organizational Issues 439

11.1 Introduction to Organizational Issues, 439

11.2 Objectives of This Chapter, 440

11.3 The Infl uence of Corporate Culture, 441

11.4 Assessing and Nurturing Intellectual Capital, 443

11.5 Key Personnel Roles, 444

11.6 Fifteen Guidelines for Organizing and Leading Software Engineering Teams, 449

11.6.3 Summary of the Guidelines, 463

11.7 Key Points of Chapter 11, 464

Glossary of Terms 471

Guidance for Term Projects 481

Index 487

See More
Richard E. (Dick) Fairley, PhD, is founder and Principal Associate of Software Engineering Management Associates (SEMA), a firm specializing in consulting services and training in software systems engineering, software project management, cost estimation, project planning and control techniques, risk management, and process assessment and improvement. He is also an Adjunct Professor of Computer Science and Engineering at Colorado Technical University in Colorado Springs, Colorado. He is a former associate dean, department head, director of software engineering, and professor of computer science at the OGI School of Science and Engineering in Beaverton, Oregon. Dr. Fairley has designed and implemented educational programs in universities and in industry, headed research programs in software engineering, and lectured to and consulted with many companies worldwide.
See More
  • 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
See More
"This book is readable, informative, and well organized.... The material presented is up to date with respect to documents that were published at the time the book was written." (Computing Reviews, May 15, 2009)

"Mark it up and keep it on your bookshelf, and be sure to reference it frequently." (Computing Reviews, April 28, 2008)

See More
Managing and Leading Software ProjectsVisit the companion website to access supporting handouts, slides, potential student projects and additional resources to accompany the book.
See More