SlideShare a Scribd company logo
1 of 28
Agile Software Development
Session 2
Requirements and User Stories
 Scrum views requirements as an important degree of
freedom that we can manipulate to meet our business
goals.
 In Scrum, the details of a requirement are negotiated
through conversations that happen continuously during
development and are fleshed out just in time and just
enough for the teams to start building functionality to
support that requirement.
 If we are running out of time or money, we can drop low-
value requirements. If, during development, new
information indicates that the cost/benefit ratio of a
requirement has become significantly less favorable, we
can choose to drop the requirement from the product. If a
new high-value requirement emerges, we have the ability
to add it to the product, perhaps discarding a lower-value
requirement to make room.
 Instead of compiling a large inventory of detailed requirements up
front, we create placeholders for the requirements, called product
backlog items (PBIs). Each product backlog item represents
desirable business value.
 Progressive Refinement:
 Not all requirements have to be at the same level of detail
at the same time. Requirements that we’ll work on sooner
will be more detailed than ones sometimes later. We
employ a strategy of progressive refinement to divide
large, lightly detailed requirements into a set of smaller,
more detailed items, in a just-in-time fashion.
User Stories
Specify a class of users (the user role),
what that class of users wants to achieve (the goal),
and why the users want to achieve the goal (the benefit).
The “so that” part of a user story is optional only if very
obvious.
The user story is simply a promise to have that conversation that is
typically not a one-time event, but rather an ongoing dialogue.
The conversations are when the user story is 1- written, 2- refined,
3- estimated, 4- during sprint planning , 5- designed, built, and
tested during the sprint.
They enable exchanging information and collaborating to ensure
that the correct requirements are understood by everyone.
May lead to a UI sketch.
To capture and communicate, from the product
owner’s perspective, how to determine if the story
has been implemented correctly.
To create initial stories and refine them as more
details become known.
This approach is sometimes called specification by
example or acceptance-test-driven development
(ATTD).
three Cs: card, conversation, and confirmation.
INVEST in good user stories
INVEST
Independent
Negotiable
Valuable
Estimable
Small
Testable
1. Independent
the goal is not to
eliminate all
dependencies, but
instead to write
stories in a way
that minimizes
dependencies.
not so bad high degree of
interdependence
2. Negotiable
Stories are not a written contract in the form of an
up-front requirements document. Instead, stories
are placeholders for the conversations where the
details will be negotiated.
This negotiability helps everyone involved avoid
the “us-versus-them”, finger pointing mentality
that is commonplace with detailed up-front
requirements documents.
3. Valuable
Stories need to be valuable to a customer, user, or both. How
about stories that are valuable to the developers but aren’t of
value to the customers or users?
For a technical story, the product owner should understand why
he is paying for it and therefore what value it will ultimately
deliver. By understanding the value, the product owner can
treat the technical story like any other business-valuable
story and make informed trade-offs.
4. Estimable
Estimates provide an indication of the size and therefore the
effort and cost of the stories.
The product owner, needs to know the cost of a story to
determine its final priority in the product backlog.
The Scrum team, can determine from the size of the story
whether additional refinement or disaggregation is required.
If the team is not able to size a story, the story is either
1. Too big or ambiguous to be sized. The team will need to
work with the product owner to break it into more
manageable stories.
or
2. The team does not have enough knowledge to estimate a
size. Some form of exploratory activity will be needed to
acquire the information.
5. Sized Appropriately (Small)
If we have a two-week sprint, it is risky to work on a two-
week-size story, because of the high risk of not finishing the
story.
Having an epic-size story that is not planned to work on for
now, spending time today breaking that epic down into a
collection of smaller stories is a complete waste of our time. If
it is planned to work on it in the next sprint, and it is not
sized appropriately, then we have more work to do to bring it
down to size.
6. Testable
means having good acceptance criteria (related to the
conditions of satisfaction) associated with the story, which is
the “confirmation” aspect of a user story. They either pass or
fail their associated tests.
Good Product Backlog DEEP Characteristics
DEEP
Detailed
appropriately
Emergent
Estimated
Prioritized
1. Detailed Appropriately
Getting closer to working on a
larger PBI (an epic) break it down
into a collection of smaller, sprint-
ready stories in a just-in-time
fashion.
Refining too early, might lead to
spend a good deal of time figuring
out the details, and ends up to
never implementing the story.
On the other hand, waiting too long
will impact negatively the flow of
PBIs into the sprint and slow the
team down.
We need to find the proper balance
of just enough and just in time.
2. Emergent
As long as there is a product being developed or maintained,
the product backlog is never complete or frozen. Instead, it is
continuously updated based on a stream of economically
valuable information that is constantly arriving. For
example, customers might change their mind about what
they want; competitors might make bold, unpredictable
moves; or unforeseen technical problems might arise.
The product backlog is designed to adapt to these
occurrences.
The structure of the product backlog is therefore constantly
emerging over time. As new items are added or existing
items are refined, the product owner must rebalance and
reprioritize the product backlog, taking the new information
into account.
3. Estimated
These size estimates need to be
reasonably accurate without being
overly precise.
It may not be possible to provide
numerically accurate estimates for
larger items (like epics) located
near the bottom of the backlog, so
some teams might choose to not
estimate them at all, or to use T-
shirt-size estimates (L, XL, XXL,
etc.). As these larger items are
refined into a set of smaller items,
each of the smaller items would
then be estimated with
numbers(smaller, more accurate
size estimates).
4. Prioritized
It is useful to
prioritize the
near-term items
that are destined
for the next few
sprints up to a
complete release.
Grooming
 Grooming refers to a
