Managing and Leading Software Projects
Inbunden, Engelska, 2009
1 729 kr
Produktinformation
- Utgivningsdatum2009-03-06
- Mått185 x 259 x 33 mm
- Vikt1 134 g
- FormatInbunden
- SpråkEngelska
- Antal sidor512
- FörlagJohn Wiley & Sons Inc
- ISBN9780470294550
Tillhör följande kategorier
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.
- Preface xv1 Introduction 11.1 Introduction to Software Project Management 11.2 Objectives of This Chapter 21.3 Why Managing and Leading Software Projects Is Difficult 21.3.1 Software Complexity 31.3.2 Software Conformity 41.3.3 Software Changeability 41.3.4 Software Invisibility 51.3.5 Team-Oriented Intellect-Intensive Work 61.4 The Nature of Project Constraints 91.5 A Workflow Model for Managing Software Projects 131.6 Organizational Structures for Software Projects 161.6.1 Functional Structures 161.6.2 Project Structures 171.6.3 Matrix Structures 171.6.4 Hybrid Structures 181.7 Organizing the Project Team 191.7.1 The System Engineering Team 191.7.2 The Software Engineering Team 201.8 Maintaining the Project Vision and the Product Vision 211.9 Frameworks Standards and Guidelines 221.10 Key Points of Chapter 1 231.11 Overview of the Text 23References 24Exercises 25Appendix 1A: Frameworks Standards and Guidelines for Managing Software Projects 281A.1 The CMMI-DEV-v1.2 Process Framework 281A.2 ISO/IEC and IEEE/EIA Standards 12207 341A.3 IEEE/EIA Standard 1058 361A.4 The PMI Body of Knowledge 372 Process Models for Software Development 392.1 Introduction to Process Models 392.2 Objectives of This Chapter 422.3 A Development-Process Framework 422.3.1 Users Customers and Acquirers 432.3.2 System Requirements and System Design 462.3.3 Software Requirements Architecture and Implementation 472.3.4 Verification and Validation 502.4 Tailoring the System Engineering Framework for Software-Only Projects 522.5 Traditional Software Development Process Models 542.5.1 Hacking 542.5.2 Requirements-to-Code 552.5.3 The Waterfall Development Model 552.5.4 Guidelines for Planning and Controlling Traditional Software Projects 582.6 Iterative-Development Process Models 582.6.1 The Incremental-Build Model 592.6.2 The Evolutionary Model 642.6.3 Agile Development Models 662.6.4 The Scrum Model 682.6.5 The Spiral Meta-Model 692.6.6 Guidelines for Planning and Controlling Iterative-Development Projects 712.7 Designing an Iterative-Development Process 722.8 The Role of Prototyping in Software Development 742.9 Key Points of Chapter 2 75References 76Exercises 77Appendix 2A: Frameworks Standards and Guidelines for Software Development Process Models 792A.1 The CMMI-DEV-v1.2 Technical Solution Process Area 792A.2 Development Processes in ISO/IEC and IEEE/EIA Standards 12207 802A.3 Technical Process Plans in IEEE/EIA Standard 1058 812A.4 The PMI Body of Knowledge 81Appendix 2B: Considerations for Selecting an Iterative- Development Model 823 Establishing Project Foundations 853.1 Introduction to Project Foundations 853.2 Objectives of This Chapter 863.3 Software Acquisition 873.4 Requirements Engineering 883.4.1 Requirements Development 893.4.2 Requirements Analysis 963.4.3 Technical Specifications 983.4.4 Requirements Verification 1053.4.5 Requirements Management 1063.5 Process Foundations 1093.5.1 Specifying the Scope of Your Project 1103.5.2 The Contractual Agreement 1103.6 Key Points of Chapter 3 112References 113Exercises 114Appendix 3A: Frameworks Standards and Guidelines for Product Foundations 1163A.1 The CMMI-DEV-v1.2 Process Areas for Requirements Development and Requirements Management 1163A.2 Product Foundations in ISO/IEC and IEEE/EIA Standards 12207 1173A.3 IEEE/EIA Standard 1058 1183A.4 The PMI Body of Knowledge 1184 Plans and Planning 1194.1 Introduction to the Planning Process 1194.2 Objectives of This Chapter 1204.3 The Planning Process 1214.4 The CMMI-DEV-v1.2 Process Area for Project Planning 1254.4.1 Planning Agile Projects 1284.4.2 Balancing Agility and Discipline 1294.5 A Minimal Project Plan 1294.6 A Template for Software Project Management Plans 1304.6.1 Front Matter 1304.6.2 Project Summary 1324.6.3 Evolution Definitions and References 1344.6.4 Project Organization 1364.6.5 Managerial Processes 1374.6.6 Technical Processes 1434.6.7 Supporting Processes 1454.6.8 Additional Plans Appendixes Index 1494.7 Techniques for Preparing a Project Plan 1504.7.1 Tailoring the Project Plan Template 1504.7.2 Including Predefined Elements 1524.7.3 Using Organizational Support 1524.7.4 Leading a Planning Team 1534.7.5 Incremental Planning 1534.8 Key Points of Chapter 4 154References 154Exercises 155Appendix 4A: Frameworks Standards and Guidelines for Project Planning 1564A.1 The CMMI-DEV-v1.2 Project Planning Process Area 1564A.2 ISO/IEC and IEEE/EIA Standards 12207 1574A.3 IEEE/EIA Standard 1058 1584A.4 The PMI Body of Knowledge 158Appendix 4B: Annotated Outline for Software Project Management Plans Based on IEEE Standard 1058 1594B.1 Purpose 1594B.2 Evolution of Plans 1604B.3 Overview 1604B.4 Format of a Software Project Management Plan 1604B.5 Structure and Content of the Plan 1625 Project Planning Techniques 1735.1 Introduction to Project Planning Techniques 1735.2 Objectives of This Chapter 1745.3 The Scope of Planning 1755.4 Rolling-Wave Planning 1755.5 Scenarios for Developing a Project Plan 1765.6 Developing the Architecture Decomposition View and the Work Breakdown Structure 1775.7 Guidelines for Designing Work Breakdown Structures 1825.8 Developing the Project Schedule 1885.8.1 The Critical-Path Method 1905.8.2 The PERT Method 1905.8.3 Task-Gantt Charts 1935.9 Developing Resource Profiles 1935.10 Resource-Gantt Charts 1995.11 Estimating Project Effort Cost and Schedule 1995.12 Key Points of Chapter 5 201References 202Exercises 202Appendix 5A: Frameworks Standards and Guidelines for Project Planning Techniques 204A5.1 Specific Practices of the CMMI-DEV-v1. 2Project Planning Process Area 2045A.2 ISO/IEC and IEEE/EIA Standards 12207 2055A.3 IEEE/EIA Standard 1058 2055A.4 The PMI Body of Knowledge 2066 Estimation Techniques 2076.1 Introduction to Estimation Techniques 2076.2 Objectives of This Chapter 2086.3 Fundamental Principles of Estimation 2096.4 Designing to Project Constraints 2146.5 Estimating Product Size 2166.6 Pragmatic Estimation Techniques 2246.6.1 Rule of Thumb 2246.6.2 Analogy 2266.6.3 Expert Judgment 2276.6.4 Delphi Estimation 2276.6.5 WBS/CPM/PERT 2296.7 Theory-Based Estimation Models 2306.7.1 System Dynamics 2306.7.2 Slim 2316.8 Regression-Based Estimation Models 2346.8.1 COCOMO Models 2386.8.2 Monte Carlo Estimation 2446.8.3 Local Calibration 2446.9 Estimation Tools 2496.10 Estimating Life Cycle Resources Effort and Cost 2496.11 An Estimation Procedure 2516.12 A Template for Recording Estimates 2566.13 Key Points of Chapter 6 258References 258Exercises 259Appendix 6A: Frameworks Standards and Guidelines for Estimation 2626A.1 Estimation Goals and Practices of the CMMI-DEV-v1.2 Project Planning Process Area 2626A.2 ISO/IEC and IEEE/EIA Standards 12207 2636A.3 IEEE/EIA Standard 1058 2636A.4 The PMI Body of Knowledge 2637 Measuring and Controlling Work Products 2657.1 Introduction to Measuring and Controlling Work Products 2657.2 Objectives of This Chapter 2687.3 Why Measure? 2687.4 What Should Be Measured? 2697.5 Measures and Measurement 2707.6 Measuring Product Attributes 2767.6.1 Measuring Operational Requirements and Technical Specifications 2767.6.2 Measuring and Controlling Changes to Work Products 2817.6.3 Measuring Attributes of Architectural Design Specifications 2857.6.4 Measuring Attributes of Software Implementation 2887.6.5 Complexity Measures for Software Code 2937.6.6 Measuring Integration and Verification of Software Units 2987.6.7 Measuring System Verification and Validation 2997.7 Measuring and Analyzing Software Defects 3017.8 Choosing Product Measures 3097.9 Practical Software Measurement 3117.10 Guidelines for Measuring and Controlling Work Products 3117.11 Rolling-Wave Adjustments Based on Product Measures and Measurement 3137.12 Key Points of Chapter 7 313References 314Exercises 315Appendix 7A: Frameworks Standards and Guidelines for Measuring and Controlling Work Products 3197A.1 The CMMI-DEV-v1.2 Monitoring and Control Process Area 3197A.2 ISO/IEC and IEEE/EIA Standards 12207 3207A.3 IEEE/EIA Standard 1058 3217A.4 The PMI Body of Knowledge 3217A.5 Practical Software and Systems Measurement (PSM) 321Appendix 7B: Procedures and Forms for Software Inspections 3227B.1 Conducting a Software Inspection 3227B.2 The Defect Checklist 3247B.3 Conducting an Inspection Meeting 3258 Measuring and Controlling Work Processes 3338.1 Introduction to Measuring and Controlling Work Processes 3338.2 Objectives of This Chapter 3368.3 Measuring and Analyzing Effort 3368.4 Measuring and Analyzing Rework Effort 3398.5 Tracking Effort Schedule and Cost; Estimating Future Status 3428.5.1 Binary Tracking 3428.5.2 Estimating Future Status 3458.6 Earned Value Reporting 3478.7 Project Control Panel® 3538.8 Key Points of Chapter 8 357References 358Exercises 358Appendix 8A: Frameworks Standards and Guidelines for Measuring and Controlling Work Processes 3619 Managing Project Risk 3639.1 Introduction to Managing Project Risk 3639.2 Objectives of This Chapter 3659.3 An Overview of Risk Management for Software Projects 3669.4 Conventional Project Management Techniques 3699.5 Risk Identification Techniques 3739.5.1 Checklists 3739.5.2 Brainstorming 3759.5.3 Expert Judgment 3759.5.4 SWOT 3759.5.5 Analysis of Assumptions and Constraints 3759.5.6 Lessons-Learned Files 3769.5.7 Cost and Schedule Modeling 3769.5.8 Requirements Triage 3799.5.9 Assets Inventory 3809.5.10 Trade-Off Analysis 3809.6 Risk Analysis and Prioritization 3819.7 Risk Mitigation Strategies 3829.7.1 Risk Avoidance 3829.7.2 Risk Transfer 3839.7.3 Risk Acceptance 3839.7.4 Immediate Action 3849.7.5 Contingent Action 3859.8 Top-N Risk Tracking and Risk Registers 3889.9 Controlling the Risk Management Process 3929.10 Crisis Management 3949.11 Risk Management at the Organizational Level 3959.12 Joint Risk Management 3969.13 Key Points of Chapter 9 396References 397Exercises 397Appendix 9A: Frameworks Standards and Guidelines for Risk Management 3999A.1 The CMMI-DEV-v1.2 Risk Management Process Area 3999A.2 ISO/EIC and IEEE/EIA Standards 12207 4009A.3 IEEE/EIA Standard 1058 4009A.4 The PMI Body of Knowledge 4019A.5 IEEE Standard 1540 402Appendix 9B: Software Risk Management Glossary 40410 Teams Teamwork Motivation Leadership and Communication 40710.1 Introduction 40710.2 Objectives of This Chapter 40810.3 Managing versus Leading 40810.4 Teams and Teamwork 41010.5 Maintaining Morale and Motivation 41710.6 Can’t versus Won’t 41810.7 Personality Styles 42010.7.1 Jungian Personality Traits 42010.7.2 MBTI Personality Types 42110.7.3 Dimensions of Social Styles 42510.8 The Five-Layer Behavioral Model 42710.9 Key Points of Chapter 10 430References 430Exercises 432Appendix 10A: Frameworks Standards and Guidelines for Teamwork and Leadership 43310A.1 The CMMI-DEV-v1.2 Framework Processes 43310A.2 ISO/IEC and IEEE/EIA Standards 12207 43310A.3 IEEE/EIA Standard 1058 43310A.4 The PMI Body of Knowledge 43410A.5 Other Sources of Information 43410A.5.1 The People CMM 43410A.5.2 The Personal Software Process 43510A.5.3 The Team Software Process 43610A.5.4 Peopleware 43611 Organizational Issues 43911.1 Introduction to Organizational Issues 43911.2 Objectives of This Chapter 44011.3 The Influence of Corporate Culture 44111.4 Assessing and Nurturing Intellectual Capital 44311.5 Key Personnel Roles 44411.6 Fifteen Guidelines for Organizing and Leading Software Engineering Teams 44911.6.1 Introduction to the Guidelines 44911.6.2 The Guidelines 45011.6.3 Summary of the Guidelines 46311.7 Key Points of Chapter 11 464References 464Exercises 465Appendix 11: Frameworks Standards and Guidelines for Organizational Issues 467A11.1 The CMMI-DEV-v1.2 Process Framework 467A11.2 ISO and IEEE Standards 12207 469A11.3 IEEE/EIA Standard 1058 470A11.4 The PMI Body of Knowledge 470Glossary of Terms 471Guidance for Term Projects 481Index 487
"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)