Essentials of Software Project Management
Author: Richard Bechtold, PhD

(Go to the summary table of contents)


Chapter 1 Project Management in the Software Development Environment
Why Do Project Management?
    - Project Goals
    - Project Obstacles
    - Project Resources
Different Approaches to Project Management
    - Matrix Management
    - Administrative Management
    - Technical Management
    - Research Management
    - Nominal Management
    - Team Leader
The Challenging Environment of Software Development
    - Software Is Unnatural
    - No Limits to Complexity
    - Lack of Domain Expertise
    - Overspecialization
    - Overreliance on Overspecialization
    - Nothing Seems Impossible
    - Fast Pace of Change
What is Project Management?
    - Planning
    - Tracking
    - Controlling
The Role of the Project Manager in Today’s Software- Intensive Environments
Where to Start?


Chapter 2 Selecting the Best Processes
Identifying Your Project’s Key Strengths
    - Appropriate Processes
    - Capitalization
    - Customer Focus
    - Historically Based, Relevant, Predictive Data
    - Modern Support Environment and Tools
    - Project Brevity
    - Requirements Stability
    - Strategic Teaming
    - Team Cohesiveness
    - Team Expertise
    - Training Support
    - Your Expertise as a Manager
Selecting the Best Lifecycle
    - Waterfall
    - Throw-Away Prototype
    - Incremental Build
    - Multiple Build
    - Spiral
    - Legacy Maintenance
    - Hybrid
Selecting the Best Engineering Method
    - Functional Decomposition
    - Object-Oriented
    - Human-Usage Based
    - Software Engineering Hybrid

Chapter 3 Developing Plans
Developing Preliminary Plans
    - Feasibility Analysis
    - Project Initiation
    - Preliminary Planning
Developing Intermediate Plans
    - Project Organization
    - Project Staffing
    - Environment and Tools Estimation
    - Work Breakdown Structures
    - Detailed Requirements Analysis
Developing Detailed Plans
    - Estimating Product Size
    - Estimating Project Effort
    - Scheduling Milestones
    - Scheduling Resources
Developing a Risk Management Plan
Organizing the Project Plan
    - Section 1: Purpose and Scope
    - Section 2: Goals and Objectives
    - Section 3: Acronyms and Abbreviations
    - Section 4: Referenced Documentation
    - Section 5: Summary Product Description
    - Section 6: Applicable Standards
    - Section 7: Project Lifecycle
    - Section 8: Major Project Processes
    - Section 9: Tools
    - Section 10: Detailed Product Description
    - Section 11: Size and Complexity Estimates
    - Section 12: Work Breakdown Structure
    - Section 13: Resource Breakdown Structure Structure
    - Section 14: Estimated Resource Requirements
    - Section 15: Estimated Project Costs
    - Section 16: Estimated Critical Computer Resources
    - Section 17: Project Milestones and Schedule
    - Section 18: Risk Management Plan
    - Section 19: Software Engineering Facilities
Maintaining the Project Plan
Developing a Staffing Plan
    - Project Roles
    - Finding Talent
    - Balancing the Team


Chapter 4 Product Management
Managing Software In a Systems Context
Managing Requirements
    - Who Has Responsibility for Managing Requirements>
    - What Process Will They Follow?
    - What Tools Will They Use?
    - Do They Need Any Additional Training?
    - Who Will Double-Check Their Work?
Managing Product Complexity
    - Designing for Simplicity
    - Structured Formatting
    - Extensive Commenting
    - Support Documentation
    - Software Elimination Reviews
Managing Configurations
    - Change Requests
    - Configuration Control Boards
Managing Defects
    - Managing Software Reviews
    - Senior Software Reviews
    - Software Walkthroughs
    - Software Inspections
    - Planning and Tracking Defect Management
Ensuring Quality
Tracking Progress Using Earned Value Management
Using Product Measurements and Metrics
Maintaining Product Focus

Chapter 5 Process Management
Managing Software Processes in a Systems Context
Managing Your Project Staff
    - Involve the Team in Decisions
    - Acknowledge and Leverage Individual Expertise
    - Compensate Appropriately and Creatively
    - Provide Management-Level Information
    - Ensure That Skills are Upgraded Regularly
    - Plan and Manage the Project to Minimize Overtime
Managing Negotiations with Affected Groups
Managing Process Support Technology
Managing Process Complexity
Managing Interactions with Customers
Managing Interactions with Executive Management
Using Process Measurements and Metrics
    - Who Will Be Seeing This Information?
    - What Will This Information Be Used For?
    - How Might This Information Potentially Be Misinterpreted?
    - Why Is This Information Necessary?
Managing the Acquisition of Software Subcomponents
    - Conceptual Planning
    - Requirements Specification
    - Acquisition Planning
    - Solicitation
    - Source Selection
    - Initiation
    - Acquisition Tracking and Management
    - Technology Tracking
    - Requirements Management
    - Acquisition Replanning
    - Evaluation
    - Trainsition to Support
    - Impact Monitoring
    - Acquisition Close-Out
