Agile L1 Fundamentals
Agile L1 Fundamentals
Day 1 Video 1
VUCA
Volatile
Uncertain
Complex
Ambiguous
Traditional Methodologies
Waterfall Method
Spiral Method
Iterative Development
V-Model
• Implement everything
Thought?
Agility
Being agile than doing agile.
Origin
Defined on February 11-13, 2001, at Snowbird ski resort in the Wasatch mountains of Utah by seventeen
people "The Agile Alliance," this group of independent thinkers about software development, and
sometimes competitors to each other, agreed on the Manifesto for Agile Software.
Agile Manifesto
A minimum viable product, or MVP, is a product with enough features to attract early-adopter
customers and validate a product idea early in the product development cycle.
12 Agile Principles
1. Satisfy the Customer
Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
2. Welcome Change
Welcome changing requirements even late in development. Agile processes harness change for
the customer's competitive advantage.
3. Deliver Frequently
Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Work Together
Business people and developers must work together daily throughout the project.
5. Trust $ Support
Build projects around motivated individuals. Give them the environment and support they need
and trust them to get the job done.
6. Face-to-face Conversation
The most efficient effective method of conveying information to and within a development
team is face-to—face conversation.
7. Working Software
Working software is the primary measure of progress.
8. Sustainable Development
Agile processes promote sustainable development. The sponsors, developers, and users should
be able to maintain a constant pace indefinitely.
9. Continuous Attention
Continuous attention to technical excellence and good design enhances agility.
3Ps
People
Process
Product
Day 1 Video 2
Basics of Agile
What is Agile?
Agile is a time boxed, iterative approach to software delivery that builds working software
incrementally from the start of the project, instead of trying to deliver it all at once near the end.
It works by breaking the projects down into little bits of user functionality called user stories, prioritizing
them, and then continuously delivering them in short 2-week cycles called iterations.
Agile Umbrella ☂
Advantage of Agile
Speed to Market
Risk Management
Quality
Right Product
Flexibility
Cost Control
Transparency
What Agile is not
• A silver bullet — benefits take dedication and efforts to achieve
• An undisciplined framework
• Not a lack of documentation or planning
• Not an excuse for missing dates
• Not an opportunity to blame others
• Not "unpredictable"
• Not 'change every day' — while embracing change, Agile does not allow change during sprints
Day 1 Video 2
Basics of Scrum
as in Rugby, the ball gets passed within the team as it moves as unit field
Scrum
• Sprints provide stability to address the ever-changing needs that occur in every project
5 Scrum Values
Courage:
Team members know they have the to work through conflict and challenges together,
so that they can do the right thing.
Commitment:
Team members individually commit to achieving their team goals, each and every sprint
Focus:
Team members Focus exclusively on their team goals and the Sprint backlog; there should be no work
done other than through their backlog
Respect.
Team members respect each other to be technically capable and to work with good intent.
Openness:
Team members and their stakeholders agree to be transparent about their work and any challenges that
they face
Scrum Process
Day 2 Video 1
I. PRODUCT OWNER
Gathering requirements from business owners or stake holders or some time from his/ her own
expectations
Break large requirements into small functionalities in the form of user stories. Subsequently these
functionalities are added to a place which is called Product Backlog.
Make the development team understand the requirement and expectation of each user story in priority
Product Owner has the authority to accept or reject the story completion, keeping DOD as rule
book. He/ She continuously work together with the team during each sprint, and provide feedbacks
by accepting or rejecting user stories when development team mark it as developed and tested.
If he/ she realize the committed user stories will not add any value increment to the specific sprint goal.
Is not the person for whom the Scrum Team develops the Product
The role of a Scrum Master is to protect the Agile Processes, maintain the discipline by ensuring the
team follows the best practices of agile and maximize the value increment.
Development Team is a group of skilled resources, capable to analyze the requirements, make design
and develop it. This team is also capable of testing the developed code and mark it ready for review.
Product Owner Manages vision and ROI; defines and The person responsible must be able
prioritizes the features. Responsible to set the product vision and make
for the Backlog and ROI. business decisions about the product
Scrum Master Facilitates the Scrum Team, removes Could be anyone (Not an authority
promotes environment role). Person must be able to facilitate
the without getting bogged down in
work
Day 2 Video 2
Sprint Ceremonies
Sprint Planning Meeting
Daily Stand-Up
Sprint Review Meeting
Sprint Retrospective Meeting
Backlog Write User Stories, to Schedule Refinement Go through the raw story
Refinement meet DOR Meetings for upcoming stories to be
(Before) refined
Prioritize User Story Make sure the team is
aware of stories in priority Make doubts and
to be groomed questions ready to be
clarified
Backlog Explain user story one by Facilitate the Refinement Understand the
Refinement one as per the priority. requirement of the user
(During) Marked the stories status stories
Clarify all doubts and as groomed/ ready
questions from Identify the dependencies,
Development Team Facilitate Planning Poker - risk, complexity and
if estimating amount of work
Backlog Update the stories if any Circulate the Refinement May work on a tech spike
Refinement identified as not meeting outcome to all if created during grooming
(After) DOR
Calculate backlog health
Resolve open doubts if any and circulate resolve
identified during dependencies, risk if any
grooming. identified during
Refinement
S - Should have this requirement, if possible, but project success does not rely on it
C - Could have this requirement if it does not affect anything else on the project
W - Would like to have this requirement later, but delivery won't be this time around
Outcome of Backlog Grooming
Increased Efficiency
Day 2 Video 3
For Sprint
• Capacity Planning completed for sprint
• Sprint Backlog Identified and committed from the groomed product backlog
• Story DOR should be complete for all the stories identified for the sprint
• Dependencies across other teams are identified and the dependent stories are committed to the same
sprint or are already done.
• All the development, testing (manual / automation), spikes, grooming tasks are created.
Sprint Goal
What is Sprint Goal
Sprint Goal is a target or objective for a sprint. Which can be achieved by implementing set of
functionalities (PBI, User Stories, Bug Fixing etc.). The development team and Product Owner negotiate
and collaboratively set up a goal for a specific sprint or iteration. The goals are better to be measurable.
The selection of the Sprint backlog item from Product Backlog depends upon the goal. Sprint goal should
be short, 2 to 3 sentences.
Benefits
The business sponsor or stakeholders, prefer to get a vision from a birds eye view, rather than details
story level information. The sprint goal is always better to highlight what the team is doing. And, at top
level, if they are managing multiple teams, 2-to-3-line summary from each team is a useful information
The team commit to a goal and associated PBls, that helps the team to execute the sprint with a specific
vision.
Importance
During sprint review Product Owner, or stakeholders, verify the product increment by comparing the
goal
and how much is achieved. That defines the success of the sprint.
Example
• Implement the login screen functionality
•Implement the functionality to enable credit card payment on shopping cart
Role wise responsibilities in Sprint Planning Meeting
Identify or provide
resolution, update on any
NOT Demonstration to PO
NOT Story Acceptance Meeting
Sprint Review Introduce team and Facilitate the review and Demonstrate the stories
(During) stakeholders demo completed, keeping
acceptance criteria in
Highlight scope of demo mind.
This meeting does not have a strict time boundary. You need to optimize the usage of the time, focus on
the primary agenda of the meeting and to inspect and adapt.
• Gather opinion of good and bad practices from the participants
• Rearranging, voting, group brainstorming on the retrospective points
• Prepare action items to improve your practice
• Optionally you can play some agile games, quiz etc. to build team moral and bonding
Average Time
Mature Team - 1 Hour
New Team - 2 Hours
Role wise responsibilities in Sprint Retrospective meeting
Action items
Inspect & Adapt
Improve Team Collaboration
Reduce gaps between Developer & Customer
Fun Activities Improve Team Bonding & Motivation
Day 3 Video 2
Introduction to User Story & Artifacts at the End of the Sprint
Burndown chart
The visual representation of the completed story points vs the pending story points against the original
plan
User stories provide the right size for planning. Methods like release or sprint burndown and Kanban
boards assist the team to track progress.
Stories include acceptance criteria which helps in ensuring adequate test coverage and reduced rework.
Acceptance criteria ensures the expectations are clear to the developer even before they start coding.
Focus on value makes it easy to prioritize and re-order the product backlog.
Agile development has time-boxed iterations/ sprints and in case of a small portion of the scope
pending, the sprint is not held up and the team is able to deliver completed stories which deliver value
meaningful to business.
3C
Card
Conversation/Composition
Confirmation
The Acceptance criteria is very crucial for a user story to use in unit testing, QA and story acceptance by
product owner or stake holders.
Characteristics of User Story (INVEST)
Independent - The story should be self-contained, in a way so that there are no inherent dependencies
on another story
Negotiable - User stories are not explicit contracts, and should leave space for discussion
Estimable - You must be able to estimate the user story, once it is ready and groomed
Small - User story should not be so big that it becomes impossible to plan, task out, prioritize with
certainty
Testable - The user story and its related description must provide the necessary information to make
test-driven development possible
Relevant – Expectation should be related to the requirement, or the description of the story
Time Bound – Specific when the result can be achieved. Should have a specific duration or event
Who Can Write or Update User Story?
Three stories having story point 1, 2, and 3 is equivalent to having the story points as 10, 20, 30.
However the industry standard and to keep the practice uniform within the team, organization, or even
in the agile
world we use the points in Fibonacci Series, i.e., 1, 2, 3, 5, 8. Fibonacci series numbers have relative
difference with each other to give a Virtual Difference on your estimation.
Where story point 1 means very easy development with no risk, complexity, dependencies whereas
story point 13 means significant amount of complexity, possibilities of risk or dependencies Any story
appears to be more than 13 points we strongly recommend breaking the story in small stories.
Relative Sizing
As mentioned earlier, we do a relative sizing to bucket the user story with story point. To understand
why relative sizing is easy, refer the picture
From this picture, it’s very hard to measure the exact difference between the amount of water each
container can contain.
But it’s very easy to measure which container can contain more water and which container can contain
less. That's relative difference in size, that is what we do to measure story points.
Story Point Vs. T-Shirt Sizing
During estimation we need to think about $11 its aspects, i.e., Complexity, Risk, Dependency, Amount of
Work in development and testing etc.
Then we take a judgement of its overall size to assign a story point. It may sound complicated in the
beginning, but once you will start doing it, you will find it’s a fun and exciting exercise to do an
estimation.
To correlate your imagination to assign a story point to a user story. Categorize the size bucket as T-Shirt
size and map a story point from the Fibonacci series with that.
But we need to keep in mind each story has to be potentially shippable. We should not break a story on
the basis of its task like development in one story and testing in another story.
Breaking a story means splitting of an expected functionality by two independent smaller functionalities.
Higher the points means an increase in the uncertainty of its completion in time, because it has bigger
risk dependencies, and other unknown facts.
Story Point Estimation Technique
Capacity Utilization
Number of story points committed versus the available capacity (in days)
Team/Overall Productivity
Effort taken to deliver a story point
QC Defect density
Total number of QC defects detected during sprint for every story point completed (Sprint wise and
Cumulative)
Commitment Reliability
Total number of story points committed vs. completed
Scope Change
Items added from the backlog or removed from the sprint scope during the sprint
Backlog Health
Total Story Points available in the Product Backlog compared with Average Velocity
Day 4 Video 2
Introduction to Kanban
What is Kanban?
Kanban is a method for managing the creation of products with an emphasis on continual delivery while
not overburdening the development team. Like Scrum, Kanban is a process designed to help teams
work together mere effectively.
It’s a method to visualize the flow of work, in order to balance demand with available capacity and spot
bottlenecks
Kanban Principles
Kanban promotes continuous collaboration and encourages active, ongoing learning and
improving by defining the best possible team workflow
Enhance Flow - When something is finished, the next highest thing from the backlog is pulled into play
WIP - Limit the amount of work in progress
Visualize Workflow - Visualize what you do today
Kanban Metrics
Response Time
The Response Time is the amount of time between the requested, and the team has started working on
it.
Cycle Time
The Cycle Time is the amount of time that the team spent actually working on the item (without the
time that the task spent waiting on the board). Therefore, the Cycle Time should start being measured,
when the item task enters the "Working" column, not earlier.
Resolution Time
The Resolution Time is the time from the moment when the request was made by a client and placed on
a board to when all work on this item is completed and the request was delivered to the client. So, it's
the total time the end user is waiting for an item to be delivered.
Throughput
Throughput is the amount of work items delivered in a given period of time, i.e., Week, Month, Quarter.
Understand Kanban – Scrum vs. Kanban
Scrum Kanban
Cadence & Delivery Regular time box in sprints Continuous Flow
Roles Scrum Master, PO, Dev Team No defined role except the
development team. May be an
Agile Coach
Change Mechanism Scope planned at sprint Changes can be made any time
planning; no changes allowed
mid sprint
Why SAFe?
• Agile was a major step towards enabling a fundamental shift in work culture and behaviors, providing
a rapid feedback loop (fail fast, succeed faster) between the drivers of business requirements and
developers transforming them into solutions
• Agile was developed for small teams and, by itself, does not scale to the needs of the larger enterprise
(employees in an enterprise running 10, 20, or even hundreds of teams aligning with each other, the
customer, and the greater vision of the business)
• SAFe marries the iterative development practices of Agile with the mindset of Lean manufacturing and
the power of Devops. Lean thinking aims to use fewer resources and eliminate waste to maximize
customer value. SAFe combined with Lean enables organizations to scale the benefits of Lean and Agile
throughout every level of the organization, creating efficiencies, and linking strategy to execution.
Alignment - SAFe requires that companies put planning and reflection cadences in place at all levels of
the organization. With these in place, everyone understands the current state of the business, the goals,
and how everyone should move together to achieve those goals. By synchronizing and activities
regularly, all levels of the portfolio stay in alignment. Information flows both upward and downward in a
timely fashion, unlike traditional top-down, command and control
Transparency - SAFe trust-building behavior, including planning work in smaller batch sizes so
problems can be surfaced sooner, providing real-time visibility into backlog progress across levels, and
inspect and adapt rituals.
Built-in quality - In the SAFe framework, agility should never come at the cost of quality. SAFe requires
teams at all levels to define what "done" means for each task or project and to bake quality
development practices into every working agreement. According to SAFe, there are five key dimensions
of built-in quality: flow, architecture and design quality, code quality, system quality, and release quality.
Program execution - execution is the heart of SAFe and powers everything else in the framework. Teams
and must be able to deliver quality, working software and business value on a regular basis
SAFe Lean Agile Principles