You are previewing Quality Software Project Management.
O'Reilly logo
Quality Software Project Management

Book Description

The practical handbook of software project management-by practitioners, for practitioners!

Quality Software Project Management is the practical, start-to-finish project management resource for every software professional-experienced managers and developers moving into leadership roles. Drawing on best practices identified at The University of Texas at Austin Software Quality Institute's successful Software Project Management Certificate Program, it identifies 34 key competencies every project manager can use to minimize cost, risk, and time-to-market. Written by leading practitioners, it addresses all three pillars of any successful software venture: process, project, and people.

  • Integrates best practices from the fields of quality, software engineering, and project management

  • Shows how to tailor best practices to the unique requirements of your projects

  • Covers the entire project lifecycle: planning, initiation, execution, monitoring/control, and closing

  • Illuminates its techniques with real-world software management case studies

  • Offers a solid foundation for pursuing advanced certifications such as the Project Management Institute's Project Management Professional (PMP(r)) and the American Society for Quality's Certified Software Quality Engineer (CSQE)

Endorsed by the Software Quality Institute (SQI), Quality Software Project Management teaches skills you can use right now to drive maximum business value in any project-large or small.

Contains practical checklists, templates, and forms-all downloadable from the book's companion Web site

Practical checklists, templates, forms—all downloadable from the book's companion Web Site: http://stealthis.athensgroup.com/QSPM

