Skip to content

Chapter 2 - Process Models

πŸ“Œ 2.1 A Generic Process Model

1- A software process = framework of activities, actions, and tasks to build high-quality software.

2- Framework Activities:

  1. Communication – requirements gathering, stakeholder discussions.
  2. Planning – estimating effort, scheduling, tracking.
  3. Modeling – analysis + design models.
  4. Construction – coding + testing.
  5. Deployment – delivery, feedback, support.

3- Umbrella Activities: risk management, QA, configuration management, reviews, measurement.

4- Process Flows:

  • Linear (sequential)
  • Iterative (repeat some steps)
  • Evolutionary (incremental, circular)
  • Parallel (overlapping tasks).

πŸ“Œ 2.2 Defining a Framework Activity

  • Each activity consists of software engineering actions.
  • Each action has task sets = work tasks + work products + quality checkpoints + milestones.
  • Example: Communication may include elicitation, elaboration, negotiation, specification, validation.

πŸ“Œ 2.3 Identifying a Task Set

  • Different projects β†’ different task sets.
  • Small project: a simple phone call + email confirmation may be enough.
  • Large project: requires multiple actions (elicitation workshops, validation meetings, documentation).

πŸ“Œ 2.4 Process Assessment and Improvement

  • Processes must be assessed and continuously improved.
  • Common assessment models:

  • CMMI (Capability Maturity Model Integration).

  • ISO/IEC standards.
  • Improvement ensures predictability, repeatability, and better quality.

πŸ“Œ 2.5 Prescriptive Process Models

1- Waterfall Model

  • Sequential, well-defined stages.
  • Strength: disciplined and documented.
  • Weakness: rigid, hard to adapt to change.

2- Prototyping Model

  • Build a quick prototype β†’ get feedback β†’ refine.
  • Helps clarify requirements.
  • Risk: may evolve into poorly structured final product.

3- Evolutionary Models (e.g., Spiral)

  • Iterative cycles β†’ each version improves.
  • Good for large, complex, high-risk projects.
  • Strength: risk management, flexibility.

4- Unified Process Model (UP/RUP)

  • Iterative and incremental.
  • Phases: inception, elaboration, construction, transition.
  • Use case driven, architecture-centric.

πŸ“Œ 2.6 Product and Process

  • A good software process directly impacts the quality of the product.
  • Balance between process rigor (discipline) and agility (flexibility) is essential.

πŸ“Œ 2.7 Summary

  • Software process = structured approach with framework + task sets + assessment.
  • Different prescriptive models exist, but all must adapt to context and project needs.
  • Continuous improvement is vital for long-term success.

βœ… This chapter emphasizes that there’s no one-size-fits-all process. Instead, engineers must adapt models to project scale, complexity, and risks.


Process Model For An e-commerce Website

Choosing the right software process model for an e-commerce website depends on:

  • Complexity (payment systems, product catalogs, scalability).
  • Changing requirements (UI/UX tweaks, marketing features, seasonal campaigns).
  • Time-to-market (e-commerce must launch fast to capture business).
  • Risk (security, performance, integrations with payment/shipping).

πŸ” Model Comparison for E-Commerce

1- Waterfall Model

  • ❌ Not suitable β†’ too rigid, requirements change often in e-commerce.

2- Prototyping Model

  • βœ… Good for UI/UX-heavy parts (shopping cart, product filters, checkout flow).
  • Helps validate with stakeholders quickly.

3- Evolutionary/Spiral Model

  • βœ… Very suitable for large, risky projects (multi-country payments, fraud detection).
  • Allows risk analysis + incremental builds.

4- Unified Process (RUP)

  • βœ… Works well for enterprise-level e-commerce (scalable platforms like Amazon-type systems).
  • Iterative, architecture-focused.

5- Agile (Scrum/Kanban/DevOps) (covered in Chapter 3 but related)

  • ⭐ Best fit for most e-commerce websites.
  • Business needs change fast (discount rules, SEO, new features).
  • Agile allows continuous delivery, fast iterations, and feedback loops.

  • Use Agile (Scrum + DevOps) as the base.
  • Apply Prototyping for UI/UX validation (mockups, wireframes, checkout flows).
  • For high-risk components (payment gateway, scalability, fraud prevention), adopt Spiral model practices (risk-driven iterations).

πŸ‘‰ In short: For a typical online shop β†’ Agile + Prototyping is the best choice. For a large enterprise e-commerce platform β†’ Agile + Spiral (risk management) is safer.