set of three principal
activities:
1. Creating and refining
(adding details to)
PBIs
2. Estimating PBIs
3. Prioritizing PBIs
Definition of Ready
 Grooming the product backlog should ensure that items at the top of the
backlog are ready to be moved into a sprint so that the development team
can confidently commit and complete them by the end of a sprint.
Definition of Ready
 Business value is clearly articulated.
 Details are sufficiently understood by the development team so it can make an
informed decision as to whether it can complete the PBI.
 Dependencies are identified and no external dependencies would block the PBI
from being completed
 Team is staffed appropriately to complete the PBI.
 The PBI is estimated and small enough to comfortably be completed in one
sprint.
 Acceptance criteria are clear and testable.
 Performance criteria, if any, are defined and testable.
 Scrum team understands how to demonstrate the PBI at the sprint review.
Sprints
Definition of Done
 The result of each sprint should be a
potentially shippable product
increment. “Potentially shippable”
doesn’t mean that what was built must
actually be shipped. Shipping is a
business decision; in some
organizations it may not make sense to
ship at the end of every sprint.
Potentially shippable is better thought
of as a state of confidence that what got
built in the sprint is actually done. The
Scrum team must have a well-defined,
agreed-upon definition of done.
 The specific items on the checklist will
depend on a number of variables:
 The nature of the product being
built
 The technologies being used to build
it
 The organization that is building it
 The current impediments that affect
what is possible
Definition of Done
 Design reviewed






Code completed
Code refactored
Code in standard format
Code is commented
Code checked in
Code inspected
 End-user documentation updated






Tested
Unit tested
Integration tested
Regression tested
Platform tested
Language tested
 Zero known defects
 Acceptance tested
 Live on production servers
Definition of Done VS Acceptance Criteria
 The definition of done applies to the product increment being
developed during the sprint. The product increment is composed of a
set of product backlog items, so each backlog item must be
completed in conformance with the work specified by the definition-
of-done checklist.
 Each product backlog item that is brought into the sprint should
have a set of conditions of satisfaction, specified by the product
owner. These acceptance criteria eventually will be verified in
acceptance tests that the product owner will confirm to determine if
the backlog item functions as desired. These item-specific criteria are
in addition to, not in lieu of, the done criteria specified by the
definition-of-done checklist, which apply to all product backlog
items.
 A product backlog item can be considered done only when both the
item-specific acceptance criteria and the sprint level definition-of-
done items have been met.
 If it is confusing to refer to product backlog items that pass their
acceptance criteria as done, call them completed or accepted.
Sprint Planning
Capacity
 The first sprint
planning activity.
 Knowledge of
capacity guides the
Scrum team in
determining what
it can deliver.
Sprint Execution
Helpful Links:
 Scrum Training Series
http://scrumtrainingseries.com/

More Related Content

What's hot

Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature pointsMadhur Kathuria
 
Test strategy
Test strategyTest strategy
Test strategyadarsh j
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The IterationRally Software
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Agile fixed-price-slide share
Agile fixed-price-slide shareAgile fixed-price-slide share
Agile fixed-price-slide shareKurush Wadia
 
Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»Lviv Startup Club
 
