Software Project Management
Software project management is the application of planning, organizing, estimating, and controlling techniques to software projects so that they deliver the right product within acceptable cost, schedule, and quality.
Definition
Software project management is the discipline of planning, monitoring, and controlling the people, process, and resources of a software project to meet its objectives for scope, schedule, cost, and quality.
Scope
This area covers effort and cost estimation; scheduling and planning; risk management; team organization and the human factors of software work; configuration and change management; software quality management; measurement and metrics for tracking progress; and the distinctive economics and coordination challenges that distinguish managing software from other engineering projects.
Sub-topics
Core questions
- How are software effort, cost, and schedule estimated under uncertainty?
- How are risks identified, prioritized, and mitigated over a project?
- How do team structure and communication affect productivity?
- How are changes and quality controlled throughout the project?
Key theories
- Brooks's law and the economics of teams
- Brooks observed that adding people to a late software project makes it later, because communication and onboarding overhead grow faster than added capacity, highlighting that software effort is not simply divisible.
- Algorithmic cost estimation
- Models such as COCOMO estimate effort and schedule as functions of size and project factors, giving repeatable, calibratable estimates that complement expert judgment and analogy-based approaches.
Clinical relevance
Sound project management determines whether software is delivered on time and budget with adequate quality; poor estimation, unmanaged risk, and ignoring the non-linear economics of teams are leading causes of software project failure and overrun.
Evidence & guidelines
The SWEBOK Software Engineering Management knowledge area and the PMBOK Guide provide consensus frameworks, and standards such as ISO/IEC/IEEE 16326 address project-management planning for software.
History
Brooks distilled hard lessons from large 1960s projects into enduring management principles in 1975; Boehm formalized software economics and cost estimation in 1981; the field has since incorporated risk management, metrics, and the lighter-weight, adaptive planning of agile methods.
Debates
- Predictive versus adaptive project management
- Whether software projects are best managed by detailed up-front plans or by adaptive, iteration-based control is debated; agile favors empirical control and frequent replanning, while traditional management emphasizes baselined plans, with hybrids common.
Key figures
- Frederick Brooks
- Barry Boehm
- Tom DeMarco
- Watts Humphrey
Related topics
Seminal works
- brooks1995
- boehm1981
- swebok2014
Frequently asked questions
- Why does adding people to a late project make it later?
- New people must be brought up to speed and the number of communication paths grows roughly with the square of team size; the resulting overhead and disruption initially reduce rather than increase output, an observation known as Brooks's law.
- Why is estimating software so hard?
- Software is intangible, often novel, and shaped by changing requirements, so historical analogies are imperfect and uncertainty is high; disciplined estimation combines models, expert judgment, and ranges rather than single-point guesses to manage this uncertainty.