Table of Contents

  1. Copyright
    1. Dedication
  2. Software Quality Institute Series
  3. Titles in the Software Quality Institute Series
  4. Foreword
  5. Preface
    1. Using the Guide as a Course Text
    2. Acknowledgements
  6. 1. Introduction
    1. Introduction to the 34 Competencies
    2. Surveying the Foundations
      1. What Is “Software Project Management”?
      2. What Is Software Engineering?
      3. What Is a Project?
      4. What Is a Program?
      5. What Is Project Management?
    3. Some Other Useful Definitions
      1. What Is a Process?
      2. What Is a Task? What Is an Activity?
      3. What Is a Phase?
      4. What Is a System?
    4. Product Development Techniques
      1. Where Product Competencies Are Addressed
      2. A Brief Description of Product Management Skills
        1. Product Competency 1: Assessing Processes—Defining Criteria for Reviews
        2. Product Competency 2: Awareness of Process Standards—Understanding Process Standards
        3. Product Competency 3: Defining the Product—Identifying Customer Environment and Product Requirements
        4. Product Competency 4: Evaluating Alternative Processes—Evaluating Various Approaches
        5. Product Competency 5: Managing Requirements—Monitoring Changes in Requirements
        6. Product Competency 6: Managing Subcontractors—Planning, Managing, and Monitoring Performance
        7. Product Competency 7: Performing the Initial Assessment—Assessing Difficulty, Risks, Costs, and Schedule
        8. Product Competency 8: Selecting Methods and Tools—Defining Selection Processes
        9. Product Competency 9: Tailoring Processes—Modifying Standard Processes to Suit a Project
        10. Product Competency 10: Tracking Product Quality—Monitoring the Quality of an Evolving Product
        11. Product Competency 11: Understanding Development Activities—Learning the Software Development Cycle
    5. Project Management Skills
      1. Where Project Competencies Are Addressed
      2. A Brief Description of Project Management Skills
        1. Project Competency 12: Building a Work Breakdown Structure—Building a WBS for a Project
        2. Project Competency 13: Documenting Plans—Identifying Key Components
        3. Project Competency 14: Estimating Cost—Estimating Cost Required to Complete a Project
        4. Project Competency 15: Estimating Effort—Estimating Effort Required to Complete a Project
        5. Project Competency 16: Managing Risks—Determining Impact and Handling of Risks
        6. Project Competency 17: Monitoring Development—Monitoring the Production of Software
        7. Project Competency 18: Scheduling—Creating a Schedule and Key Milestones
        8. Project Competency 19: Selecting Metrics—Choosing Appropriate Metrics
        9. Project Competency 20: Selecting Project Management Tools—Knowing How to Select PM Tools
        10. Project Competency 21: Tracking Process—Monitoring Compliance of the Project Team
        11. Project Competency 22: Tracking Project Progress—Monitoring Progress Using Metrics
      3. People Management Skills
      4. Where People Management Skills Are Addressed
      5. A Brief Description of People Management Skills
        1. People Competency 23: Appraising Performance—Evaluating Teams to Enhance Performance
        2. People Competency 24: Handling Intellectual Property—Understanding the Impact of Critical Issues
        3. People Competency 25: Effective Meetings—Planning and Running Excellent Meetings
        4. People Competency 26: Interaction and Communication—Dealing with Developers, Upper Management, and Other Teams
        5. People Competency 27: Leadership—Coaching Project Teams for Optimal Results
        6. People Competency 28: Managing Change—Being an Effective Change Agent
        7. People Competency 29: Negotiating Successfully—Resolving Conflicts and Negotiating Successfully
        8. People Competency 30: Planning Careers—Structuring Teams and Giving Career Guidance
        9. People Competency 31: Presenting Effectively—Using Effective Written and Oral Skills
        10. People Competency 32: Recruiting—Recruiting and Interviewing Successful Team Members
        11. People Competency 33: Selecting a Team—Choosing Highly Competent Teams
        12. People Competency 34: Teambuilding—Forming, Guiding, and Maintaining an Effective Team
    6. Summary
    7. Problems for Review
    8. Endnotes
  7. 2. A Case in Point
    1. Background Information on the Chinese Railway System
    2. Railroad Building in China[1]
    3. Chinese Business Environment[2]
      1. Westinghouse Power Contract
      2. Non-State Group in IFC Loan
      3. Globalstar Gearing Up
      4. Mineral Resource Priorities
    4. Project Description
      1. Your Project Management Situation
        1. Resources
      2. Your Corporation and You
      3. Your Project Deliverables
      4. Your Schedule
      5. Your Competition
      6. Your Project Team
    5. A Final Note: Potential Market for Software
    6. Web Pages for Further Information
    7. Endnotes
  8. 3. Process Overview
    1. Key Chapter 3 Points
    2. Where We Are in the Product Development Life Cycle
    3. Chapter 3 Relation to the 34 Competencies
    4. Learning Objectives for Chapter 3
    5. SEI CMM Level 3 Is the Defined Level
      1. Organizational Process Focus
      2. Organizational Process Definition
      3. Process Management Begins at the Front End
      4. Process Management Defined
      5. The Process of Process Management
    6. IEEE 1074—Process Map for Software Life Cycle Process
      1. How to Use 1074
      2. 1074 Applied
    7. Customized Software Development Process
    8. Software Project Management Organization Life Cycle
    9. Summary
    10. Problems for Review
    11. Visit the Case Study
    12. References
    13. Web Pages for Further Information
    14. Endnotes
  9. 4. Selecting Software Development Life Cycles
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 4 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 4
    4. What Is a Software Development Life Cycle?
    5. Why Are Software Development Life Cycles Important?
    6. Selection and Tailoring of Software Development Life Cycles Is a Quality Objective
    7. The SEI CMM and the Life Cycle
      1. Organization Process Definition
      2. Integrated Software Management
    8. International Organization for Standardization (ISO)/IEC 12207
    9. Software Development Life Cycle Models
      1. The Waterfall Software Development Life Cycle Model
        1. A Brief Description of the Phases in the Waterfall Model
        2. Strengths of the Waterfall Model
        3. Weaknesses of the Waterfall Model
        4. When to Use the Waterfall Model
      2. The V-Shaped Software Development Life Cycle Model
        1. Phases in the V-Shaped Model
        2. Strengths of the V-Shaped Model
        3. Weaknesses of the V-Shaped Model
        4. When to Use the V-Shaped Model
      3. The Prototype Software Development Life Cycle Model
        1. Definitions of Prototyping
        2. Description of the Structured Evolutionary Prototyping Model
        3. Strengths of the Structured Evolutionary Rapid Prototyping Model
        4. Weaknesses of the Structured Evolutionary Rapid Prototyping Model
        5. When to Use the Structured Evolutionary Rapid Prototyping Model
      4. The Rapid Application Development (RAD) Software Development Life Cycle Model
        1. A Brief Description of the Phases in the RAD Model
        2. Strengths of the RAD Model
        3. Weaknesses of the RAD Model
        4. When to Use the RAD Model
      5. The Incremental Software Development Life Cycle Model
        1. Strengths of the Incremental Model
        2. Weaknesses of the Incremental Model
        3. When to Use the Incremental Model
      6. The Spiral Software Development Life Cycle Model
        1. Strengths of the Spiral Model
        2. Weaknesses of the Spiral Model
        3. When to Use the Spiral Model
      7. Tailored Software Development Life Cycle Models
        1. Fast Track
        2. Concurrent Engineering
        3. Win-Win Spiral Model
        4. Evolutionary/Incremental
        5. Incremental V
        6. Object-Oriented Rapid Prototyping
    10. Selecting an Appropriate Software Development Life Cycle Model
      1. Project Characteristic Categories
        1. Requirements
        2. Project Team
        3. User Community
        4. Project Type and Risk
    11. Customizing the Life Cycle Model
    12. Summary
    13. Problems for Review
    14. Visit the Case Study
    15. References
    16. Web Pages for Further Information
    17. Endnotes
  10. 5. Managing Domain Processes
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 5 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 5
    4. Defining the Process Domain
    5. Project Selection Models
    6. Project Portfolio Management
    7. Understanding Financial Processes
    8. Summary
    9. Problems for Review
    10. Visit the Case Study
    11. Web Pages for Further Information
    12. Endnotes
  11. 6. Selecting a Project Team
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 6 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 6
    4. Selecting a Project Team
      1. Principle 7: Colleagues
      2. Principle 8: Self
    5. The Whole Is the Sum of the Parts
      1. Individual Personality Type
        1. Myers-Briggs Type Indicator
        2. FIRO-B Instrument
        3. Keirsey Temperament Sorter
        4. Kahler Process Communication Model
        5. Enneagram
        6. Model Usage
      2. Cultural Influences
      3. Personal Motivation
    6. Parts Need to Work Together
      1. Hire for Trait and Train for Skill
        1. McFletcher WorkStyle Patterns Inventory
        2. The Skill Gap
      2. Understand Group Dynamics
      3. Recognize Teamicide
    7. Working Together Requires a Framework
      1. Communication and Team Size
      2. Team Communication
      3. Team Dispersion
        1. Geography Issues
        2. Time Considerations
      4. Structure and Ritual
        1. Provide a Strong Framework
        2. Practice Rituals
        3. Peoplework, Not Paperwork
    8. Providing the Total Solution
      1. Managing Creativity
      2. When to Lead and When to Manage
    9. Summary
    10. Problems for Review
    11. Visit the Case Study
    12. Suggested Readings
    13. Web Pages for Further Information
    14. Endnotes
  12. 7. Defining the Goal and Scope of the Software Project
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 7 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 7
    4. Project Planning
      1. Why
      2. What
      3. How
      4. Do It
      5. Did It
    5. What Is “The Goal”?
      1. Setting Clear Objectives
    6. What Is the Scope of Work?
      1. Setting Boundary Conditions
    7. Project Charter
      1. Project Charter Contents
    8. The Software Project Management Plan
      1. Major Elements of SPMP
      2. How These Project Planning Documents Relate
    9. Summary
    10. Problems for Review
    11. Visit the Case Study
    12. Suggested Readings
    13. Web Pages for Further Information
    14. Endnotes
  13. 8. Creating the Work Breakdown Structure
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 8 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 8
    4. What Is a Work Breakdown Structure?
    5. Approaches to Building a WBS
    6. Defining Project Milestones
    7. Creating Work Packages
    8. Building a WBS for Software
      1. Identify the Work Concerning Software
      2. Find Any Higher System WBS
      3. Determine the Software WBS Architecture
      4. Populate the Software WBS
      5. Determine Cost Categories for Software
      6. Applying the Five WBS-Building Steps
    9. Summary
    10. Problems for Review
    11. Visit the Case Study
    12. Suggested Readings
    13. Web Pages for Further Information
  14. 9. Identifying the Tasks and Activities
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 9 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 9
    4. Characteristics of Tasks and Activities
      1. Meaningful Label
      2. Optimal Activity Size
      3. Source
    5. The Activity ID Process
      1. Adapting Life Cycle Activities for Common Situations
      2. Software Development Life Cycle Activities
      3. Waterfall Model Activities
      4. V-Shaped Model Activities
      5. Structured Evolutionary Rapid Prototyping Model Activities
      6. Rapid Application Development (RAD) Model Activities
      7. Incremental Model Activities
      8. Spiral Model Activities
    6. Summary
    7. Problems for Review
    8. Visit the Case Study
    9. References
    10. Web Pages for Further Information
  15. 10. Software Size and Reuse Estimating
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 10 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 10
    4. The SEI CMM and Estimating
      1. Goals of SEI CMM Level 2, Key Process Area (KPA): Software Project Planning (PP)
      2. Activities Performed
    5. Problems and Risks with Estimating Software Size
      1. The Problem with Estimating
      2. The Risks of Estimating
        1. Some Software Project Management Risks Associated with Estimating Size
        2. Some Suggestions to Mitigate Size-Related Risks
    6. Getting Started with Software Sizing: Estimating Begins with Planning
      1. The WBS—“Decomposing” a Project into Tasks
      2. Estimating the Size of Software Under Development (Sizing)
      3. Examples of Size Measures
        1. Lines of Code as a Unit of Size
          1. Estimating LOC Using Expert Opinions and Bottom-Up Summations
          2. Guidelines for Counting LOC
        2. Estimating LOC by Analogy
          1. Advantages of Using LOC as a Unit of Measure
          2. Disadvantages of Using LOC
        3. Function Points as a Unit of Size
        4. Feature Points as a Unit of Size
        5. Object Points
        6. Model Blitz
        7. Wideband Delphi
    7. The Effects of Reuse on Software Size
      1. Becoming More Accurate with Reuse
      2. Estimation of Effort
    8. Summary
    9. Problems for Review
    10. Visit the Case Study
    11. Suggested Readings
    12. Web Pages for Further Information
    13. Endnotes
  16. 11. Estimating Duration and Cost
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 11 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 11
    4. The SEI CMM and Estimating
      1. A Goal of SEI CMM Level 2, Key Process Area (KPA): Software Project Planning (PP)
        1. Goal 1.
    5. Effort Measures
    6. The Steps in Estimating
      1. Step 1. Establish Cost-Estimation Objectives
      2. Step 2. Develop a Plan for Estimation Activities; Plan for Resources
      3. Step 3. Clarify Software Requirements
      4. Step 4. Explore as Much Detail as Feasible
      5. Step 5. Use Several Independent Techniques
      6. Step 6. Compare, Understand, and Iterate Estimates
      7. Step 7. Review Estimate Accuracy
    7. COCOMO: A Regression Model
      1. Regression Models in General
        1. Definitions:
      2. COCOMO Modes
        1. Organic
        2. Semidetached
        3. Embedded
      3. COCOMO Levels
        1. Basic
        2. Intermediate
        3. Detailed
      4. Basic COCOMO
        1. Effort Estimation
        2. Basic COCOMO Project Duration Estimation
        3. Basic COCOMO Average Staff and Productivity Estimation
        4. Basic COCOMO Examples
          1. Basic COCOMO Example 1
          2. Basic COCOMO Example 2
        5. Basic COCOMO Phase Distribution of Effort and Schedule
      5. Intermediate COCOMO
        1. Intermediate COCOMO Effort Estimation
        2. Cost Drivers
        3. Product Attributes
        4. Computer Attributes
        5. Project Attributes
        6. Personnel Attributes
        7. Other Cost Drivers
        8. Intermediate COCOMO Examples
          1. Intermediate COCOMO Example 1
          2. Intermediate COCOMO Example 2
      6. Detailed COCOMO
      7. Scheduling Using COCOMO
      8. Tailoring of COCOMO
      9. Advantages of COCOMO
      10. Disadvantages of COCOMO
      11. Some Typical Barriers to Faster Schedule or Lower Cost
    8. COCOMO II
    9. SLIM: A Mathematical Model
      1. Advantages of the SLIM Model
      2. Disadvantages of the SLIM Model
    10. Summary
    11. Problems for Review
    12. Visit the Case Study
    13. References
    14. Suggested Readings
    15. Web Pages for Further Information
    16. Endnotes
  17. 12. Assigning Resources
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 12 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 12
    4. Organizational Planning
    5. Identifying and Documenting the Project Roles and Skills Needed
      1. Types of Roles
      2. Characteristics of Roles
    6. Assigning Responsibilities to Individuals
      1. Comprehending Roll-On and Roll-Off
      2. Resource Assignment Strategy
      3. Fitting a Person to a Role
      4. Developing the Project Staffing Management Plan
    7. Establishing Reporting Relationships
      1. Responsibility Assignment Matrix
      2. Resource Leveling
    8. Project Management Resource Activities During Execution
    9. Summary
    10. Problems for Review
    11. Visit the Case Study
    12. Suggested Readings
    13. Web Pages for Further Information
  18. 13. Choosing an Organizational Form
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 13 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 13
    4. What Is an Organization?
      1. How Did Organizations Evolve?
      2. Are Organizational Styles Changing?
    5. Characteristics of an Organization
      1. Generic Model of an Organization
      2. Does Organization Size Matter?
      3. Dispersed or Collocated
      4. The Relative Power of the Project Manager
      5. Organizational Maturity
    6. Organizational Structures
      1. Functional Organizations
        1. Project Expediter Organization
        2. Project Coordinator
      2. Matrix Organizations
      3. Projectized Organizations
    7. Implementing an Organizational Structure
    8. Summary
    9. Problems for Review
    10. Visit the Case Study
    11. References
    12. Suggested Readings
    13. Web Pages for Further Information
    14. Endnotes
  19. 14. Considering Dependencies
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 14 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 14
    4. What Are Dependencies?
    5. Types of Software Development Dependencies
      1. External versus Internal Dependencies
      2. Resource versus Activity Dependencies
      3. Possible Dependency Relationships
        1. Finish-to-Start (FS)
        2. Start-to-Start (SS)
        3. Finish-to-Finish (FF)
        4. Start-to-Finish (SF)
      4. Special Types of Relationships
        1. Lag and Lead Relationships
        2. Hard vs. Soft Dependencies
        3. The Uncertainty Principle
    6. Brainstorming Dependencies and Activities
      1. Nominal Group Technique
      2. Process for Identifying New Dependencies
    7. Summary
    8. Problems for Review
    9. Visit the Case Study
    10. Suggested Readings
    11. Web Pages for Further Information
  20. 15. Scheduling the Work
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 15 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 15
    4. Why Schedule?
      1. The Game
    5. The Uncertainty of Scheduling the Future
      1. The Psychology of Estimating
    6. Scheduling Fundamentals
      1. Table
      2. Gantt Chart
      3. Network Diagram
    7. PERT and CPM Scheduling
      1. PERT
      2. CPM
    8. Leveling Resource Assignments
    9. Map the Schedule to a Real Calendar
    10. Critical Chain Scheduling
    11. Complete Process for Building a Real Schedule
    12. Summary
    13. Problems for Review
    14. Visit the Case Study
    15. Suggested Readings
    16. Web Pages for Further Information
    17. Endnotes
  21. 16. Eliciting Requirements
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 16 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 16
    4. Background for Requirements Management
    5. Requirements Management and the SEI CMM
      1. Goals
      2. Activities Performed
    6. Critical Success Factors as Applied to Software Requirements
    7. What Is a Software Requirement?
      1. Types of Software Requirements
    8. What Makes a “Good” Software Requirement?
    9. Requirements Elicitation Methods
      1. Interviews
        1. Steps in Interviewing
      2. Brainstorming Sessions
        1. Definition of Brainstorming
        2. Roles for a Brainstorming Session
          1. Leader
          2. Scribe
          3. Participants
        3. Rules for a Brainstorming Session
          1. Rules for Leaders
          2. Rules for Scribes
          3. Rules for Participants
          4. Brainstorming Rules in General
          5. An Expansion of Some of the Most Important Brainstorming Rules
        4. Suggestions for a Brainstorming Session
        5. Brainstorming Session Agenda
        6. Preparation for Brainstorming
        7. Follow-up to a Brainstorming Session
        8. Mind Mapping
      3. Facilitated Application Specification Techniques (FAST)
      4. Joint Application Design
        1. Definition of JAD
        2. Roles in JAD
          1. Developers
          2. Participants
          3. The Facilitator/Process Consultant
          4. Scribe
        3. JAD Sessions
          1. Output from a JAD Session
        4. Possible Issues with JAD
      5. User Scenario and Use Case Development Sessions
        1. Definition of a Use Case
          1. Actor
          2. Use Case
          3. Use Case Diagram
        2. Benefits of Use Case
        3. Guidelines for Creating Use Cases
    10. Guidelines for Writing Quality Requirements
    11. Challenges in Eliciting Requirements
    12. Requirements and Quality Function Deployment
      1. Prioritize Requirements
    13. Summary
    14. Problems for Review
    15. Visit the Case Study
    16. Suggested Readings
    17. Web Pages for Further Information
    18. Endnotes
  22. 17. Developing the Software Requirements Specification
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 17 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 17
    4. Questions the SRS Answers for a Project
    5. Benefits of an SRS
    6. Building the SRS
      1. Title Page
      2. Table of Contents
      3. Section 1. Introduction
        1. 1.1. Purpose
        2. 1.2. Scope
        3. 1.3. Assumptions and Dependencies
        4. 1.4. Overview of the SRS
      4. Section 2. The General Description
        1. 2.1. Product Perspective
        2. 2.2. Product Functions
        3. 2.3. User Characteristics
        4. 2.4. General Constraints
      5. Section 3. Specific Requirements
        1. 3.1. Functional Requirements
        2. 3.2. External Interface Requirements
        3. 3.2.1. User Interfaces
        4. 3.2.2. Hardware Interfaces
        5. 3.2.3. Software Interfaces
        6. 3.2.4. Communications Interfaces
        7. 3.3. Performance Requirements
        8. 3.4. Design Constraints
        9. 3.4.1. Standards Compliance
        10. 3.4.2. Hardware Limitations
        11. 3.5. Quality Characteristics
        12. 3.5.1. Efficiency
        13. 3.5.n. Usability
        14. 3.6. Other Requirements
        15. 3.6.1. Database
        16. 3.6.2. Operations
        17. 3.6.3. Site Adaptation Requirements
      6. Section 4. Supporting Information
        1. 4.1. Definitions, Acronyms, and Abbreviations
        2. 4.2. References
        3. 4.3. Appendices
        4. 4.4. Index
    7. Evaluating the Project SRS
      1. Correctness
      2. Unambiguousness
      3. Completeness
      4. Consistency
      5. Ranked for Importance and/or Stability
    8. Degree of Stability
    9. Degree of Necessity
    10. Verifiability
    11. Modifiability
    12. Traceability
    13. Some Final Hints
    14. Summary
    15. Problems for Review
    16. Visit the Case Study
    17. References
    18. Web Pages for Further Information
    19. Endnotes
  23. 18. Determining Project Risks
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 18 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 18
    4. What Is Risk Management?
    5. Risk Management Models
    6. Project Risk and the SEI
    7. Identifying Risks
    8. Analyzing and Quantifying Risks
    9. Developing and Controlling Risks
    10. Risk Categories
    11. Steps in Developing a Risk Management Plan
      1. Step 1
      2. Step 2
      3. Step 3
      4. Step 4
      5. Step 5
    12. Summary
    13. Problems for Review
    14. Visit the Case Study
    15. Web Pages for Further Information
    16. Risk Management Tools
    17. References
    18. Endnotes
  24. 19. Introduction to Software Engineering
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 19 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 19
      1. Software Engineering Defined in the SEI CMM
        1. Goals
        2. Activities
    4. Software, Engineering, and Software Engineering
    5. Software Engineering Body of Knowledge
    6. SWEBOK and the SEI CMM
    7. SWEBOK and the 34 Software Project Management Competencies
    8. SWEBOK and Quality Software Project Management
    9. Summary
    10. Problems for Review
    11. Visit the Case Study
    12. Web Pages for Further Information
    13. Suggested Readings
    14. Endnotes
  25. 20. Reliability
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 20 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 20
    4. Software Reliability Terminology
    5. Fault Forecasting
    6. Fault Prevention
    7. Fault Removal
    8. Fault Tolerance
    9. Reliability Tools
    10. Software Reliability Plan
    11. Summary
    12. Problems for Review
    13. Visit the Case Study
    14. Standards
    15. Web Pages for Further Information
    16. Tools
    17. Suggested Readings
    18. Endnotes
  26. 21. Software Metrics
    1. Where We Are in the Software Life Cycle
      1. Project Initiation and Planning
      2. Project Monitoring and Control
      3. Software Quality Management
      4. Verification and Validation
      5. Training Process
    2. Chapter 21 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 21
    4. What Is a Metric?
      1. Classes of Software Entities that May Be Measured
      2. Measurement Scales
    5. The Importance of Metrics to Software Projects
    6. Metrics and the SEI CMM
    7. SEI CMM Level 2: Repeatable
      1. Key Process Area: Software Requirements Management
      2. Key Process Area: Software Project Planning
      3. Key Process Area: Software Project Tracking and Oversight
    8. SEI CMM Level 3: Defined
      1. Key Process Area: Training Program
      2. Key Process Area: Software Product Engineering
    9. SEI CMM Level 4: Managed
    10. Useful Metrics
    11. The Basili Goal/Question/Metric Paradigm
      1. GQM Step 1: Develop a Set of Goals
        1. Strategic Goals
        2. Tactical Goals
      2. GQM Step 2: Develop a Set of Questions that Characterize the Goals
      3. GQM Step 3: Specify the Metrics Needed to Answer the Questions
      4. GQM Step 4: Develop Mechanisms for Data Collection
      5. GQM Step 5: Collect, Validate, and Analyze the Data in Real Time to Provide Feedback to Projects for Corrective Action
      6. GQM Step 6: Analyze the Data in a Postmortem Fashion to Assess Conformance to the Goals and Make Recommendations for Future Improvements
      7. GQM Step 7: Provide Feedback to Stakeholders
    12. A “Basic Metrics” Starter Set
      1. Three Basic Metrics: Effort
        1. Effort Data: Barriers to Collection
        2. Effort Data: Successful Collection
      2. Three Basic Metrics: Reviews
        1. Reviews: Errors and Defects
        2. Reviews: What Review Data Alone Can Show
        3. Phase Containment Effectiveness
        4. Reviews: Review Data Plus Effort Data
      3. Three Basic Metrics: Change Requests
        1. Changes: What Change Request Data Alone Can Show
        2. Changes: Change Request Data Plus Effort Data
    13. Measuring Aspects of Software Quality
    14. The Metrics Plan
    15. Summary
    16. Problems for Review
    17. Visit the Case Study
    18. Suggested Readings
    19. Web Pages for Further Information
    20. Endnotes
  27. 22. Analysis and Design Methods
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 22 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 22
    4. Analysis and Design and the SEI CMM
    5. Structured Analysis/Structured Design (SA/SD)
      1. SA/SD—Structured Analysis: Data Models
        1. Entity Relationship Diagrams
          1. Entities
          2. Attributes
          3. Relationships
          4. Normalization
      2. SA/SD—Structured Analysis: Process Models
        1. Data Context Diagram (DCD)
          1. External Entity (or Terminator)
          2. Process
          3. Data Flow
        2. Data Flow Diagrams (DFDs)
          1. Data Stores and Data Flows
          2. Functional Decomposition (Leveling)
          3. Decomposing DFDs and Labeling the Diagrams
          4. Internal Consistency (Balancing)
          5. Leveling DFDs
          6. Advantages of Leveled DFDs
          7. Process Specifications (PSPECs)
          8. Rules for PSPECs
        3. Control Models
          1. Control Context Diagram (CCD)
          2. Control Flow Diagrams (CFDs)
          3. State Transition Diagrams
          4. Data Dictionaries (Requirements Dictionaries)
        4. Software Architecture
      3. SA/SD—Structured Design: Structure Charts
        1. Structure Chart Quality—Coupling
        2. The Structure Chart—Cohesion
        3. Creating Structured Design Models from Structured Analysis Models
          1. Transform Analysis: A Strategy for Converting DFDs to Structure Charts
          2. Transaction Analysis
        4. Shape and Organization of the Structure Chart
          1. Fan-In/Fan-Out
          2. Scope of Control
          3. Module Connections
          4. A Balanced Structure Chart
      4. The Chapin Chart: A Model for Low-Level Design
    6. Object-Oriented Analysis/Object-Oriented Design (OOA/OOD)
      1. The Unified Modeling Language
      2. Object-Oriented Analysis
        1. Object-Oriented Analysis Static View: Class Diagram
          1. Classes
          2. Objects
          3. Attributes
          4. Operations
          5. Associations
          6. Messages
          7. Encapsulation (Information Hiding)
          8. Inheritance
          9. Polymorphism
          10. Designing Classes
          11. Superclasses and Subclasses
          12. Abstract Classes
          13. Finding Candidate Objects
          14. Finding Attributes
          15. Finding Operations
          16. Class-Responsibility-Collaboration (CRC)
        2. Object-Oriented Analysis Static Views: Use Case Diagrams
        3. Object-Oriented Analysis Dynamic View—Activity Diagram
      3. Object-Oriented Design
        1. Object-Oriented Design Static View—Class Diagram
        2. Object-Oriented Design—Interaction Diagrams
          1. Interaction Diagrams
          2. Object-Oriented Design Static View—Interaction Diagrams and Collaboration Diagrams
          3. Object-Oriented Design Dynamic View—Interaction Diagrams and Sequence Diagrams
          4. Object-Oriented Design Dynamic View—State Transition Diagrams
          5. Strengths of OO Modeling
      4. Commonalities of SA/SD and OOA/OOD
    7. Summary
      1. Review: Steps in Structured Analysis and Structured Design
      2. Review: Steps in Object-Oriented Analysis and Object-Oriented Design
    8. Problems for Review
    9. Visit the Case Study
    10. Suggested Readings
    11. Web Pages for Further Information
    12. Endnotes
  28. 23. Validation and Verification
    1. Reviews, Inspections, and Walkthroughs
    2. Testing
    3. Where We Are in the Product Development Life Cycle
    4. Chapter 23 Relation to the 34 Competencies
    5. Learning Objectives for Chapter 23
    6. Static Testing: Reviews
      1. Peer Reviews and the SEI CMM
      2. Static Testing Definitions
      3. Why Review?
        1. Economics of Reviews
        2. Nonmonetary Benefits of Reviews
      4. What Gets Reviewed?
      5. When Do Reviews Occur?
      6. Who Is Involved in Reviews?
      7. How Are Reviews Conducted? What Is the Process?
        1. Prereview
        2. The Review Meeting
          1. Roles Played in the Review Meeting
          2. Rules of the Review Meeting
        3. Post-Review
      8. Review Metrics
      9. Reviews and Trend Analysis
      10. Risks of Not Conducting Reviews
      11. Software Inspection Quality
      12. Issues with Reviews
      13. Summary of Static Testing with Reviews
    7. Dynamic Testing
      1. The Purpose of Testing
      2. Developers and Destruction
      3. Debugging
      4. Testing Is Never Complete
      5. The V-Shaped Software Product Development Life Cycle Supports Testing
      6. Dynamic Testing Definitions
      7. Types of Tests
        1. White-Box Testing
        2. Black-Box Testing
        3. Equivalence Partitioning
        4. Boundary-Value Analysis
        5. Integration Tests
        6. System Tests
        7. Operational Profile
        8. Regression Tests
        9. Alpha and Beta Testing
        10. White-Box Testing with Chapin Charts and Directed Flow Graphs
    8. Directed Flow Graph: McCabe Cyclomatic Complexity Analysis
      1. Edges – Nodes + 2
      2. Count of Bounded Regions
      3. Predicate Nodes + 1
      4. Statement Coverage
      5. Decision Coverage
      6. Condition Coverage
      7. Decision/Condition Coverage
      8. Multiple-Condition Coverage
    9. User Acceptance and Usability Testing
      1. Usability Requirements
      2. Users Talk Back
    10. The Ideal Test Coverage
      1. The Testing Process
        1. Preparing for Testing
        2. Testing
        3. Post-Testing
      2. Testing Teams
      3. Test Documentation
    11. Dynamic Testing: Measurement, Reporting, and Decision Making
      1. Testing Metrics
      2. Testing Decisions
    12. Object-Oriented Testing
    13. Summary of Dynamic Testing
    14. Summary
    15. Problems for Review
    16. Visit the Case Study
    17. Suggested Readings
    18. Web Pages for Further Information
    19. Endnotes
  29. 24. Use of Tools
    1. Where We Are in the Product Development Life Cycle
    2. Learning Objectives for Chapter 24
    3. Software Requirements Tools
      1. Requirements Modeling—CMM Level 2 and Above
      2. Traceability—CMM Level 2 and Above
    4. Software Design Tools
      1. Design Modeling—CMM Level 3 and Above
      2. Design Verification—CMM Level 4 and Above
      3. Design Optimization—CMM Level 4 and Above
    5. Software Construction Tools
      1. Program Editors—CMM Level 1 and Above
      2. Compilers—CMM Level 1 and Above
      3. Interpreters—CMM Level 1 and Above
      4. Debuggers—CMM Level 1 and Above
    6. Software Testing Tools
      1. Test Generators—CMM Level 1 and Above
      2. Test Execution Frameworks—CMM Level 1 and Above
      3. Test Evaluation—CMM Level 2 and Above
      4. Test Management—CMM Level 2 and Above
      5. Performance Analysis—CMM Level 3 and Above
    7. Software Maintenance Tools
      1. Comprehension—CMM Level 5
      2. Re-engineering—CMM Level 5
    8. Software Configuration Management Tools—CMM Level 2 and Above
    9. Software Engineering Life Cycle Process Tools
    10. Software Engineering Process Tools
      1. Process Management—CMM Level 4 and Above
      2. Process Modeling—CMM Level 3 and Above
      3. Integrated CASE Environments—CMM Level 4 and Above
      4. Process-Centered Software Engineering Environments—CMM Level 5 and Above
    11. Software Quality Tools
      1. Inspection—CMM Level 3 and Above
      2. Static Analysis—CMM Level 4 and Above
    12. Software Engineering Management Tools
      1. Project Planning and Tracking—CMM Level 2 and Above
      2. Risk Management—CMM Level 2 and Above
      3. Measurement—CMM Level 2 and Above
    13. Infrastructure Support Tools
      1. Interpersonal Communications—CMM Level 1 and Above
      2. Information Retrieval—CMM Level 2 and Above
      3. System Administration and Support—CMM Level 2 and Above
    14. Miscellaneous Tools Issues
      1. Tool Integration Techniques—CMM Level 3 and Above
      2. Meta Tools—CMM Level 1 and Above
      3. Tool Evaluation—CMM Level 3 and Above
    15. Minimal Tool Sets
    16. Summary
    17. Problems for Review
    18. Visit the Case Study
    19. Tools
    20. Web Pages for Further Information
    21. References
    22. Endnotes
  30. 25. Project Tracking and Control
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 25 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 25
    4. Control Systems
      1. Process Control, Management, and Reporting
      2. Project Management Information System
    5. Scope Management
      1. Flexibility Matrix
    6. Schedule Management
      1. Milestone Lists
      2. Crashing and Fast Tracking
        1. Four Steps to Crash a Project
        2. Crashing Example Setup
        3. Set Up the Problem Workspace
        4. Crash Process
        5. Check If Done
        6. Example Problem Solution
    7. Cost Management
      1. Cost Baseline
      2. Building the Cost Baseline
    8. Quality Management
    9. Progress Management
      1. Earned Value Management
        1. BCWS
        2. BCWP
        3. ACWP
      2. Critical Chain Measurement
    10. Risk Management
    11. Summary
    12. Problems for Review
    13. Visit the Case Study
    14. Suggested Readings
    15. Web Pages for Further Information
  31. 26. Continuous Process Improvement
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 26 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 26
    4. Maturity Level Process Characteristics
      1. Level 1: Schedule and Cost Targets Are Regularly Overrun
      2. Level 2: Plans Based on Past Performance Are More Attainable
      3. Level 3: With Well-Defined Processes, Performance Improves
      4. Level 4: Performance Continues to Improve Based on Quantitative Understanding of Process and Produce
      5. Level 5: Performance Continuously Improves
    5. Waste in the Software Development Organization
    6. Six-Step Software Development Process Improvement Model
      1. Plan
      2. Research
      3. Observe
      4. Analyze
      5. Adapt
      6. Improve
    7. Applying the Software Development Process Improvement Model
      1. Plan
      2. Research
      3. Observe
      4. Analyze
      5. Adapt
      6. Improve
    8. Summary
    9. Problems for Review
    10. Visit the Case Study
    11. Tools
    12. Web Pages for Further Information
    13. Suggested Readings
    14. Endnotes
  32. 27. Project Termination
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 27 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 27
    4. Why Terminate?
      1. Business Reasons
      2. Technical Reasons
      3. Scope Reasons
      4. Schedule Reasons
      5. Cost Reasons
      6. Quality Reasons
      7. Politics
    5. Types of Termination
    6. What to Do upon Project Termination
    7. Termination Process
    8. Summary
    9. Problems for Review
    10. Visit the Case Study
    11. Suggested Readings
    12. Web Pages for Further Information
    13. Endnotes
  33. 28. Post-Performance Analysis
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 28 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 28
    4. What's in a Name?
      1. Purpose of a PPA
      2. PPA Focus
      3. What Does a PPA Produce?
    5. How to Conduct a PPA
      1. Post-Performance Analysis Process
      2. Additional Questions to Ask
    6. Summary
    7. Problems for Review
    8. Visit the Case Study
    9. Suggested Readings
    10. Web Pages for Further Information
    11. Endnotes
  34. 29. Reporting and Communicating
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 29 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 29
    4. Effective Communication
    5. Communication Techniques
    6. Communicating with Teams
      1. Goals of Team Building
      2. Some Tools and Techniques for Team Development
      3. When to Use Team Building
      4. Benefits of Team Building
      5. Limitations of Team Building
      6. Motivation in Teams
      7. Expectancy Theory
      8. The Equity Theory
      9. Goal Setting Theory
      10. Maslow's Hierarchy of Needs
      11. Herzberg's Theory of Motivators and Dissatisfiers
      12. Motivation Through Rewards
    7. Communication and Motivation Skills of a Software Project Manager
      1. Project Manager's Role in Team Development
      2. Situational Leadership
      3. Methods of Group Decision Making
      4. Group Problem Solving
      5. Keep Team Members Satisfied—Avoiding Turnover
    8. Behavioral Theory and Motivation
      1. Theories X and Y
      2. Theory Z
    9. Project Manager Behavior That Motivates
      1. Force-Field Analysis
      2. Communication with Help from Understanding of Personality Types
      3. Keirsey Temperament Sorter
      4. When the Team Is Not Collocated
    10. Communicating in Meetings
      1. Meeting Roles
      2. Meeting “Rules”
      3. Decision Making Meetings
      4. Typical Meeting Outputs
      5. Personality Types and Communication in Meetings
    11. Communicating via Negotiation
      1. What Is Negotiation?
      2. Negotiation versus Bargaining
      3. Negotiation Is a Process
        1. Planning the Negotiation
        2. Executing the Negotiation
        3. Win-Win Negotiation
      4. Principled Negotiation: The Win-Win Approach in General
    12. Negotiating and Culture
      1. Conflict
      2. Conflict Management
      3. Conflict Management Techniques for the Project Manager
      4. Conflict Resolution
        1. Roles in Conflict Resolution
        2. Task versus Relationship
    13. Communicating via Visual Expression of Information
      1. Tips and Tricks for the Visual Display of Quantitative Information
    14. Reporting Project Status
    15. Communications Management Plan Template
    16. Baseline Plans
    17. Project Reporting
      1. Status Reports
      2. Project Control
      3. Control System
    18. Summary
    19. Problems for Review
    20. Visit the Case Study
    21. Suggested Readings
    22. Web Pages for Further Information
    23. Endnotes
  35. 30. Software Quality Assurance
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 30 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 30
    4. Building the Software Quality Assurance Plan
      1. 1. Purpose
      2. 2. Reference Documents
      3. 3. Management
        1. 3.1. Organization
        2. 3.2. Tasks
        3. 3.3. Responsibilities
      4. 4. Documentation
        1. 4.1. Documentation Requirements
      5. 5. Standards, Practices, Conventions, and Metrics
        1. 5.1. Purpose
        2. 5.2. Content
      6. 6. Reviews and Audits
        1. 6.1. Purpose
        2. 6.2. SQA Required Reviews
      7. 7. Risk Management
      8. 8. Problem Reporting and Corrective Action
      9. 9. Tools, Techniques, and Methodologies
      10. 10. Supplier Control
      11. 11. Training
      12. 12. Records Collection, Maintenance, and Retention
    5. Ensuring the SQAP
      1. Purpose
      2. Reference Documents
      3. Management
        1. Organization
        2. Tasks
        3. Responsibilities
      4. Documentation
        1. Documentation Requirements
      5. Standards, Practices, Conventions, and Metrics
        1. Purpose
        2. Content
      6. Reviews and Audits
        1. Purpose
        2. SQA Required Reviews
      7. Risk Management
      8. Problem Reporting and Corrective Action
      9. Tools, Techniques, and Methodologies
      10. Supplier Control
      11. Training
      12. Records Collection, Maintenance, and Retention
    6. Summary
    7. Problems for Review
    8. Visit the Case Study
    9. References
    10. Web Pages for Further Information
  36. 31. Software Configuration Management
    1. What Is Software Configuration Management?
    2. Why Is SCM Important?
    3. Who Is Involved in SCM?
    4. How Can Software Configuration Be Implemented in Your Organization?
    5. Where We Are in the Product Development Life Cycle
    6. Chapter 31 Relation to the 34 Competencies
    7. Learning Objectives for Chapter 31
    8. SCM Principles
      1. Understanding of SCM
      2. SCM Plans and Policies
      3. SCM Processes
      4. Metrics
      5. Tools for SCM
      6. SCM Configuration Items
      7. SCM Is an SEI CMM Level 2 Key Process Area
    9. The Four Basic Requirements for an SCM System
    10. Planning and Organizing for SCM
      1. Potential SCM Problem Classes
      2. SCM Staffing
        1. Identification
        2. Control
        3. Auditing
        4. Status Accounting
    11. SCM Tools
    12. Benefits of SCM Process and Tools
      1. Control
      2. Management
      3. Cost Savings
      4. Quality
    13. Some Problems with Software
      1. Lack of Visibility
      2. Lack of Control
      3. Lack of Traceability
      4. Lack of Monitoring
      5. Uncontrolled Change
        1. SCM Identification Benefits to V&V
        2. SCM Auditing Benefits to V&V
        3. SCM Status Accounting Benefits to V&V
    14. Summary
    15. Problems for Review
    16. Visit the Case Study
    17. References
    18. Web Pages for Further Information
    19. Endnotes
  37. 32. Legal Issues in Software
    1. Where We Are in the Product Development Life Cycle
    2. Chapter 32 Relation to the 34 Competencies
    3. Learning Objectives for Chapter 32
    4. Product Development Techniques
      1. Advertising and Consumer
      2. Communications
      3. Contracts
      4. Internet Regulation
      5. Privacy
      6. Tort
      7. Limiting Software Liability
    5. Project Management Skills
      1. Alternative Dispute Resolution
        1. Arbitration
        2. Negotiation
        3. Mediation
    6. People Management Skills
      1. Contracts
      2. Disability/Handicap
      3. Employment
      4. Intellectual Property
        1. Patents
        2. Copyrights
        3. Trade Secrets
        4. Trademarks
        5. Trade Dress
      5. Privacy
    7. Legal Risk Issues
    8. Summary
    9. Problems for Review
    10. Visit the Case Study
    11. Web Pages for Further Information
    12. Suggested Readings
  38. 33. Summary
    1. Product Development Techniques
      1. Process
      2. Life Cycles
      3. Domain Processes
      4. Software Requirements Specifications
      5. Software Engineering
      6. Analysis and Design
      7. Software Development Tools, Including CM
      8. Continuous Process Improvement
    2. Project Management Skills
      1. Defining Project Goals
      2. Work Breakdown Structure
      3. Identifying Tasks and Activities
      4. Estimating and Sizing
      5. Project Risk and Quality Assurance
      6. Reliability
      7. Verification and Validation
      8. Project Closure
    3. People Management Skills
      1. Selecting Project Teams
      2. Estimating Duration and Cost
      3. Assigning Resources
      4. Eliciting Product Requirements
      5. Metrics
      6. Legal Issues
    4. Visit the Case Study
  39. A. Supporting Organizations
    1. Appendix A Relation to the 34 Competencies
    2. Key Appendix A Points
    3. Organizations Supporting Software Development Project Management
      1. Project Management Institute
        1. PMI's Project Management Body of Knowledge
          1. Project Management Context
          2. Project Management Processes
          3. Integration Management
          4. Scope Management
          5. Time Management
          6. Human Resource Management
          7. Quality Management
          8. Cost Management
          9. Communications Management
          10. Risk Management
          11. Procurement Management
        2. PMI's Project Management Professional (PMP®) Certification
      2. American Society for Quality (ASQ)
        1. Administration of the Malcolm Baldrige National Quality Award Process
        2. Certification of Professionals in Software Quality Engineering
        3. CSQE Body of Knowledge
          1. General Knowledge, Conduct, and Ethics
          2. Software Quality Management
          3. Software Processes
          4. Software Project Management
          5. Software Metrics, Measurement, and Analytical Methods
          6. Software Inspection, Testing, Verification and Validation
          7. Software Audits
          8. Software Configuration Management
      3. Malcolm Baldrige National Quality Award (MBNQA)
        1. Seven Main Areas of the Award Criteria
        2. MBNQA Core Concepts and Values
        3. Scoring and Feedback
    4. State and Local Quality Organizations and Awards
      1. International Organization for Standardization (ISO)
        1. Twenty Clauses in the ISO 9001 1996 Quality Systems Standard
        2. ISO 9000 2000 Quality Systems Standards
      2. American National Standards Institute (ANSI)
        1. ANSI's Mission: Promote U.S. Standardization Policies Globally
        2. ANSI's Participation in ISO
        3. Capability Maturity Model for Software (CMM-S/W v.1.1)
        4. Process Determines Capability
        5. Comparisons of Standards
      3. Institute of Electrical and Electronics Engineers (IEEE)
        1. Division I—Circuits and Devices
        2. Division II—Industrial Applications
        3. Division III—Communications Technology
        4. Division IV—Electromagnetics and Radiation
        5. Division V—Computer
        6. Division VI—Engineering and Human Society
        7. Division VII—Energy and Power Engineering
        8. Division VIII—Computer
        9. Division IX—Signals and Applications
        10. Division X—Systems and Control
        11. IEEE Computer Society
    5. Visit the Case Study
    6. Web Pages for Further Information
  40. B. Real World Projects
    1. Case 1: Managing a Portfolio of Client Projects
      1. Subset of the 34 Competencies Used
      2. Project Descriptions
    2. Hardware Tester Company Projects
      1. SEMICON Project
        1. Background
        2. Solution
        3. Project Value
      2. FAB_XFR Project
        1. Background
        2. Solution
        3. Project Value
      3. Lessons Learned
    3. Case 2: COTS Software Selection for Information Technology Systems
      1. Subset of the 34 Competencies Used
      2. Project Description
        1. Background
        2. Solution
        3. Project Value
      3. Lessons Learned
    4. Case 3: Legacy Software Re-engineering
      1. Subset of the 34 Competencies Used
      2. Project Description
        1. Background
        2. Solution
        3. Project Value
      3. Lessons Learned
    5. Problems for Review
    6. Visit the Case Study
  41. C. Creating the Business Plan
    1. The Technology Business Plan as the Company's Meta-Plan
    2. What Is the Technology Business Plan?
      1. Road Map for a Business, Business Unit, and Product
      2. Focusing Mechanism
      3. Reality Check
      4. Sales Tool
    3. Why Build a Technology Business Plan?
      1. Clarify What You Want to Do
      2. Communication Mechanism
      3. Baseline for Your Business
      4. Move from Talking to Doing
    4. Technology Business Plan Contents
      1. Company Overview
      2. Products or Services
      3. Merchandising
      4. Markets
      5. Distribution (If Not Direct-to-Buyer)
      6. Sales Makeup
      7. Competition (Direct and Indirect)
      8. Advertising
      9. Customer Relations
      10. Public Relations
      11. Marketing Research
    5. Making the Business Case Cost Benefit Analysis in a Technology Business Plan
      1. Models for Cost Benefit Analysis
      2. Benefit/Cost Techniques
      3. Return on Investment (ROI)
        1. Time Value of Money
      4. Making a Decision with Present Value Techniques
      5. Payback Period
      6. Net Present Value (NPV)
      7. Internal Rate of Return (IRR)
    6. Problems for Review
      1. Option 1
      2. Option 2
    7. Visit the Case Study
    8. Web Pages for Further Information
  42. D. Understanding Systems Engineering
    1. Where We Are in the Project Management Life Cycle
    2. Learning Objectives for Appendix D
    3. Classical Systems Engineering Model
      1. System Requirements Model
      2. Enhanced Requirements Model
      3. System Architecture Model
      4. Hardware Requirements Model
      5. Software Requirements Model
      6. System Drivers
    4. Requirements Engineering
      1. Requirements Engineering Product
    5. Types of Product Systems
    6. Problems for Review
    7. Visit the Case Study
    8. References
    9. Web Pages for Further Information
    10. Tools
  43. E. Distance Project Management
    1. Where We Are in the Product Development Life Cycle
    2. Learning Objectives for Appendix E
    3. Managing Distance Projects—Communications
    4. Managing Distance Projects—Remote Teambuilding
    5. Managing Distance Projects—Tools
    6. A Case in Point—Quorus™
    7. Ten Commandments of Managing a Remote Project Team
    8. Problems for Review
    9. Visit the Case Study
    10. Web Pages for Further Information
      1. Distance Project Management Tools
      2. Planning Tool for MS Project2000 Users
    11. Endnotes
  44. F. Project Artifact Templates
    1. Where We Are in the Product Development Life Cycle
    2. Learning Objectives for Appendix F
    3. Software Project Management Plan (SPMP)
      1. Software Project Management Plan
      2. <Name of Project>
      3. <author>
      4. <date>
      5. Table of Contents
      6. 1. Introduction
        1. 1.1. Project Overview
        2. 1.2. Project Deliverables
        3. 1.3. Evolution of the SPMP
        4. 1.4. Reference Materials
        5. 1.5. Definitions and Acronyms
      7. 2. Project Organization
        1. 2.1. Process Model
        2. 2.2. Organizational Structure
        3. 2.3. Organizational Interfaces
        4. 2.4. Project Responsibilities
      8. 3. Managerial Process
        1. 3.1. Management Objectives and Priorities
        2. 3.2. Assumptions, Dependencies, and Constraints
        3. 3.3. Risk Management
        4. 3.4. Monitoring and Controlling Mechanisms
        5. 3.5. Staffing Approach
      9. 4. Technical Process
        1. 4.1. Methods, Tools, and Techniques
        2. 4.2. Software Documentation
        3. 4.3. User Documentation
        4. 4.4. Project Support Functions
      10. 5. Work Packages, Schedule, and Budget
        1. 5.1. Work Packages
        2. 5.2. Dependencies
        3. 5.3. Resource Requirements
        4. 5.4. Budget and Resource Allocation
        5. 5.5. Schedule
      11. 6. Additional Components
        1. 6.1. Index
        2. 6.2. Appendices
      12. Software Project Management Plan
      13. Lift Controller
      14. Excelsior Elevator Embedded Software Development Team
      15. March 8, 2001
      16. 1. Introduction
        1. 1.1. Project Overview
        2. 1.2. Project Deliverables
        3. 1.3. Evolution of the SPMP
      17. 2. Project Organization
        1. 2.1. The Process Model
        2. 2.2. Project Responsibilities
      18. 3. Managerial Process
        1. 3.1. Assumptions, Dependencies, and Constraints
        2. 3.2. Monitoring and Controlling Mechanisms
      19. 4. Technical Process
        1. 4.1. Methods, Tools, and Techniques
      20. 5. Work Packages, Schedule, and Budget
        1. 5.1. Work Packages
        2. 5.2. Dependencies
        3. 5.3. Schedule
      21. 6. Additional Components
        1. 6.1. Index
    4. Software Requirements Specification (SRS)
      1. Software Requirements Specification
      2. <Name of Project>
      3. <author>
      4. <date>
      5. Table of Contents
      6. 1. Introduction
        1. 1.1. Purpose
        2. 1.2. Scope
        3. 1.3. Definitions, Acronyms, and Abbreviations
        4. 1.4. References
        5. 1.5. Overview
      7. 2. General Description
        1. 2.1. Product Perspective
        2. 2.2. Product Functions
        3. 2.3. User Characteristics
        4. 2.4. General Constraints
        5. 2.5. Assumptions and Dependencies
      8. 3. Specific Requirements
        1. 3.1. Functional Requirements
        2. 3.2. External Interface Requirements
        3. 3.3. Performance Requirements
        4. 3.4. Design Constraints
        5. 3.5. Quality Characteristics
        6. 3.6. Other Requirements
      9. 4. Supporting Information
      10. Software Requirements Specification
      11. Lift Controller
      12. Excelsior Elevator Embedded Software Development Team
      13. March 22, 2001
      14. Table of Contents
      15. 1. Introduction
        1. 1.1. Purpose
        2. 1.2. Scope
        3. 1.3. Definitions, Acronyms, and Abbreviations
        4. 1.4. References
        5. 1.5. Overview
      16. 2. General Description
        1. 2.1. Product Perspective
        2. 2.2. Product Functions
        3. 2.3. User Characteristics
        4. 2.4. General Constraints
        5. 2.5. Assumptions and Dependencies
      17. 3. Specific Requirements
        1. 3.1. Process Requirements
        2. 3.2. Data Requirements
        3. 3.3. Behavior Requirements
        4. 3.4. Requirements Class View
        5. 3.5. External Interface Requirements
        6. 3.6. Performance Requirements
        7. 3.7. Design Constraints
        8. 3.8. Quality Characteristics
        9. 3.9. Other Requirements
      18. 4. Supporting Information
    5. Project Risk Management Plan
      1. Software Risk Management Plan
      2. <Name of Project>
      3. <author>
      4. <date>
      5. Table of Contents
      6. 1. Introduction
      7. 2. Risk Categorization Table
      8. 3. Risk Ranking
      9. 4. Key Risk Identification
      10. 5. Project Risk Reporting Format
      11. 6. Define Ongoing Project Risk Management
      12. Software Risk Management Plan
      13. Lift Controller
      14. Excelsior Elevator Embedded Software Development Team
      15. April 3, 2001
      16. Table of Contents
      17. 1. Introduction
      18. 2. Risk Categorization Table
      19. 3. Risk Ranking
      20. 4. Key Risk Identification
      21. 5. Project Risk Reporting Format
      22. 6. Define Ongoing Project Risk Management
    6. Software Test Plan
      1. Software Test Plan
      2. <Name of Project>
      3. <author>
      4. <date>
      5. Table of Contents
      6. 1. Introduction
      7. 2. Test Plan
        1. 2.1. Test Items
        2. 2.2. Features to Be Tested
        3. 2.3. Features Not to Be Tested
        4. 2.4. Approach
        5. 2.5. Item Pass/Fail Criteria
        6. 2.6. Suspension Criteria and Resumption Requirements
        7. 2.7. Test Deliverables
        8. 2.8. Testing Tasks
        9. 2.9. Environmental Needs
        10. 2.10. Responsibilities
        11. 2.11. Staffing and Training Needs
        12. 2.12. Schedule
        13. 2.13. Risks and Contingencies
        14. 2.14. Approvals
      8. 3. Test Design Specification
        1. 3.1. Features to Be Tested
        2. 3.2. Approach Requirements
        3. 3.3. Test Identification
        4. 3.4. Feature Pass/Fail Criteria
      9. 4. Test Case Specification
        1. 4.1. Test Items
        2. 4.2. Input Specifications
        3. 4.3. Output Specifications
        4. 4.4. Environmental Needs
        5. 4.5. Special Procedural Requirements
        6. 4.6. Intercase Dependencies
      10. 5. Test Procedure Specification
        1. 5.1. Purpose
        2. 5.2. Special Requirements
        3. 5.3. Procedure Steps
      11. 6. Test Log
        1. 6.1. Description
        2. 6.2. Log Entries
      12. 7. Test Incident Report
        1. 7.1. Summary
        2. 7.2. Incident Description
        3. 7.3. Impact on testing
      13. 8. Test Summary Report
        1. 8.1. Summary
        2. 8.2. Variances
        3. 8.3. Comprehensiveness Assessment
        4. 8.4. Summary of Results
        5. 8.5. Evaluation (by Test Items)
        6. 8.6. Summary of Activities
        7. 8.7. Approvals
      14. Software Test Plan
      15. Lift Controller
      16. Excelsior Elevator Embedded Software Development Team
      17. March 7, 2001
      18. Table of Contents
      19. 1. Introduction
      20. 2. Test Plan
        1. 2.1. Test Items
        2. 2.2. Features to Be Tested
        3. 2.3. Features Not to Be Tested
        4. 2.4. Approach
        5. 2.5. Item Pass/Fail Criteria
        6. 2.6. Suspension Criteria and Resumption Requirements
        7. 2.7. Test Deliverables
        8. 2.8. Testing Tasks
        9. 2.9. Environmental Needs
        10. 2.10. Responsibilities
        11. 2.11. Staffing and Training Needs
        12. 2.12. Schedule
        13. 2.13. Risks and Contingencies
        14. 2.14. Approvals
      21. 3. Test Design Specification
      22. 4. Test Case Specification
      23. 5. Test Procedure Specification
      24. 6. Test Log
        1. 6.1. Description
        2. 6.2. Log Entries
      25. 7. Test Incident Report
      26. 8. Test Summary Report
    7. Software Configuration Management Plan (SCMP)
      1. Software Configuration Management Plan
      2. <Name of Project>
      3. <author>
      4. <date>
      5. Table of Contents
      6. 1. Introduction
        1. 1.1. Purpose
        2. 1.2. Scope
        3. 1.3. Definitions and Acronyms
        4. 1.4. References
      7. 2. Management
        1. 2.1. Organization
        2. 2.2. SCM Responsibilities
        3. 2.3. SCMP Implementation
        4. 2.4. Applicable Policies, Directives, and Procedures
      8. 3. SCM Activities
        1. 3.1. Configuration Identification
        2. 3.2. Change Control
        3. 3.3. Configuration Status Accounting
        4. 3.4. Audits and Reviews
      9. 4. Tools, Techniques, and Methodologies
      10. 5. Supplier Control
      11. 6. Records Collection and Retention
      12. Software Configuration Management Plan
      13. Lift Controller
      14. Excelsior Elevator Embedded Software Development Team
      15. March 15, 2001
      16. Table of Contents
      17. 1. Introduction
        1. 1.1. Purpose
        2. 1.2. Scope
        3. 1.3. Definitions and Acronyms
        4. 1.4. References
          1. 1.4.1. Lift Controller Project Plans
      18. 2. Management
        1. 2.1. Organization
        2. 2.2. SCM Responsibilities
        3. 2.3. SCMP Implementation
        4. 2.4. Applicable Policies, Directives, and Procedures
      19. 3. SCM Activities
        1. 3.1. Configuration Identification
        2. 3.2. Change Control
        3. 3.4. Audits and Reviews
      20. 4. Tools, Techniques, and Methodologies
      21. 5. Supplier Control
      22. 6. Records Collection and Retention
    8. References
    9. Web Pages for Further Information
  45. G. Joint Application Design in Use
    1. What the Team Did Right
    2. What the Team Would Change Next Time
    3. JAD Team Documents
      1. Intra-Team Communications Plan
      2. Inter-Team Communications Plan
      3. Team Roles and Responsibilities
      4. Team Meeting Plan
      5. Team Project Plan
      6. Team Quorum
      7. Charter for the Jakarta Workshop
    4. Final JAD Documents
  46. Glossary
    1. Quality Engineering Glossaries
    2. Software Engineering Glossaries
    3. Project Management Glossaries
    4. Quality Software Project Management Practitioner's Glossary
  47. Bibliography
    1. Print Bibliography
    2. Web Pages for Further Information
      1. Analysis and Design
      2. Building a Work Breakdown Structure
      3. Capability Maturity Model and Continuous Improvement
      4. Configuration Management
      5. Estimating Costs and Estimating Effort
      6. Leadership
      7. Managing Subcontractors, Handling Intellectual Property, and Other Legal Issues
      8. Forms and Templates
      9. General
      10. Interaction and Communication
      11. Lessons Learned
      12. Life Cycles
      13. Metrics
      14. Project Management: Documenting Project Plans, Scheduling, Monitoring Development, and Tracking Project Progress
      15. Project Teams
      16. Publications
      17. Quality
      18. Reliability
      19. Requirements
      20. Risks
      21. Software Engineering—Defining the Product and Understanding Development Activities
      22. Standards
      23. Tools
      24. Verification and Validation