IT242 Software Design and Development

Software Design and DevelopmentUnit 108 min read

Project Mgmt & Quality Assurance: Metrics, Models, Standards

Unit 10 of Software Design and Development covers project management frameworks (Agile, Waterfall, Hybrid), quality models (ISO/IEC 25010, CMMI), risk management, and quality assurance techniques—with real-world applications in Nepali tech (e.g., eSewa’s Agile sprints, Ncell’s CMMI compliance) and exam-focused worked e

Key Concepts and Frameworks

1. Software Project Management

Software project management (SPM) is the application of knowledge, skills, tools, and techniques to deliver software products efficiently. It involves planning, executing, monitoring, and controlling resources to meet project goals.

Project Management Frameworks

Three dominant frameworks are used in industry:

Framework Approach Best For Example in Nepal
Waterfall Sequential phases Stable requirements, low risk NTC’s legacy billing systems
Agile Iterative, incremental Dynamic requirements, fast delivery eSewa’s payment gateway updates
Hybrid Mix of Waterfall + Agile Large projects with some stability NEPSE’s trading platform upgrades
flowchart LR
    A["Waterfall"] --> B["Requirements"] --> C["Design"] --> D["Implementation"] --> E["Testing"] --> F["Deployment"]
    G["Agile"] --> H["Sprint 1"] --> I["Review"] --> J["Sprint 2"] --> K["Review"] --> L["... Repeat"]

Worked Example: Agile Sprint Planning for Pathao

Pathao uses 2-week Agile sprints to update its ride-hailing app. Suppose:

  • Sprint Goal: Reduce driver wait time by 20%.
  • Tasks:
    • Optimize route algorithm (3 story points)
    • Fix GPS lag in low-signal areas (5 story points)
    • Add real-time traffic updates (2 story points)
  • Velocity: Past 3 sprints averaged 10 story points/sprint.
  • Calculation:
    • Total story points = 3 + 5 + 2 = 10 (matches velocity).
    • Risk: GPS lag depends on third-party APIs (identify as a risk in the sprint).

Exam Tip: Always relate sprints to velocity and risk management in questions.


2. Software Quality Management

Quality is conformance to requirements and fitness for use. Key models:

ISO/IEC 25010 Quality Model

Defines 8 quality characteristics with sub-characteristics:

Characteristic Sub-Characteristics Example in Daraz
Functionality Suitability, Accuracy, Interoperability Order tracking API works with Khalti
Reliability Fault tolerance, Recoverability Daraz’s "Retry Payment" button
Usability Learnability, Operability, User error protection Mobile app’s one-tap checkout
Performance Time behavior, Resource utilization Fast page load during sales
Security Confidentiality, Integrity, Non-repudiation Encrypted user data
Maintainability Modularity, Analyzability Separate code for promotions
Portability Adaptability, Installability Works on Android/iOS
Compatibility Co-existence, Interoperability Integrates with Ncell Pay

ISO 25010 quality model diagram**Hierarchy of quality characteristics (Image: Spuspita, CC BY-SA 4.0, via Wikimedia Commons)

CMMI (Capability Maturity Model Integration)

A 5-level maturity model for process improvement:

Level Focus Example in Nepal
1 Initial (ad-hoc) Startup with no formal processes
2 Managed (basic project mgmt) Ncell’s helpdesk ticketing system
3 Defined (standardized) eSewa’s documented sprint reviews
4 Quantitatively Managed NTC’s defect tracking metrics
5 Optimizing (continuous improvement) Daraz’s A/B testing for UI changes

Exam Tip: CMMI Level 3+ requires documented processes—always check for this in case studies.


3. Quality Assurance (QA) Techniques

Static vs. Dynamic Testing

Technique Description Example
Static Testing Review code/docs without execution Code walkthroughs at NEPSE
Dynamic Testing Execute code to find defects Automated UI tests for Khalti

Defect Metrics

