| Step | Activity | Output |
|---|---|---|
| 1-2 | Feasibility, scope definition | Feasibility report, SRS |
| 3-4 | Infrastructure, classification | Tech stack decision (Java, MySQL) |
| 5-6 | WBS, effort estimation | Project schedule, 150 person-days |
| 7 | Risk identification | Risk register (server crash, data loss) |
| 8-9 | Resource allocation, review | Gantt chart, approved plan |
| 10 | Execution | Working system delivered in 6 months |
Each risk is assigned a probability (0–1) and an impact score (1–10). The risk exposure = Probability × Impact.
| Risk | Probability | Impact | Exposure | Priority |
|---|---|---|---|---|
| Staff turnover | 0.4 | 8 | 3.2 | High |
| Requirements change | 0.6 | 7 | 4.2 | Very High |
| Server downtime | 0.2 | 9 | 1.8 | Medium |
A tabular document maintained throughout the project recording: risk ID, description, probability, impact, owner, mitigation strategy, and current status. It is the primary tool for tracking risks over time.
A computerized statistical technique that models uncertainty by running thousands of simulations with random inputs drawn from probability distributions. Output: probability distribution of project completion dates and costs. Especially useful for large complex projects.
A graphical tool to evaluate decisions under uncertainty. Each branch represents a possible outcome with a probability and monetary value. The Expected Monetary Value (EMV) is calculated for each path.
| Criteria | Net Profit | ROI | DCF / NPV |
|---|---|---|---|
| Time value of money | No | No | ✓ Yes |
| Accounts for risk | No | No | ✓ Via discount rate |
| Compares duration | No | No | ✓ Yes |
| Clear decision rule | Partial | Partial | ✓ NPV > 0 |
| Year | Project 1 | Project 2 | Project 3 | Project 4 |
|---|---|---|---|---|
| 0 (Investment) | −1,00,000 | −10,00,000 | −1,00,000 | −1,20,000 |
| 1 | 10,000 | 2,00,000 | 30,000 | 30,000 |
| 2 | 10,000 | 2,00,000 | 30,000 | 30,000 |
| 3 | 10,000 | 2,00,000 | 30,000 | 30,000 |
| 4 | 20,000 | 2,00,000 | 30,000 | 30,000 |
| 5 | 1,00,000 | 3,00,000 | 30,000 | 75,000 |
| Project | NP | ROI | Payback | NPV |
|---|---|---|---|---|
| 1 | 50,000 | 50% | ~5 yrs | ₹620 |
| 2 | 1,00,000 | 10% | ~5 yrs | −₹1,79,900 ❌ |
| 3 | 50,000 | 50% | ~3.3 yrs | ₹13,700 |
| 4 | 75,000 | 62.5% | 4 yrs | ₹21,645 ✅ Best |
Used in early prototyping. Estimates based on Object Points (screens, reports, modules). Low detail needed.
Used when requirements are stabilizing. Uses Function Points. Helps in early budgeting and feasibility.
Most detailed. Used after architecture is established. Uses SLOC (Source Lines of Code). Most accurate.
| Scale Factor | Description |
|---|---|
| PREC (Precedentedness) | How similar is this to previous projects? |
| FLEX (Development Flexibility) | How rigid are the requirements? |
| RESL (Risk Resolution) | How well is the architecture designed? |
| TEAM (Team Cohesion) | How well does the team work together? |
| PMAT (Process Maturity) | CMM level of the organization |
These adjust the base estimate based on product, platform, personnel, and project factors. Key ones:
| Method | Key Feature | Best For |
|---|---|---|
| Scrum | Time-boxed Sprints (2-4 weeks), Product Backlog, Daily Standup | Product development teams |
| XP (Extreme Programming) | Pair programming, TDD, continuous integration, small releases | High-change requirements |
| DSDM | Time-boxing, 9 principles, full lifecycle framework | Business-critical systems |
| Kanban | Visual board, WIP limits, continuous flow | Maintenance/support teams |
| Crystal | People-centric, scales with team size | Various team sizes |
| Aspect | Agile | Traditional (Waterfall) |
|---|---|---|
| Requirements | Evolving | Fixed upfront |
| Delivery | Incremental (every sprint) | Single final delivery |
| Customer involvement | Continuous | At start and end |
| Documentation | Minimal (just enough) | Heavy |
| Team size | Small, co-located (5–9) | Any size |
COSMIC models software as a set of functional processes. Each functional process consists of data movements of 4 types:
| Data Movement | Symbol | Description | Example |
|---|---|---|---|
| Entry (E) | E | Data moves INTO a functional process from a user or another layer | User enters username & password |
| Exit (X) | X | Data moves OUT of a functional process to a user or another layer | System displays error message |
| Read (R) | R | Data moves from persistent storage INTO a process | Read user record from database |
| Write (W) | W | Data moves from a process INTO persistent storage | Save new user record to database |
| Component | Count | Avg Weight | Weighted Count |
|---|---|---|---|
| External Inputs (EI) | 30 | 10 | 300 |
| External Outputs (EO) | 42 | 7 | 294 |
| External Inquiries (EQ) | 08 | 4 | 32 |
| Internal Logical Files (ILF) | 07 | 5 | 35 |
| External Interface Files (EIF) | 06 | 4 | 24 |
| Total (UFP) | 685 |
| Term | Full Form | Meaning |
|---|---|---|
| ES | Earliest Start | Earliest time an activity can begin |
| EF | Earliest Finish | ES + Duration |
| LS | Latest Start | Latest time activity can start without delaying project |
| LF | Latest Finish | LS + Duration |
| Float/Slack | — | LS − ES = LF − EF (allowable delay) |
| Critical Path | — | Path where Float = 0 for all activities |
| Activity | Description | Duration (wks) | Precedents |
|---|---|---|---|
| A | Hardware selection | 8 | — |
| B | System configuration | 5 | — |
| C | Install hardware | 3 | A |
| D | Data migration | 4 | B |
| E | Draft office procedures | 4 | B |
| F | Recruit staff | 12 | — |
| G | User training | 5 | E, F |
| H | Install and test system | 3 | C, D |
| Activity | ES | EF | LS | LF | Float | Critical? |
|---|---|---|---|---|---|---|
| A | 0 | 8 | 3 | 11 | 3 | No |
| B | 0 | 5 | 3 | 8 | 3 | No |
| C | 8 | 11 | 11 | 14 | 3 | No |
| D | 5 | 9 | 10 | 14 | 5 | No |
| E | 5 | 9 | 8 | 12 | 3 | No |
| F | 0 | 12 | 0 | 12 | 0 | ✓ YES |
| G | 12 | 17 | 12 | 17 | 0 | ✓ YES |
| H | 11 | 14 | 14 | 17 | 3 | No |
Techniques for Risk Identification:
Categories of Risks (Boehm):
Output: Risk Register — a document listing all identified risks with descriptions, likelihood, impact, and owners.
| Activity | O | M | P | te | σ |
|---|---|---|---|---|---|
| Design | 3 | 5 | 9 | (3+20+9)/6 = 5.33 | (9-3)/6 = 1 |
| Coding | 5 | 8 | 15 | (5+32+15)/6 = 8.67 | (15-5)/6 = 1.67 |
| Testing | 2 | 4 | 8 | (2+16+8)/6 = 4.33 | (8-2)/6 = 1 |
PERT vs CPM:
The most powerful quantitative control technique. Three key metrics:
| Metric | Value | Interpretation |
|---|---|---|
| SPI = 0.929 | < 1 | Project is behind schedule |
| CPI = 0.867 | < 1 | Project is over budget |
| EAC = $26,165 | > BAC | Project will cost $4,165 more than planned |
| VAC = −$4,165 | Negative | Budget overrun expected |
| Metric | Value | Meaning |
|---|---|---|
| SPI = 0.923 | < 1.0 | Only 92.3% of scheduled work completed — behind schedule |
| CPI = 0.800 | < 1.0 | Spending ₹1.25 for every ₹1 of value — over budget |
| SV = −₹20,000 | Negative | ₹20,000 worth of work is behind plan |
| CV = −₹60,000 | Negative | ₹60,000 over budget |
| Dimension | Definition | Software Example |
|---|---|---|
| Skill Variety | Range of different activities requiring different skills | Developer does coding, design, and testing |
| Task Identity | Completing a whole, identifiable piece of work | Developer owns a complete feature end-to-end |
| Task Significance | Degree the job impacts others' lives | "My payment module processes 10,000 daily transactions" |
| Autonomy | Freedom in scheduling and methods | Choose your own tools and work schedule |
| Feedback | Clear information about job performance | Automated test results, code review comments |
When all three psychological states are present:
| Theory | Author | Application in Software |
|---|---|---|
| Maslow's Hierarchy | Maslow | Ensure basic needs (salary, safety) before expecting self-actualization (creative coding) |
| Two-Factor Theory | Herzberg | Hygiene: fair pay, safe office. Motivators: challenging work, recognition |
| ERG Theory | Alderfer | Existence, Relatedness, Growth needs in teams |
| Expectancy Theory | Vroom | Reward systems must be fair and achievable to motivate |
Common faulty heuristics in SPM:
Steps to reduce faulty heuristics:
Example: Continuing to develop a failing software product because "we've already spent ₹50 lakhs on it" rather than cutting losses.
Steps to reduce escalation of commitment:
In software projects: too many KPIs, dashboards, reports, and status meetings create noise rather than clarity.
Steps to reduce information overload:
| Obstacle | Core Problem | Key Solution |
|---|---|---|
| Faulty Heuristics | Subjective biases in estimation | Use structured, data-driven methods |
| Escalation of Commitment | Emotional attachment to past decisions | Pre-set kill criteria; independent review |
| Information Overload | Too much data, too little insight | Exception reporting; focused KPIs |