SE Notes
Fundamental concepts of managing software development projects.
Software project management is the discipline of planning, organizing, and controlling resources to achieve specific software development goals within defined constraints of scope, time, cost, and quality. While individual developers can build small programs alone, anything beyond a modest size requires coordination—multiple people working together toward a shared goal over an extended timeline. Project management provides the frameworks, tools, and techniques for this coordination, ensuring that talented individuals produce a cohesive result rather than fragmented, conflicting efforts.
The Project Management Triangle
Every project operates within three fundamental constraints that form the "iron triangle":
Scope: What the project delivers (features, quality level, performance) Time: When the project delivers (schedule, deadlines, milestones) Cost: What the project consumes (budget, resources, infrastructure)
These constraints are interconnected. Increasing scope requires more time or more cost (or both). Reducing time requires reducing scope or increasing cost (more people). Reducing cost requires reducing scope or accepting longer timelines. Quality sits at the center—sacrificing quality is the hidden fourth trade-off that teams often make under pressure, creating technical debt that compounds future costs.
Project Lifecycle Phases
Initiation
Define the project's purpose, justify its existence, and authorize it to begin:
- Business case development
- Stakeholder identification
- Project charter creation
- Feasibility assessment
- Initial risk identification
Planning
Define how the project will achieve its goals:
- Scope definition and Work Breakdown Structure (WBS)
- Schedule development (tasks, dependencies, milestones)
- Budget estimation and allocation
- Resource planning (team composition, skills needed)
- Risk management planning
- Communication planning
- Quality planning
Execution
Perform the planned work:
- Team coordination and leadership
- Task assignment and tracking
- Quality assurance activities
- Stakeholder communication
- Issue resolution
- Change management
Monitoring and Control
Track progress and make corrections:
- Schedule tracking (planned vs. actual)
- Budget monitoring (earned value analysis)
- Quality measurement (defect metrics, test coverage)
- Risk monitoring (trigger indicators)
- Scope verification (preventing scope creep)
- Performance reporting
Closure
Formally complete the project:
- Final deliverable acceptance
- Lessons learned documentation
- Resource release
- Contract closure
- Project archive
Key Project Management Concepts
Earned Value Management (EVM)
EVM objectively measures project progress by comparing planned work, completed work, and actual cost:
| Planned Value (PV) | Budgeted cost of work scheduled |
| Earned Value (EV) | Budgeted cost of work actually completed |
| Actual Cost (AC) | Actual cost of work completed |
| Positive | ahead of schedule | Negative: behind schedule |
| Positive | under budget | Negative: over budget |
| > 1 | ahead | < 1: behind |
| > 1 | under budget | < 1: over budget |
| Project | 10-month, $1M budget |
Work Breakdown Structure (WBS)
Hierarchical decomposition of project scope into manageable work packages:
Real-World Project Management Scenario
A software company receives a contract to build a customer support portal:
Initiation: Business case shows the client spends $2M annually on phone support; the portal should reduce this by 40% ($800K/year savings). Project budget: $500K. Timeline: 6 months.
Planning: WBS identifies 47 work packages. Critical path analysis shows minimum 5.5 months with current team. Two risks flagged as high: API integration with legacy CRM and availability of client SMEs for requirements.
Execution: Two-week sprints with demonstrations to client every 4 weeks. Integration risk materializes in month 2—legacy API documentation is inaccurate. Team spends 3 weeks reverse-engineering the API.
Monitoring: After month 3, EVM shows SPI=0.85 (behind schedule). PM requests scope reduction: defer "AI chatbot" feature to Phase 2, use simple FAQ instead. Client agrees. Schedule recovers.
Closure: Portal launches in month 6.5 (2 weeks late but within acceptable range). Post-launch metrics show 35% reduction in phone calls within first quarter. Lessons learned documented: always prototype legacy integrations before committing schedule.
Software-Specific Challenges
Software projects face unique management challenges: invisible progress (code is not like a building rising visibly), difficulty of estimation (software complexity is hard to predict), rapid technology change (tools and platforms evolve during the project), and the temptation to add scope when software's malleability makes changes seem "easy."
Methodologies
Predictive (Waterfall): Plan everything upfront, execute the plan. Works when requirements are stable and well-understood.
Agile (Scrum/Kanban): Plan adaptively, iterate frequently, incorporate feedback continuously. Works when requirements evolve and early delivery provides value.
Hybrid: Predictive planning at the project level (milestones, budget, major scope) with Agile execution at the team level (sprints, user stories, continuous delivery). Increasingly common in enterprise environments.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Project Management Basics.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Software Engineering topic.
Search Terms
software-engineering, software engineering, software, engineering, project, management, basics, project management basics
Related Software Engineering Topics