SE Notes
Initial project planning including feasibility study and resource allocation.
The planning phase is the foundation upon which the entire software project rests. Before writing a single line of code, before gathering detailed requirements, before designing architecture—the team must determine whether the project is worth pursuing, whether it is feasible, how much it will cost, how long it will take, and how it will be organized. Think of this as the phase where you decide whether to build the bridge at all, before you start designing its structure. Poor planning leads to projects that run over budget, miss deadlines, deliver the wrong product, or collapse entirely—and studies show that 50-70% of software project failures trace back to inadequate planning.
Purpose of the Planning Phase
The planning phase answers several critical questions:
Is this project feasible? Can we actually build this system given our technical capabilities, time constraints, and budget limitations? Is the business case strong enough to justify the investment?
What is the scope? What exactly will this project deliver, and equally importantly, what will it not deliver? Clear scope boundaries prevent the project from growing uncontrollably.
How will we execute? What development methodology will we use? How will the team be structured? What tools and technologies will be employed? What are the milestones and checkpoints?
What are the risks? What could go wrong, and how will we prepare for or mitigate those possibilities?
Feasibility Study
The feasibility study evaluates the project from multiple perspectives:
Technical Feasibility: Do we have the technology, tools, and expertise to build this system? Are there unsolved technical challenges? Can we achieve the required performance, security, and reliability levels with available technology? If the project requires technology that does not exist yet, technical feasibility is questionable.
Economic Feasibility (Cost-Benefit Analysis): Will the benefits of the system justify its costs? This includes development costs (staff, tools, infrastructure), operational costs (hosting, support, maintenance), and opportunity costs (what else could we do with these resources?). Benefits include revenue generation, cost savings, productivity improvements, and strategic positioning.
| Development Cost | $500,000 |
| Annual Operating | $100,000/year |
| 5-Year Total Cost | $1,000,000 |
| Annual Savings | $300,000/year |
| Revenue Increase | $150,000/year |
| 5-Year Total Benefit | $2,250,000 |
| Payback Period | 1.5 years |
Operational Feasibility: Will the organization actually use the system? Do users have the skills and willingness to adopt it? Does it fit within existing business processes, or does it require organizational change? The technically best system is useless if users reject it.
Schedule Feasibility: Can we deliver the system within the required timeframe? If the business need must be met by a specific date (regulatory deadline, market window), can the project realistically complete by then?
Legal Feasibility: Are there legal constraints—licensing requirements, data protection regulations, intellectual property concerns—that could prevent or complicate the project?
Project Estimation
Estimation determines the project's expected cost, duration, and resource needs:
Effort Estimation Techniques:
- Expert Judgment: Experienced developers estimate based on similar past projects
- Analogous Estimation: Compare with completed projects of similar size and complexity
- Function Point Analysis: Count the system's functional units (inputs, outputs, queries, files) and apply productivity rates
- COCOMO Model: Algorithmic estimation based on estimated lines of code and project complexity factors
Resource Planning: Identify the team composition needed—how many developers, testers, designers, project managers, and domain experts. Determine when each resource is needed and whether they must be hired or can be drawn from existing staff.
Real-World Example: Hospital Patient Portal
A hospital wants to build a patient portal where patients can view test results, schedule appointments, message their doctors, and manage prescriptions. The planning phase proceeds:
Feasibility Assessment:
- Technical: Yes—standard web application technology, APIs available for integration with existing medical records system
- Economic: Development cost estimated at $800K. Expected savings of $200K/year in reduced phone call volume plus $150K/year in reduced no-show appointments. Payback in 2.3 years.
- Operational: Risk identified—older patient population may struggle with technology. Mitigation: design for simplicity, offer in-person assistance during transition
- Schedule: Regulatory requirement mandates patient access to records within 18 months. Feasible with adequate staffing.
- Legal: Must comply with HIPAA. Requires specific security measures for protected health information.
Project Plan:
- Phase 1 (6 months): Core authentication, medical records viewing, basic messaging
- Phase 2 (4 months): Appointment scheduling, prescription management
- Phase 3 (3 months): Mobile app, telehealth integration
- Buffer (5 months): Contingency for unforeseen challenges
Risk Planning
Identify potential threats and plan responses:
| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| Key developer leaves | Medium | High | Cross-train team, document decisions |
| Integration API changes | Low | High | Abstract integration layer, maintain test suite |
| Scope creep | High | Medium | Change control board, clear scope document |
| Technology doesn't perform | Low | Critical | Prototype early, performance test continuously |
Planning Deliverables
The planning phase produces: the feasibility study report, project charter (formal authorization to proceed), project plan (timeline, milestones, resources), risk register, communication plan (how stakeholders will be informed), and quality plan (standards and procedures for ensuring quality). These documents serve as the project's constitution—guiding decisions throughout execution and providing criteria for measuring success.
Common Planning Mistakes
Under-estimating effort (optimism bias—projects typically take 50-100% longer than initial estimates), failing to account for non-coding work (meetings, reviews, documentation, deployment), ignoring organizational change management, planning without involving the execution team, and treating the plan as fixed rather than a living document that needs regular revision as reality unfolds.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Planning Phase.
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, development, life, cycle, planning
Related Software Engineering Topics