Software Project Management
Software project management plans, monitors, and controls software development to deliver on time, within budget, and meeting quality standards. It balances scope, time, cost, and quality.
Project Planning
Planning involves defining scope, estimating effort and cost, scheduling activities, allocating resources, and identifying risks. The project plan is a living document. Work Breakdown Structure (WBS) decomposes work into manageable tasks.
Estimation
COCOMO estimates effort from lines of code: Basic, Intermediate, and Detailed. Function Point Analysis estimates size from functionality. Expert judgement and analogy-based estimation complement formal models.
Scheduling
Gantt charts show tasks on a timeline. PERT/CPM networks identify the critical path. Agile teams use velocity and burndown charts for sprint planning.
Team Management
Brooks's Law: adding people to a late project makes it later. Effective teams need clear roles, communication channels, and conflict resolution.
Monitoring and Control
Earned Value Management (EVM) tracks progress: PV, EV, AC. SPI = EV/PV and CPI = EV/AC indicate project health.
Agile Project Management
Agile manages through sprints, backlogs, and ceremonies. Product Owner, Scrum Master, and Development Team self-organise. Kanban boards visualise workflow.
Summary
Project management combines estimation, scheduling, team leadership, and monitoring for successful software delivery.