Getting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog GroomingGetting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog GroomingEasy Agile
 
Continuous integration in large programs
Continuous integration in large programsContinuous integration in large programs
Continuous integration in large programsNaveen Kumar Singh
 
Scrum presentation jyoti
Scrum presentation jyotiScrum presentation jyoti
Scrum presentation jyotijbhanda1
 
How much will this cost?
How much will this cost?How much will this cost?
How much will this cost?Evan Leybourn
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
How to successfully execute fixed price agile projects
How to successfully execute fixed price agile projectsHow to successfully execute fixed price agile projects
How to successfully execute fixed price agile projectsKaty Slemon
 
The Development Games
The Development GamesThe Development Games
The Development GamesSagar More
 

What's hot (20)

Product backlog
Product backlogProduct backlog
Product backlog
 
Release planning using feature points
Release planning using feature pointsRelease planning using feature points
Release planning using feature points
 
Test strategy
Test strategyTest strategy
Test strategy
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The Iteration
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Agile fixed-price-slide share
Agile fixed-price-slide shareAgile fixed-price-slide share
Agile fixed-price-slide share
 
Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»Олександр Твердохліб «How to make a user story done»
Олександр Твердохліб «How to make a user story done»
 
Getting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog GroomingGetting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog Grooming
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
Continuous integration in large programs
Continuous integration in large programsContinuous integration in large programs
Continuous integration in large programs
 
Scrum presentation jyoti
Scrum presentation jyotiScrum presentation jyoti
Scrum presentation jyoti
 
How much will this cost?
How much will this cost?How much will this cost?
How much will this cost?
 
Scrum it up!
Scrum it up!Scrum it up!
Scrum it up!
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
Agile Release & Iteration Planning
Agile Release & Iteration Planning   Agile Release & Iteration Planning
Agile Release & Iteration Planning
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
How to successfully execute fixed price agile projects
How to successfully execute fixed price agile projectsHow to successfully execute fixed price agile projects
How to successfully execute fixed price agile projects
 
The Development Games
The Development GamesThe Development Games
The Development Games
 
Agile Metrics V6
Agile Metrics V6Agile Metrics V6
Agile Metrics V6
 

Similar to Agile Software Development - Session 2

Single Point Continuous Flo1
Single Point Continuous Flo1Single Point Continuous Flo1
Single Point Continuous Flo1Charles Cooper
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Harold van Heeringen
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to ScrumPavel Dabrytski
 
Backlog Refinement 101 & 202
Backlog Refinement 101 & 202Backlog Refinement 101 & 202
Backlog Refinement 101 & 202David Hanson
 
User Story Prioritization Technique.pptx
User Story Prioritization Technique.pptxUser Story Prioritization Technique.pptx
User Story Prioritization Technique.pptxKnoldus Inc.
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesVikash Karuna
 
5 Lessons Learned in Product Management by Twitch Senior PM
5 Lessons Learned in Product Management by Twitch Senior PM5 Lessons Learned in Product Management by Twitch Senior PM
5 Lessons Learned in Product Management by Twitch Senior PMProduct School
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1Dalia Ayman Ahmed
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile developmentRajat Samal
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationChef
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for managementIcalia Labs
 
An Agile Twist: Fixed-Bid Pricing
An Agile Twist: Fixed-Bid PricingAn Agile Twist: Fixed-Bid Pricing
An Agile Twist: Fixed-Bid PricingCognizant
 

Similar to Agile Software Development - Session 2 (20)

Single Point Continuous Flo1
Single Point Continuous Flo1Single Point Continuous Flo1
Single Point Continuous Flo1
 
Scrum - Product Backlog
Scrum - Product BacklogScrum - Product Backlog
Scrum - Product Backlog
 
Po session
Po sessionPo session
Po session
 
BAAgileQA
BAAgileQABAAgileQA
BAAgileQA
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to Scrum
 
Backlog Refinement 101 & 202
Backlog Refinement 101 & 202Backlog Refinement 101 & 202
Backlog Refinement 101 & 202
 
User Story Prioritization Technique.pptx
User Story Prioritization Technique.pptxUser Story Prioritization Technique.pptx
User Story Prioritization Technique.pptx
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization Techniques
 
5 Lessons Learned in Product Management by Twitch Senior PM
5 Lessons Learned in Product Management by Twitch Senior PM5 Lessons Learned in Product Management by Twitch Senior PM
5 Lessons Learned in Product Management by Twitch Senior PM
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1
 
