BIT402 Software Project Management

Software Project ManagementUnit 413 min read

Cost Estimation & Financial Management in Software Projects

Unit 4 of Software Project Management explores cost estimation techniques (COCOMO II, parametric models), financial planning (budgets, ROI), and risk mitigation in software projects—with real-world examples from Nepali tech firms like eSewa and Daraz.

TAKEAWAYS:

  • Cost estimation predicts effort, time, and budget using models like COCOMO II, adjusted by project complexity multipliers.
  • Financial management includes budgeting, cash flow analysis, and ROI calculation to ensure project viability.
  • Risk factors (e.g., scope changes, resource shortages) must be quantified and mitigated in cost plans.
  • COCOMO II uses post-architecture multipliers (e.g., product attributes, platform factors) to refine estimates.
  • Earned Value Management (EVM) tracks project health by comparing planned vs. actual costs and progress.
  • Contract types (fixed-price, time-and-material) impact cost control and risk allocation.

1. Why Cost Estimation Matters in Software Projects

Software projects fail 70% of the time due to poor cost estimation (Standish Group). Unlike hardware, software costs are intangible—effort, not materials, drives expenses. Key challenges:

  • Uncertainty: Requirements evolve; scope changes.
  • Hidden costs: Training, maintenance, and third-party tools.
  • Stakeholder pressure: Underpromising leads to lost contracts; overpromising risks bankruptcy.

2. Cost Estimation Models

sequenceDiagram
    participant Client as eSewa Mobile App
    participant Server as eSewa Server
    participant DB as Database
    Client->>Server: POST /api/transaction (10,000 KDSI)
    Server->>DB: Query (RELY=1.2, CPLX=1.1)
    DB-->>Server: Response
    Server-->>Client: Success (ACAP=0.85)
    Note right of Server: COCOMO II multipliers applied
    Note over Client,Server: Effort = 2.4 × (10)^1.05 × 1.2 × 1.1 × 0.85 ≈ 35.5 PM
Transaction flow in eSewa app with COCOMO II multipliers visualized
08162431Version4 bitsIHL4 bitsType of Service8 bitsTotal Length16 bitsIdentification16 bitsFlags3 bitsFragment Offset13 bitsTime to Live(TTL)8 bitsProtocol8 bitsHeader Checksum16 bitsSource IP32 bitsDestination IP32 bits
IPv4 Header Format (20 bytes minimum) – Used in COCOMO II's 'DATA' multiplier for network-dependent projects like eSewa's payment gateway.

A. COCOMO II (Constructive Cost Model)

Developed by Barry Boehm, COCOMO II estimates effort in person-months and cost based on:

  1. Project size (measured in KDSI: thousands of delivered source instructions).
  2. Effort multipliers (adjusted for complexity, team experience, tools used).

Formula:

Effort (PM) = a × (KDSI)^b × ∏(EMi)
Cost ($) = Effort × Salary Rate × (1 + Overhead)

Where:

  • a, b = model constants (e.g., for Organic projects: a=2.4, b=1.05).
  • EMi = Effort Multipliers (15 factors, e.g., RELY for reliability, CPLX for complexity).

Post-Architecture Multipliers (Key for Exams):

Category Factor Description Low (0.75) Nominal (1.0) High (1.46)
Product RELY Required software reliability High reliability Nominal Low reliability
Hardware DATA Database size <100 KB 100 KB–1 MB >1 MB
Platform TIME Execution time constraint <1 year 1–2 years >2 years
Personnel ACAP Analyst capability High Nominal Low
Project PCAP Programmer capability High Nominal Low

Worked Example: Estimating a Mobile App for eSewa

  • Scope: Payment gateway app (10,000 KDSI).
  • Multipliers:
    • RELY = 1.2 (high reliability needed).
    • CPLX = 1.1 (moderate complexity).
    • TIME = 1.0 (no strict deadline).
    • ACAP = 0.85 (experienced team).
  • Effort:
    Effort = 2.4 × (10)^1.05 × 1.2 × 1.1 × 1.0 × 0.85 ≈ 35.5 person-months
    
  • Cost (assuming $500/month salary + 20% overhead):
    Cost = 35.5 × $500 × 1.20 = **$21,300**
    

Advantages of COCOMO II: ✅ Accurate for large projects (used by NASA, IBM). ✅ Adjustable for agile/iterative development. ✅ Quantifies risk via multipliers.

