SE Notes
Creating comprehensive plans for software project execution.
Project planning is the process of defining a project's objectives, scope, tasks, timeline, resources, and constraints in sufficient detail to guide execution. A project plan is the roadmap that transforms a vague goal ("build a customer portal") into a concrete path of specific actions with assigned responsibilities and deadlines. Without adequate planning, projects drift aimlessly—teams work on the wrong things, dependencies are discovered too late, resources are unavailable when needed, and deadlines are missed because nobody identified the critical path.
The Planning Process
| Define Scope | Decompose Work → Estimate Effort → Identify Dependencies |
| Sequence Activities | Assign Resources → Develop Schedule → Assess Risks |
| Establish Budget | Define Quality Plan → Create Communication Plan → Baseline |
Scope Definition
The scope statement defines what the project will and will not deliver. Explicit exclusions are as important as inclusions—they prevent scope creep by establishing clear boundaries:
Included: Customer-facing support portal with FAQ, ticket submission, knowledge base search, and account management. Excluded: Internal agent dashboard (Phase 2), AI chatbot (Phase 2), mobile native app (use responsive web), integration with social media channels.
Work Breakdown Structure
The WBS decomposes scope into manageable work packages. Each work package should be:
- Estimable: Small enough to estimate reliably (1-10 days of effort)
- Assignable: Clearly owned by one person or small team
- Measurable: Has clear completion criteria (definition of done)
- Independent: Minimal dependencies on other work packages in progress
Effort Estimation
Multiple techniques provide cross-checked estimates:
Expert Judgment: Experienced developers estimate based on similar past work. Most common but subject to optimism bias.
Historical Data: Use actual effort from completed similar projects. The most reliable basis when available.
Three-Point Estimation (PERT):
Story Points and Velocity (Agile): Estimate relative complexity of items; use historical velocity (points completed per sprint) to predict delivery timeline.
Function Point Analysis: Count system functionality elements (inputs, outputs, queries, files) and apply productivity rates (hours per function point based on technology and team experience).
Resource Planning
Determine what people, skills, and tools are needed:
- Roles needed: Frontend developers, backend developers, UX designer, QA engineer, project manager, DevOps engineer
- Skill requirements: React expertise, Node.js, PostgreSQL, AWS deployment
- Availability: Account for vacations, other project commitments, training, and meetings (typically 6 productive hours per 8-hour day)
- Ramp-up time: New team members need 2-4 weeks to become productive
Real-World Example: HR System Project Plan
A company plans a new HR management system:
Scope: Employee records, leave management, payroll integration, performance reviews, reporting. 8 months timeline, $600K budget, team of 7.
Major Milestones:
| Milestone | Target Date | Deliverable |
|---|---|---|
| M1: Requirements Complete | Month 2 | Approved SRS |
| M2: Architecture Approved | Month 2.5 | Design documents |
| M3: Core HR Module | Month 4 | Employee records, search, CRUD |
| M4: Leave Management | Month 5 | Leave requests, approvals, balances |
| M5: Payroll Integration | Month 6 | Bidirectional data sync with ADP |
| M6: Performance Module | Month 7 | Review cycles, goal tracking |
| M7: UAT Complete | Month 7.5 | All acceptance criteria met |
| M8: Production Launch | Month 8 | System live, users trained |
Risk-Adjusted Schedule: The payroll integration (M5) is identified as highest risk due to ADP API complexity. Two weeks of buffer are added after M5. If the buffer is consumed, the performance module (M6) features are reduced rather than delaying launch.
Resource Allocation:
- Months 1-2: 2 developers (requirements support) + 1 BA + 1 UX
- Months 2-6: 4 developers + 1 QA + 1 DevOps + PM
- Months 6-8: 4 developers + 2 QA + 1 DevOps + PM
Communication Plan
Define how project information flows to stakeholders:
| Audience | Information | Frequency | Format |
|---|---|---|---|
| Sponsor | Status, risks, decisions needed | Bi-weekly | Executive summary |
| Steering Committee | Progress, budget, scope changes | Monthly | Presentation |
| Development Team | Tasks, priorities, blockers | Daily | Stand-up meeting |
| Stakeholders | Sprint demos, feedback gathering | Every 2 weeks | Live demonstration |
| End Users | Training, timeline, preparation | Monthly | Newsletter |
Quality Plan
Define how quality will be ensured:
- Code review required for every change (minimum 1 reviewer)
- Automated test coverage minimum: 80%
- Performance testing against defined SLAs every sprint
- Security scan integrated into CI/CD pipeline
- UAT conducted with minimum 10 representative users
- Definition of Done checklist for every user story
Plan Monitoring and Control
Plans are living documents—they must be updated as reality unfolds. Track:
- Schedule variance: Are we on track? If not, what is the corrective action?
- Budget consumption: Are we spending as planned? What is the forecast?
- Scope changes: What has been added or removed? What is the impact?
- Quality indicators: Are defect rates acceptable? Is test coverage adequate?
- Risk status: Have any risks materialized? Have new risks emerged?
Planning Pitfalls
Planning too much detail too early (detailed plans for Phase 3 are unreliable when Phase 1 has not started), not planning enough (hoping things will work out is not a strategy), ignoring Parkinson's Law (work expands to fill available time—set challenging but achievable deadlines), planning without the team (plans created by managers without developer input are typically unrealistic), and confusing the plan with reality (when reality diverges from the plan, update the plan rather than ignoring reality).
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Project Planning.
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, planning, project planning
Related Software Engineering Topics