Gears agile
Gears agileGears agile
Gears agile
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
 
Agile planning and estimating
Agile planning and estimatingAgile planning and estimating
Agile planning and estimating
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 
An Agile Twist: Fixed-Bid Pricing
An Agile Twist: Fixed-Bid PricingAn Agile Twist: Fixed-Bid Pricing
An Agile Twist: Fixed-Bid Pricing
 
Testers in an agile world
Testers in an agile worldTesters in an agile world
Testers in an agile world
 
Treinamento Scrum - English
Treinamento Scrum - EnglishTreinamento Scrum - English
Treinamento Scrum - English
 
agile_flow
agile_flowagile_flow
agile_flow
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Agile Software Development - Session 2

  • 2. Requirements and User Stories  Scrum views requirements as an important degree of freedom that we can manipulate to meet our business goals.  In Scrum, the details of a requirement are negotiated through conversations that happen continuously during development and are fleshed out just in time and just enough for the teams to start building functionality to support that requirement.  If we are running out of time or money, we can drop low- value requirements. If, during development, new information indicates that the cost/benefit ratio of a requirement has become significantly less favorable, we can choose to drop the requirement from the product. If a new high-value requirement emerges, we have the ability to add it to the product, perhaps discarding a lower-value requirement to make room.
  • 3.  Instead of compiling a large inventory of detailed requirements up front, we create placeholders for the requirements, called product backlog items (PBIs). Each product backlog item represents desirable business value.
  • 4.  Progressive Refinement:  Not all requirements have to be at the same level of detail at the same time. Requirements that we’ll work on sooner will be more detailed than ones sometimes later. We employ a strategy of progressive refinement to divide large, lightly detailed requirements into a set of smaller, more detailed items, in a just-in-time fashion.
  • 5. User Stories Specify a class of users (the user role), what that class of users wants to achieve (the goal), and why the users want to achieve the goal (the benefit). The “so that” part of a user story is optional only if very obvious. The user story is simply a promise to have that conversation that is typically not a one-time event, but rather an ongoing dialogue. The conversations are when the user story is 1- written, 2- refined, 3- estimated, 4- during sprint planning , 5- designed, built, and tested during the sprint. They enable exchanging information and collaborating to ensure that the correct requirements are understood by everyone. May lead to a UI sketch. To capture and communicate, from the product owner’s perspective, how to determine if the story has been implemented correctly. To create initial stories and refine them as more details become known. This approach is sometimes called specification by example or acceptance-test-driven development (ATTD). three Cs: card, conversation, and confirmation.
  • 6. INVEST in good user stories INVEST Independent Negotiable Valuable Estimable Small Testable
  • 7. 1. Independent the goal is not to eliminate all dependencies, but instead to write stories in a way that minimizes dependencies. not so bad high degree of interdependence
  • 8. 2. Negotiable Stories are not a written contract in the form of an up-front requirements document. Instead, stories are placeholders for the conversations where the details will be negotiated. This negotiability helps everyone involved avoid the “us-versus-them”, finger pointing mentality that is commonplace with detailed up-front requirements documents.
  • 9. 3. Valuable Stories need to be valuable to a customer, user, or both. How about stories that are valuable to the developers but aren’t of value to the customers or users? For a technical story, the product owner should understand why he is paying for it and therefore what value it will ultimately deliver. By understanding the value, the product owner can treat the technical story like any other business-valuable story and make informed trade-offs.
  • 10. 4. Estimable Estimates provide an indication of the size and therefore the effort and cost of the stories. The product owner, needs to know the cost of a story to determine its final priority in the product backlog. The Scrum team, can determine from the size of the story whether additional refinement or disaggregation is required. If the team is not able to size a story, the story is either 1. Too big or ambiguous to be sized. The team will need to work with the product owner to break it into more manageable stories. or 2. The team does not have enough knowledge to estimate a size. Some form of exploratory activity will be needed to acquire the information.
  • 11. 5. Sized Appropriately (Small) If we have a two-week sprint, it is risky to work on a two- week-size story, because of the high risk of not finishing the story. Having an epic-size story that is not planned to work on for now, spending time today breaking that epic down into a collection of smaller stories is a complete waste of our time. If it is planned to work on it in the next sprint, and it is not sized appropriately, then we have more work to do to bring it down to size. 6. Testable means having good acceptance criteria (related to the conditions of satisfaction) associated with the story, which is the “confirmation” aspect of a user story. They either pass or fail their associated tests.
  • 12. Good Product Backlog DEEP Characteristics DEEP Detailed appropriately Emergent Estimated Prioritized
  • 13. 1. Detailed Appropriately Getting closer to working on a larger PBI (an epic) break it down into a collection of smaller, sprint- ready stories in a just-in-time fashion. Refining too early, might lead to spend a good deal of time figuring out the details, and ends up to never implementing the story. On the other hand, waiting too long will impact negatively the flow of PBIs into the sprint and slow the team down. We need to find the proper balance of just enough and just in time.
  • 14. 2. Emergent As long as there is a product being developed or maintained, the product backlog is never complete or frozen. Instead, it is continuously updated based on a stream of economically valuable information that is constantly arriving. For example, customers might change their mind about what they want; competitors might make bold, unpredictable moves; or unforeseen technical problems might arise. The product backlog is designed to adapt to these occurrences. The structure of the product backlog is therefore constantly emerging over time. As new items are added or existing items are refined, the product owner must rebalance and reprioritize the product backlog, taking the new information into account.
  • 15. 3. Estimated These size estimates need to be reasonably accurate without being overly precise. It may not be possible to provide numerically accurate estimates for larger items (like epics) located near the bottom of the backlog, so some teams might choose to not estimate them at all, or to use T- shirt-size estimates (L, XL, XXL, etc.). As these larger items are refined into a set of smaller items, each of the smaller items would then be estimated with numbers(smaller, more accurate size estimates).
  • 16. 4. Prioritized It is useful to prioritize the near-term items that are destined for the next few sprints up to a complete release.
  • 17. Grooming  Grooming refers to a set of three principal activities: 1. Creating and refining (adding details to) PBIs 2. Estimating PBIs 3. Prioritizing PBIs
  • 18.
  • 19. Definition of Ready  Grooming the product backlog should ensure that items at the top of the backlog are ready to be moved into a sprint so that the development team can confidently commit and complete them by the end of a sprint. Definition of Ready  Business value is clearly articulated.  Details are sufficiently understood by the development team so it can make an informed decision as to whether it can complete the PBI.  Dependencies are identified and no external dependencies would block the PBI from being completed  Team is staffed appropriately to complete the PBI.  The PBI is estimated and small enough to comfortably be completed in one sprint.  Acceptance criteria are clear and testable.  Performance criteria, if any, are defined and testable.  Scrum team understands how to demonstrate the PBI at the sprint review.
  • 21.
  • 22.
  • 23. Definition of Done  The result of each sprint should be a potentially shippable product increment. “Potentially shippable” doesn’t mean that what was built must actually be shipped. Shipping is a business decision; in some organizations it may not make sense to ship at the end of every sprint. Potentially shippable is better thought of as a state of confidence that what got built in the sprint is actually done. The Scrum team must have a well-defined, agreed-upon definition of done.  The specific items on the checklist will depend on a number of variables:  The nature of the product being built  The technologies being used to build it  The organization that is building it  The current impediments that affect what is possible Definition of Done  Design reviewed       Code completed Code refactored Code in standard format Code is commented Code checked in Code inspected  End-user documentation updated       Tested Unit tested Integration tested Regression tested Platform tested Language tested  Zero known defects  Acceptance tested  Live on production servers
  • 24. Definition of Done VS Acceptance Criteria  The definition of done applies to the product increment being developed during the sprint. The product increment is composed of a set of product backlog items, so each backlog item must be completed in conformance with the work specified by the definition- of-done checklist.  Each product backlog item that is brought into the sprint should have a set of conditions of satisfaction, specified by the product owner. These acceptance criteria eventually will be verified in acceptance tests that the product owner will confirm to determine if the backlog item functions as desired. These item-specific criteria are in addition to, not in lieu of, the done criteria specified by the definition-of-done checklist, which apply to all product backlog items.  A product backlog item can be considered done only when both the item-specific acceptance criteria and the sprint level definition-of- done items have been met.  If it is confusing to refer to product backlog items that pass their acceptance criteria as done, call them completed or accepted.
  • 26. Capacity  The first sprint planning activity.  Knowledge of capacity guides the Scrum team in determining what it can deliver.
  • 28. Helpful Links:  Scrum Training Series http://scrumtrainingseries.com/