2 day(s)
🎯 LEARNING OBJECTIVES
By the end of this level, learners will be able to:
Understand the fundamentals of Agile project management and iterative delivery.
Explain the differences between Agile and traditional lifecycle models such as Waterfall and V-Model.
Compare Waterfall, V-Model, Spiral, Incremental, RAD, and Agile based on their characteristics, benefits, and limitations.
Understand time-boxed iterations, incremental delivery, customer feedback, and continuous improvement.
Select an appropriate software development lifecycle model based on project characteristics, uncertainty, and customer needs.
🧠 PREREQUISITES
Basic understanding of Project Management concepts.
Basic knowledge of Software Development Life Cycle (SDLC).
Familiarity with software requirements, development, testing, and deployment.
Basic understanding of project scope, schedule, budget, and quality.
No prior Agile experience is required.
The purpose of the management process is to establish a clear strategy for achieving project objectives, with a well-defined scope, budget, and quality attributes.
We have different project management approaches lifecycle, that can fit for different purposes and either an enterprise nature, or a project natture.
The evolution of the project life cycle started with Waterfall, incremental, spiral, and finally agile and scaled agile, which we will discuss in this lecture, starting from the history of the old management approaches.
he Waterfall Lifecycle Model is a sequential software development approach where the project moves through a predefined set of phases, with each phase completed before the next one begins.
Typical flow:
Requirements → Analysis → Design → Development → Testing → Deployment → Maintenance
Each phase has defined inputs, outputs, and approval criteria. The development team normally does not move to the next phase until the current phase is completed and formally reviewed.
The model works well when requirements are stable, clearly understood, and unlikely to change. However, when requirements evolve frequently, changes introduced in later phases can be costly because the project may need to revisit previously completed work.
Key characteristics:
Sequential and phase-driven.
Strong emphasis on up-front requirements and planning.
Formal documentation and approval at each stage.
Testing mainly follows development.
Changes are controlled through formal change management.
Progress is measured by completion of lifecycle phases and deliverables.
Best fit: Projects with stable requirements, predictable scope, strong regulatory/documentation requirements, and well-understood technology.
Main limitation: Customer feedback and working software usually appear relatively late, making it less suitable for projects with high uncertainty or frequently changing requirements.
The Incremental Lifecycle Model delivers the system through a series of small, manageable increments. Instead of developing the complete solution in one cycle, the product is divided into functional parts, and each increment adds new capabilities to the previous working version.
Typical flow:
Requirements → Increment 1 → Working Product → Increment 2 → Enhanced Product → Increment 3 → Expanded Product → Final Product
Each increment goes through its own cycle of analysis, design, development, and testing, resulting in a working version of the product.
Key characteristics:
Product is delivered in multiple functional increments.
Each increment provides a usable business capability.
Customer feedback can be incorporated between increments.
Allows earlier delivery of valuable functionality.
Reduces the risk of delivering the entire system at once.
Requirements can be refined as the product evolves.
Best fit: Projects where the solution can be divided into independent or prioritized business capabilities, allowing the organization to deliver the most valuable functionality first.
Extension of Waterfall with early test planning.
The V-Model (Verification and Validation Model) is a structured software development approach that extends the Waterfall model by connecting each development phase with a corresponding testing and validation activity.
Typical flow:
Requirements → System Design → Architecture/High-Level Design → Detailed Design → Development → Unit Testing → Integration Testing → System Testing → Acceptance Testing
The key idea is that testing is planned early, rather than being treated as an activity that starts only after development is completed. Each development stage has a corresponding test level that verifies whether the expected outcome has been achieved.
Key characteristics:
Sequential and highly structured.
Strong relationship between development and testing activities.
Testing activities are planned alongside development.
High emphasis on requirements traceability and documentation.
Formal reviews and verification at each stage.
Suitable for environments requiring high quality, safety, or regulatory compliance.
Best fit: Projects with stable and well-defined requirements, where quality, reliability, traceability, and compliance are critical.
Main limitation: Like Waterfall, it is relatively rigid when requirements change, and late changes can result in significant rework.
Simple principle:
Waterfall focuses on building the product step by step; V-Model focuses on building it step by step while planning how each step will be verified and validated.
Rapid Application Development (RAD) is an iterative development approach that focuses on rapidly building and refining working software through continuous user involvement and feedback. Instead of spending extensive time on upfront planning, RAD emphasizes quick prototypes and frequent validation with users.
Typical flow:
Requirements Planning → User Design → Rapid Construction → Testing & Feedback → Deployment
The cycle can be repeated several times until the solution meets the business needs.
Key characteristics:
Focuses on speed and rapid delivery.
Uses prototypes and iterative development.
Requires strong and continuous user involvement.
Encourages reuse of components and development tools.
Requirements can evolve during development.
Frequent feedback helps identify issues early.
Best fit: Projects with tight delivery timelines, relatively clear business objectives, active users, and a solution that can be developed using reusable components or modern development tools.
Main limitation: RAD depends heavily on continuous stakeholder availability and skilled development teams. It is less suitable for very large, highly complex, safety-critical, or infrastructure-intensive systems.
The Agile Lifecycle Model is an iterative and incremental approach that focuses on continuous delivery of business value, customer collaboration, and rapid response to change. The product is developed through short iterations, with feedback continuously used to refine both the product and its priorities.
Typical flow:
Product Vision → Backlog → Iteration Planning → Development → Testing → Working Increment → Customer Feedback → Backlog Refinement → Next Iteration
Unlike traditional lifecycle models, Agile does not assume that all requirements are known at the beginning. Requirements can evolve as the team learns more about the business and receives customer feedback.
Key characteristics:
Short, time-boxed iterations.
Frequent delivery of working software.
Continuous customer and stakeholder feedback.
Requirements can evolve throughout the project.
Cross-functional and collaborative teams.
Continuous testing, integration, and improvement.
Focus on business value and customer outcomes.
Best fit: Projects with changing requirements, high uncertainty, complex business problems, or a strong need for rapid and continuous delivery of value.
Main limitation: Agile requires active stakeholder involvement, disciplined teams, effective product ownership, and strong engineering practices. Without these, frequent changes can lead to scope creep, technical debt, or loss of direction.
Dr. Ghoniem Lawaty
Tech Evangelist