Key metrics for quality control:

  • Defect Density = Total Defects / Size (LOC or Function Points)
    • Example: A 10,000-line Daraz module has 50 defects. Defect Density = 50 / 10,000 = 0.005 defects/LOC (acceptable if < 0.01).
  • Mean Time To Repair (MTTR): Average time to fix a defect.
    • Example: Ncell fixes 80% of app crashes in <2 hours → MTTR = 1.5 hours.

4. Risk Management

Risk Identification and Prioritization

Use a risk matrix to prioritize risks:

Probability Impact Risk Level Example (Pathao)
High High Critical Driver app crashes during peak hours
Medium High Major Payment gateway fails (Khalti integration)
Low Medium Minor Slow loading of ride history

Worked Example: NTC’s Risk Management

  • Risk: Power outage during billing system update.
  • Mitigation:
    • Backup generators (contingency plan).
    • Rollback script to revert changes if needed.
stateDiagram-v2
    [*] --> UpdateStart
    UpdateStart --> BackupDatabase
    BackupDatabase --> DeployCode
    DeployCode --> TestInStaging
    TestInStaging --> DeployToProduction: Success
    DeployToProduction --> Monitor: 24h
    Monitor --> [*]: Stable
    DeployToProduction --> Rollback: Failure
    Rollback --> [*]

5. Project Documentation and Standards

Key Documents

Document Purpose Example
Project Charter Scope, objectives, stakeholders Daraz’s "Black Friday" campaign plan
SRS (Software Requirements Spec) Functional/non-functional reqs eSewa’s payment timeout limits
Test Plan QA strategy Ncell’s app crash test cases
Post-Mortem Report Lessons learned Pathao’s failed promo launch analysis

In the Real World

  1. eSewa’s Agile Adoption

    • Uses 2-week sprints with daily standups to update its payment gateway.
    • Quality Model: ISO 25010’s security (PCI-DSS compliance) and usability (one-tap payments).
    • Risk: Integration with banks (e.g., NMB, Global IME) requires strict defect density tracking.
  2. Ncell’s CMMI Level 3 Compliance

    • Standardized ticketing system for customer complaints (Level 2).
    • Quantitative metrics: MTTR for app crashes (<30 mins for critical bugs).
    • Real Example: During the 2023 monsoon, Ncell’s predictive maintenance (Level 5) reduced tower failures by 40%.
  3. Daraz’s Hybrid Project Model

    • Waterfall for stable backend (inventory system).
    • Agile for UI/UX (weekly A/B tests on product pages).
    • Quality Assurance: Automated tests for performance (page load <2s) and compatibility (works on low-end phones).

Exam Tip

  1. Case Study Focus: Expect questions on Nepali companies (eSewa, Ncell, Daraz). Always:

    • Identify the framework (Agile/Waterfall/Hybrid).
    • Calculate defect density or MTTR if data is given.
    • Suggest risk mitigation (e.g., backup plans for NTC).
  2. Diagrams Are Mandatory:

    • Draw risk matrices, Agile sprint timelines, or CMMI level comparisons.
    • Label all axes in ISO 25010 quality models.
  3. Short Answer Tricks:

    • For Waterfall vs. Agile, compare flexibility and documentation.
    • For CMMI, list Level 3’s key process area: "Defined processes for all projects."
  4. Numerical Questions:

    • If given defects = 30, LOC = 5000, compute defect density = 0.006.
    • For sprint velocity, use past averages to predict completion.

Final Visual Summary:

mindmap
  root((Software Project & Quality Mgmt))
    Framework
      Waterfall["Sequential\n(NTC billing)"]
      Agile["Iterative\n(eSewa sprints)"]
      Hybrid["Mixed\n(Daraz)"]
    Quality
      ISO25010["8 Characteristics\n(Security, Usability)"]
      CMMI["5 Levels\n(Ncell: Level 3)"]
    QA
      Static["Code Reviews"]
      Dynamic["Automated Tests\n(Khalti UI)"]
    Risk
      Matrix["Probability x Impact"]
      Mitigation["Backup Plans\n(NTC power outage)"]

Based on the TU BITM syllabus for Software Design and Development (IT242), unit 10.

Discussion

Loading…