Limitations: ❌ Requires historical data (KDSI). ❌ Overhead for small projects (<5 person-months).


B. Parametric Models (Function Points)

  • Function Points (FP): Measure software size by user functions (inputs, outputs, queries).
  • Conversion: 1 FP ≈ 100–200 lines of code (varies by language).
  • Example: A Daraz order-tracking system might have:
    • 50 user inputs (e.g., "Add to Cart").
    • 30 reports (e.g., "Order History").
    • Total FP = 80 → Estimated effort = 80 × 5 PM/FP = 400 person-months.

Comparison Table: COCOMO II vs. Function Points

Aspect COCOMO II Function Points
Unit of Measure KDSI (source code) FP (user functions)
Best For Early design phases Post-requirements (detailed specs)
Adjustability High (multipliers) Low (fixed FP rules)
Industry Use Defense, aerospace Banking, ERP systems

3. Financial Management in Projects

A. Budgeting

  • Top-Down: Management allocates funds based on high-level goals.
  • Bottom-Up: Teams estimate tasks and sum costs (more accurate).
  • Example: Ncell’s app development budget:
    • Salaries: 60% (developers, testers).
    • Tools: 20% (Jira, AWS).
    • Contingency: 15% (unexpected risks).
    • Marketing: 5%.

B. Cash Flow Analysis

  • Key Metrics:
    • Net Present Value (NPV): Discounted future cash flows.
      NPV = Σ [CFt / (1 + r)^t] – Initial Investment
      
      Where CFt = cash flow at time t, r = discount rate (e.g., 10%).
    • Return on Investment (ROI):
      ROI = (Net Profit / Cost) × 100%
      
    • Break-Even Point: When cumulative cash flow turns positive.

Worked Example: Khalti’s Loan Disbursement System

  • Initial Cost: $50,000 (development + servers).
  • Annual Revenue: $20,000 (transaction fees).
  • NPV (5 years, 10% discount rate):
    Year 1: $20,000 / 1.1 = $18,182
    Year 2: $20,000 / 1.1² = $16,529
    ...
    NPV = $73,582 – $50,000 = **$23,582 (profitable)**
    

C. Earned Value Management (EVM)

Tracks three key metrics:

  1. Planned Value (PV): Budgeted cost of work scheduled.
  2. Earned Value (EV): Budgeted cost of work completed.
  3. Actual Cost (AC): Real cost incurred.

Formulas:

  • Cost Variance (CV): EV – AC (positive = under budget).
  • Schedule Variance (SV): EV – PV (positive = ahead of schedule).
  • Cost Performance Index (CPI): EV / AC (>1 = efficient).

Example: Pathao Driver App Development

Metric Value Interpretation
PV (Month 3) $30,000 Planned budget for Month 3
EV (Month 3) $25,000 Only 83% of work completed
AC (Month 3) $35,000 Overspent by $10,000
CV -$10,000 Over budget
CPI 0.71 Inefficient (spending 1.4x budget)

Corrective Actions:

  • Hire more developers.
  • Cut non-critical features (e.g., AI route optimization).

4. Risk Management in Cost Estimation

Top 5 Cost Risks in Software Projects:

  1. Scope Creep: Uncontrolled changes (e.g., adding biometric login to eSewa).
  2. Resource Shortages: Key developers leave mid-project.
  3. Technical Debt: Cutting corners on testing → future fixes.
  4. Vendor Delays: Third-party APIs (e.g., payment gateways) fail.
  5. Inflation: Rising salaries (e.g., 15% annual hike in Nepal).

Mitigation Strategies:

  • Contingency Reserve: 10–20% of budget for risks.
  • Prototyping: Validate requirements early (e.g., Daraz’s MVP).
  • Agile Buffers: Short sprints allow course correction.

risk management matrixProbability vs. Impact for software projects (Image: Peter Gladdish, CC BY 4.0, via Wikimedia Commons)


5. Contract Types and Cost Control

