Project Management Process
Agile Frameworks: SCRUM
Agile Frameworks: SCRUM
As agile is a manifesto of values and principles, different frameworks have arised to apply these values from different perspectives, each one cares about a set of agile aspects, like management aspects, engineering aspects, and delivery aspects.
We can highlight the most important frameworks as follows:
Management Focus framework
Releases Management
Sprints Management
Iterative-time boxed
Daily Startup meetings
Sprint Reviews and approval of the product owner
Retrospectives
Prevent changes during the iteration
Scrum: the team with single objective to achieve, Means : An ordered formation of players
Team Characteristics:
Light-weight
Self-Managed
Cross-Functional
Well-defined roles
Make the team focused on the sprint objectives
Delivery focus
Measures
Velocity
Burn-Up Chart
Burn-Down Chart
Project Planning: Not subject for discussion in Agile
Product Budget planning: Not subject for discussion in Agile
Sprint 0:
Release Planning
Sprint Planning
Sprint Execution
Sprint Review
Sprint Delivery
Sprint Retrospective
Backlog grooming
Life Before Agile:
There were different sizing models, to estimate the size, and the effort accordingly:
FPA (Function point analysis): Build estimation around required functionality, before object oriented analysis phase
UCP (Use case point): Build estimation around resulted use cases
COCOMO & COCOMO II: Cocomo (Constructive Cost Model) is a regression model based on LOC
Delphi: Consensus model
Life In Agile:
You can use the previously mentioned models, but Agile has moved for a new sizing approach called the Poker technique, taken from the Poker cards, which can be described as follows:
Consensus model, as all team members discuss the estimation and approve the approach
Around the reference point: Definition for sizing reference point will be taken to decrease the sizing variance across team members, for example, agreement on the size of login screen, or feedback screen.
Using the Fibonacci series
a series of numbers
Each number ( Fibonacci number ) is the sum of the two preceding numbers. The simplest is the series 1, 1, 2, 3, 5, 8, etc.
Why use this approach?
enable the slicing of the stories
How to make the reference point clear?
Select a Baseline Story: Choose a user story everyone understands well., Example: “Login page with username/password validation” = 3 points.
Document Why It’s the Baseline: Note effort, complexity, and risk, and best approach is to use MDA approach for modeling:
Use cases for the functionality
Sequence diagram that will mention objects and expected operations.
Periodically Recalibrate: If team velocity or size changes, revisit the reference.
Sizing Meeting:
All the team should share the estimation process
Reference Point for sizing take place
Poker Estimation Technique
Poker Card numbers
Zero
Unknown
Setting limits
Discussion mechanism
PO clarify the user story
Discussion takes place between the Upper estimation and the lower estimation
Map Points detailed estimation: For example, 1 point = 2 Days
Estimation using Scrum Poker Application
Download scrum poker application
Use Fibonacci model
Each member pick the estimation according to the reference point, hiding the selected number
The anomalies (Upper and lower estimations) should have a public discussion in order to brainstorm the variance
Re-Estimate again, till having consensus between the team
Best Practice:
Combine techniques depending on project stage:
Early Phase → T-shirt sizing, affinity
Refinement → Story points, poker
Release Planning → Velocity-based forecasting
Agile = flexible, not one-size-fits-all.
Agile come with new approach of requirements modeling, which called user story, the evolution of text-based requirements.
Format
Who: User
What : Requirement
Why : Objective
Good User Story:
Simple and easy to read, from 3-9 steps
No GUI details
No data format
At User goal level
User stories problems:
Difficult to prioritize
Difficult to understand dependency
More smaller makes things worse
No single repository of artifacts like MDA, that represents the final version of the solution from all perspectives.
Upcoming user stories can replace and supersede previous ones
What is? A persona
Persona is a fictional, detailed profile representing a typical user of a product or system. It's based on real user data, behaviors, goals, and pain points.
All requirements are driven from the user persona, using the following pillars:
Functional requirements: from the persona values, problems, and challenges that they need to resolve.
Non-Functional requirements: from the different characteristics:
Expectation of fast service
UX design
Adding Personas to your user stories will enrich your solution requirements, as it focuses on the following areas:
Values:
Goals
Demographics & background
Pain points & needs
Characteristics
User behavior
Environment & usage context
You can classify requirements as follows:
Theme
Initiative
Epic
Story
🧭 1. Theme
Definition: Strategic business objective (broad direction)
Scope: Company-wide vision or transformation goal
Example: "Improve customer digital experience"
🎯 2. Initiative
Definition: High-level investment to achieve part of the theme
Scope: Cross-team or multi-epic objective
Example: "Modernize online payment infrastructure"
🧩 3. Epic
Definition: Large body of work requiring multiple sprints or teams
Scope: Cross-functional development, decomposable into stories
Example: "Implement new payment gateway API"
📋 4. Story (User Story)
Definition: Smallest unit of work delivering user value
Scope: Fits within a single sprint (2–5 days work)
Format: “As a [persona], I want [feature], so that [benefit]”
Example: "As a returning user, I want to save my credit card for faster checkout"
🔁 How it connects in DevOps:
Theme → Initiative → Epic → Story
Stories are implemented via CI/CD pipelines and tracked for metrics like lead time, deployment frequency, and change failure rate.
Example:
Theme: Improve Platform Security
Initiative: Automate Security Compliance
Epic: Integrate SAST (Static Analysis)
Story: Add SAST tool to CI/CD pipeline
Story: Send alerts when vulnerabilities are found
Epic: RBAC Implementation
Story: Define access roles
Story: Audit access logs
✅ Why it matters:
Ensures strategic alignment across all levels
Supports scaling Agile (e.g., SAFe, LeSS)
Enables traceability, prioritization, and continuous delivery
Clear breakdown from vision to execution
Reporting, for example if the user request to review all developed stories regarding e-Payment
User Story Slicing is the practice of breaking down a large user story (epic or complex feature) into smaller, independent, and valuable stories that can be delivered and tested within a single sprint.
The story can’t be completed in a single sprint.
It lacks a clear Definition of Done (DoD).
The team struggles with estimating the effort.
There are dependencies or an unclear scope.
During backlog refinement or PI/Sprint Planning.
Scenario-Based
Persona-Based
Channel-Based
As the classification of DevOps can be as following:
Theme
Initiative
Epic
Story
But still the user story is totally different from the following as in the opposite graph, user story is functional, sprint focus, and cannot be considered as single repoitory of truth.
A recurring Agile meeting to review, refine, prioritize, and clarify items in the product backlog.
Scope:
Clarify backlog items (user stories, bugs, tech tasks)
Break down large items (epics → stories)
Add acceptance criteria
Prioritize based on business value
Estimate effort (if needed)
Remove outdated/irrelevant items
Preparation:
Product Owner prepares a prioritized list of items\
Dev Team reviews items beforehand
Define DoR (Definition of Ready) checklist
Bring previous sprint learnings
Expected Outcomes:
Well-defined, prioritized, and estimated backlog
Stories ready for upcoming sprint planning
Shared understanding across the team
When:
Once per sprint (usually mid-sprint)
Duration: ~30–60 minutes/week (depends on team velocity and backlog size)
Ensures enough ready backlog items for the sprint.
Typically happens 1–2 days before sprint planning.
Involves reviewing priority, estimates, acceptance criteria, dependencies.
Confirms alignment with Sprint Goal.
Checks team capacity and velocity.
Uses Definition of Ready (DoR) as a checklist.
Often includes PO, Scrum Master, Tech Lead.
Helps avoid planning delays or surprises.
improvement, and turnover that may lead to potential failure.
🕓 When? : Day 1 of the Sprint (or last day of the previous Sprint)
👥 Who? Entire Scrum Team:
Product Owner
Scrum Master
Development Team
Testing team
🎯 Purpose : Define what will be delivered and how it will be achieved.
📋 What to Cover? 🔍 Review Sprint Goal
Select stories from prioritized, ready backlog
Break stories into tasks
Estimate task effort (if needed)
Clarify acceptance criteria
Confirm team capacity & velocity
Identify risks or blockers
Finalize commitment
⚙️ Output:
Sprint Goal
Sprint Backlog (stories + tasks)
Team commitment
🚫 Avoid:
Unrefined backlog items
Overcommitting beyond capacity
Ambiguous goals
🕘 When? Every working day — same time, same place
👥 Who?
- Entire Scrum/Dev Team
- (Optional: Scrum Master, Product Owner as observers)
🎯 Purpose : Ensure team alignment, surface blockers, and track progress
📋 Each Member Answers:
🔄 What did I do yesterday?
🎯 What will I do today?
🚧 Are there any blockers?
⚙️ Meeting Rules:
Keep it time-boxed (≤15 min)
Stand up (to encourage brevity)
Focus on team progress, not problem-solving
Discuss blockers after the standup if needed
📝 Output:
Shared team understanding
Blockers identified early
Adjustments made to stay on track
🚫 Avoid:
Diving into technical discussions
Status reporting to a manager
Skipping the meeting or multitasking
🕓 When? At the end of the Sprint (before Retrospective)
👥 Who?
Scrum Team
Product Owner
Stakeholders (business, users, sponsors)
Testing team
🎯 Purpose
Demonstrate what was done
Collect feedback
Adapt the Product Backlog
📋 What to Cover?
Review Sprint Goal achievement
Live demo of Done stories
Discuss metrics (velocity, burndown)
Get stakeholder input
Review market/roadmap changes
Identify new backlog items
⚙️ Output:
Updated Product Backlog
Adjusted roadmap or priorities
Shared understanding of product state
🚫 Avoid:
Treating it like a status meeting
Demoing incomplete work
Ignoring stakeholder questions
The most important meeting from an enterprise perspective in agile is the Retrospective. It is used for :
improving the overall process
Resolving internal communication issues between the team
Resolving external communication issues with customers
Resolving staff issues within the enterprise and resolving cultural issues
Without this meeting and real corrective actions, Enterprise will expect zero growth, zero improvement, and turnover that may lead to potential failure.
Real cases:
Workload distribution is not fair:
Govern distribution according to capabilities, and make proper handover for business
The team exerts more effort to overcome sprint goals and deliver
having a concrete overtime and bonus policy
Dependencies are not considered between SQUADs
Sprint grooming meeting should highlight all dependencies
Once detected, to be shared with relevant SQUADs
Involve management for support
Weekly alignment meeting across SME/TL team members
Dr. Ghoniem Lawaty
Tech Evangelist