Controlling Your Project Control Activities


Chapter 6 Diagnosing Project Control Effectiveness
Detecting Control Problems
Performing Routine Project Tracking
    - Work Package Completion Percent
    - Milestone Success Rate
    - Trendlines
Leveraging Safety-Net Functions
    - The Software CMM(r)
    - IEEE Standards
    - Sample Audit Approach

Chapter 7 External Software Capability Audits
The Purpose of External Audits
External Audit Approach
Standard Rules for External Auditors
Preparing for and Participating in an External Audit
    - Stay Organized
    - Truly Be a Capable Project
    - Know the Applicable Quality Framework
    - Understand the Initial Questionnaire
    - Develop Your Own Investigative Questions and Answers
    - Conduct Dry Runs of Interviews
    - Cross-Reference Your Evidence to the Quality Framework
    - Ensure Excellent On-Site Logistics
    - Respect Confidentiality Requests
    - Avoid Short Answers
    - Avoid Quoting the Quality Framework
    - Resist Trying to Look Perfect
    - Slow Down the Interviews
    - Conduct End-of-Day Debriefings Carefully
    - Conduct Start-of-Day Debriefings Carefully
    - In Your Weakest Areas, Try for Partial or Alternative Compliance
    - Strive to Exceed Minimum Quality Requirements
    - Don't Torture the Audit Team
    - Read Between the Lines of the Audit Report
    - Start Preparing *Now*

Chapter 8 Recovering Projects from Insufficient Control
Identifying the Symptoms of Insufficient Control
    - Accelerating Loss of Project Personnel
    - Loss of Configuration Control
    - Disproportionate Effort on Nonengineering Activities
    - Inability to Finish Planning
    - Excessive Time Spent Doing Rework
    - Frequent Renegotiation of Commitments
    - Persistent Need to Work Required Overtime
Determining Types of Additional Control
    - Increasing Control of Management Processes
    - Increasing Control of Engineering Processes
    - Increasing Control of Support Processes
    - Increasing Control of Project Interface with Other Groups
Defining Additional Controls
    - Identify Additional Controls
    - Describe the Controls
    - Prioritize the Controls
    - Verify Impact
    - Develop a Timetable
    - Define New Responsiblities
    - Document New Process Rules
Testing Additional Controls
Deploying Additional Controls
Monitoring Additional Controls

Chapter 9 Recovering Projects from Excessive Control
Identifying the Symptoms of Excessive Control
    - Work Queued Up at Multiple Locations
    - Groups or Individuals Waiting to Get Started
    - Regular Interruptions for Decisions
    - High Rejection Rate of Process Artifacts
    - Numerous Meetings Requiring Your Attendance
    - Regular Reversal of Technical Decisions
    - Skip-Level Management Direction
    - Tasking Conflicts
Determining Types of Control Reduction
    - Identifying Inefficiencies
    - Estimating Maximum Throughput
    - Determining Restriction Factor
    - Estimating Implementation Difficulty
    - Ranking Control Reduction Opportunities
    - Adjusting Rank Ordering
Incrementally Relaxing Excessive Controls
    - Relaxing Clearly Unnecessary Controls
    - Relaxing Low-Downside Controls
    - Relaxing Isolated Controls
    - Relaxing Rapid Feedback Controls
    - Relaxing Remaining Excessive Controls
Detecting Excessive Relaxation of Control

Chapter 10 Recovering Projects from Inappropriate Control
Identifying the Symptoms of Inappropriate Control
    - What Types of Control Fit This Lifebcycle?
    - What Types of Control Fit This Team?
    - What Types of Control Fit This Product?
    - What Types of Control Fit This Culture?
Planning the Control Shift
Implementing and Tracking the Control Shift
    - Varying Beta Periods
    - Using Multiple Overlap
    - Minimizing Contradictory Impacts
    - Detecting New Symptoms
    - Identifying Short-Term Inefficiencies
    - Performing Split Analysis
Addressing Human Factors

Chapter 11 Sustaining the Recovery
Amortizing the Recovery Effort
Overcoming Backlash
Overcoming Passive Resistance
Preventing Exhaustion
Gently Tempering Zealots
Avoiding Artificial Victory
Avoiding Polarizing Management Peers
Sharing Success
Identifying and Focusing on Project Management Essentials


Appendix A: Managing Defects Using Diagnostic Software Architectures

Appendix B: Sample Approach for a One-Semester Course in Software Project Management

Appendix C: Sample Approach for a One-Semester Course in Software Project Management

Appendix D: References and Additional Reading


Essentials of Software Project Management can be ordered through, through Barnes & Noble, or through Management Concepts, Inc. (MCI typically ships within a day or two of receiving the order.)


Have a question or comment? Feel free to e-mail me at

Return to Abridge Technology homepage.