A comprehensive framework for building, delivering, and iterating on products through collaborative teamwork and continuous improvement
This agile workflow is a lightweight framework based on Scrum, Kanban and DevOps principles that helps product teams work together to deliver valuable products iteratively. It encourages teams to learn through experiences, self-organize while working on problems, and reflect on their wins and losses to continuously improve.
In an agile team, there are different responsibilities to facilitate the flow of a sprint. Those roles aren't job titles but rather roles that need to be filled by members of the team. In some cases a single team member can fill in multiple roles depending on the team needs.
Maximizes the value of the product by managing the Product Backlog, ensuring the team works on the most valuable items, and representing stakeholder interests.
Serves the team by facilitating team events, removing impediments, and coaching the team on agile practices and principles to improve effectiveness.
Self-organizing professionals who do the actual work of delivering a potentially shippable product increment at the end of each Sprint.
High performing teams communicate effectively and efficiently, and the following ceremonies are meant to help teams communicate effectively, build common understanding and tackle problems efficiently.
The team discusses epics and stories, breaks them down into manageable pieces, estimates effort, and marks items as ready for the upcoming sprint.
The team selects user stories from the refined backlog for the upcoming 2-week sprint and commits to delivering them.
A daily standup where team members synchronize activities and create a plan for the next 24 hours. Everyone shares progress and obstacles.
The team demonstrates completed work, reviews sprint metrics, and discusses DORA metrics to measure delivery performance and identify improvements.
The team reflects on the past sprint and identifies improvements for processes, relationships, and tools used during the sprint.
A Sprint or Cycle is a repeatable time box where the team picks up and work on work items.
Hover over each step to see its description
An ordered list of everything that is known to be needed in the product. It's dynamic, constantly changing to identify what the product needs to be competitive and useful.
The set of Product Backlog items selected for the Sprint, plus a plan for delivering them. It's a highly visible, real-time picture of the work the team plans to accomplish.
The sum of all Product Backlog items completed during a Sprint, combined with all previous Sprints. It must be in a useable condition regardless of whether the Product Owner decides to release it.
Effective work item creation is crucial for clear communication and successful sprint execution. Each level serves a specific purpose in the product development hierarchy.
A large body of work that can be broken down into smaller stories. Epics typically span multiple sprints and represent significant features, initiatives, or technical improvements.
A small, deliverable piece of functionality that delivers value. Stories should be completable within a single sprint and can represent both user-facing features and technical work.
Technical work items that break down a story into actionable steps. Tasks represent the "how" of implementing a story.
Very small, specific pieces of work that break down a task further. Used when a task needs additional detail or tracking.
Product Requirement Documents (PRDs) and Requests for Comments (RFCs) are essential tools for aligning teams, documenting decisions, and ensuring quality in product and technical development.
A comprehensive document that defines the product requirements, user needs, success metrics, and scope for a feature or initiative. PRDs are typically written before development begins and serve as the source of truth for what will be built.
Background, problem statement, and goals
Target users and their use cases
Functional and non-functional requirements
KPIs and measurement criteria
Visual representation of the solution
What will NOT be included
Key milestones and blockers
A technical design document that proposes a solution, architecture, or approach for solving a problem. RFCs invite feedback and discussion from the team before implementation, promoting collaborative decision-making and knowledge sharing.
High-level overview in 2-3 sentences
What problem are we solving and why
Detailed technical approach
Other options considered and why not chosen
Downsides and mitigation strategies
Rollout strategy and phases
Areas where feedback is specifically needed
Tip: Many initiatives benefit from both a PRD (defining requirements) and an RFC (defining technical approach)
Measuring the right metrics helps teams identify opportunities for improvement, track progress, and make data-driven decisions. These metrics provide visibility into delivery speed, quality, and flow efficiency to drive continuous improvement.
DORA (DevOps Research and Assessment) metrics are four key measures that indicate the performance of software delivery teams. Research shows these metrics are strong predictors of organizational performance.
How often does your team deploy code to production?
How long does it take from code commit to code running in production?
What percentage of deployments cause a failure in production requiring hotfix or rollback?
How long does it take to recover from a failure in production?
Theory of Constraints (ToC) focuses on identifying and managing the bottleneck (constraint) in your system. The constraint determines the maximum throughput of your entire delivery process.
The rate at which the system generates value (e.g., completed stories per sprint, features shipped per month).
The number of items currently being worked on. High WIP often indicates a constraint or bottleneck.
How effectively is the bottleneck being used? Any idle time at the constraint wastes total system capacity.
Kanban metrics focus on flow efficiency and predictability. They help teams understand how work moves through their system and identify opportunities for improvement.
The total time from when work starts until it's completed and delivered. This is your primary measure of speed.
The total time from when a request is made until it's delivered. Includes time waiting to start.
The number of items actively being worked on. Lower WIP typically leads to faster cycle times.
The number of items completed per unit of time. Measure of delivery rate.
The percentage of time work is actively being worked on vs. waiting. Most teams have 10-20% flow efficiency.
How much time items spend blocked or waiting on external dependencies.
Sprint metrics help teams plan capacity, track delivery consistency, and improve estimation accuracy. These metrics support velocity-based planning and predictable delivery.
The average number of story points completed per sprint. Used for capacity planning and forecasting.
Comparison between story points committed at sprint planning vs actually completed by sprint end.
Percentage of sprints where the sprint goal was achieved, regardless of all stories being completed.
Breakdown of completed stories by size (e.g., 1, 2, 3, 5, 8, 13 points).
Number of stories added or removed mid-sprint after planning.
How closely actual effort matches estimated story points over time.
Visual chart showing remaining work (story points) throughout the sprint.
Use Sprint metrics (velocity, commitment) to plan realistic sprint commitments based on team capacity and historical performance.
Use Kanban metrics to understand your delivery flow, identify where work gets stuck, and establish baseline cycle times.
Apply Theory of Constraints thinking to identify your bottleneck and focus improvement efforts where they'll have the most impact.
Track DORA metrics to measure overall DevOps performance and ensure process improvements translate to better delivery outcomes.
Review all metrics regularly in retrospectives. Use data to drive experiments and validate that changes actually improve performance.
Remember: Metrics are tools for learning and improvement, not goals in themselves. Focus on trends and continuous improvement rather than hitting specific numbers. Never use velocity or story points to compare teams or measure individual performance.