Contract Type Description Risk Allocation Best For
Fixed-Price Client pays fixed amount regardless of cost. High risk to vendor. Well-defined projects (e.g., NTC’s website).
Time-and-Material (T&M) Client pays for actual hours + materials. Risk shared. Research projects, startups.
Cost-Plus Client pays actual cost + fee (e.g., 10%). Low risk to vendor. Government projects (e.g., NEPSE).
Unit Price Pay per deliverable (e.g., $X per feature). Moderate risk. Iterative development (e.g., Pathao).
stateDiagram-v2
    [*] --> FixedPrice
    FixedPrice --> Delivered : On Time
    FixedPrice --> Dispute : Late/Defective
    TimeAndMaterial --> Billed : Per Hour
    TimeAndMaterial --> Adjust : Scope Change
    FixedPrice --> [*]
    TimeAndMaterial --> [*]
    note right of FixedPrice
        Risk: All on vendor
        Cost: Predictable
    note right of TimeAndMaterial
        Risk: Shared
        Cost: Flexible
Contract type state transitions (Pathao’s driver app development)

Example: NEPSE’s Trading Platform Contract

  • Type: Fixed-Price ($250,000).
  • Risk: Vendor must deliver on time; penalties for delays.
  • Contingency: 15% reserve for market volatility.

In the Real World

  1. eSewa’s Cost Estimation

    • Used COCOMO II to estimate their digital wallet app (20,000 KDSI).
    • Multipliers applied:
      • RELY = 1.4 (high security needed).
      • CPLX = 1.3 (integrations with banks, NFC).
    • Result: 45 person-months → $225,000 budget (saved 20% via agile sprints).
  2. Khalti’s Financial Management

    • NPV Analysis: Delayed launch by 6 months → lost $500K in transaction fees.
    • Solution: Used EVM to track progress and reallocated funds to marketing.
  3. Daraz’s Risk Mitigation

    • Scope Creep: Initially planned a simple e-commerce site but added logistics tracking.
    • Fix: Used agile buffers (2-week sprints) to manage changes without blowing the $5M budget.

Exam Tip

How to Score Full Marks:

  1. COCOMO II Questions:

    • Always list 3–4 multipliers with their values (e.g., RELY, CPLX).
    • Show the effort formula step-by-step.
    • Compare with function points in 2–3 bullet points.
  2. Financial Management:

    • For NPV/ROI, show calculations with time value of money.
    • For EVM, plot a simple table with PV, EV, AC, and interpret CV/SV.
  3. Contract Management:

    • Define fixed-price vs. T&M and give a Nepali example (e.g., NTC vs. Pathao).
    • Link to risk allocation (e.g., "Fixed-price shifts risk to the vendor").
  4. Worked Examples:

    • Use real companies (eSewa, Khalti) and local scenarios (e.g., "Estimate cost for a school management app").
    • Assume salary rates (e.g., $300/month for a Nepali developer) if not given.

Avoid: ❌ Vague answers like "COCOMO is used for estimation." ✅ Instead: "COCOMO II’s post-architecture multipliers adjust effort for factors like RELY (reliability), where a high value (1.4) for eSewa’s payment system increases effort by 40%."


sequenceDiagram
    participant Client
    participant Vendor
    participant Bank
    Client->>Vendor: Fixed-Price Contract ($250K for NEPSE platform)
    Vendor->>Bank: Loan Application (Collateral: IP Rights)
    Bank-->>Vendor: Approval ($200K, 10% interest)
    Vendor->>Client: Milestone 1 (Login System)
    Client->>Vendor: Payment ($50K)
    Vendor->>Vendor: EVM Check (EV=$45K, AC=$60K → CV=-$15K)
    Vendor->>Client: Escalation (Delay Risk)
    Client->>Vendor: Approve Contingency Fund ($20K)

In the real world

  • eSewa uses COCOMO II with RELY=1.2 (high reliability) and TIME=1.0 (no strict deadline) to estimate payment gateway development costs, adjusting for Nepal’s regulatory compliance needs (hidden cost: 15% contingency).
  • Khalti applies Earned Value Management (EVM) to track loan disbursement system progress, where a CPI < 1 (e.g., 0.71 in Pathao’s example) triggered reallocation of developers to backend services to meet the 2-year execution deadline (TIME multiplier).
  • Ncell’s app budgeting allocates 60% to salaries (reflecting Nepal’s high developer rates) and 20% to AWS tools, using bottom-up budgeting to align with COCOMO II’s ACAP=0.85 (experienced team) multiplier.

Based on the TU BIT syllabus for Software Project Management (BIT402), unit 4.

Discussion

Loading…