Writing Good User Stories (Hint: It's not about writing)one80
User stories are typically the foundation of the Product Backlog. However, the original purpose has been lost. This is from a presentation that was given to help remind everyone of what User Stories are, and what they aren't. The purpose of User Stories is to drive conversations, not to hand "requirements" from one group to the next.
This presentation describe
What is the need for user stories in Agile project?
What is a story?
Why story?
What is criteria for a good story?
What are not stories?
Prerequisite? Knowledge of Scrum and it’s terms
Writing Good User Stories (Hint: It's not about writing)one80
User stories are typically the foundation of the Product Backlog. However, the original purpose has been lost. This is from a presentation that was given to help remind everyone of what User Stories are, and what they aren't. The purpose of User Stories is to drive conversations, not to hand "requirements" from one group to the next.
This presentation describe
What is the need for user stories in Agile project?
What is a story?
Why story?
What is criteria for a good story?
What are not stories?
Prerequisite? Knowledge of Scrum and it’s terms
It's told that if you don't like a cat you just don't know how to cook it. It's the same if we're talking about estimating and prioritizing user stories. This time we will back to unfinished the subject about bad examples of user stories and the stuff which one don't know how to treat as the user story. We will talk about which role, when and how work with user story and cover the main principles of user stories (no)estimations.
Subjects:
- What is and what is not a user story?
- Who, when and why — roles and ceremonies.
- To estimate or not to estimate?
- Case studies/practice
What are User Stories? How should we write them? How to write them well?
Effective User Stories allow your team to be effective (deliver want the User needs) and efficient (Deliver it quickly and importantly don't deliver unneeded features).
User Stories Writing - Codemotion 2013Fabio Armani
Stefano Leli (Freelance) - Fabio Armani (OpenWare)
Scrivere user stories dovrebbe essere facile...almeno in teoria. In realtà nella pratica ci troviamo troppo spesso a combattere con storie vaghe o troppo tecniche, storie che non possono essere testate o addirittura che non portano alcun valore. In questo workshop cercheremo assieme di comprendere la differenza tra requisiti funzionali e User Story, tra User Story e Use Case, mediante dei case study.
Many companies have employed the “Big Requirements Up-Front (BRUF)” or have found themselves mired in producing piles of paper to only have these documents out-of-date and not well understood by both the customer and the development team.
In this presentation we will discuss:
• How user stories are different from traditional approaches to requirements and how they combat “BRUF” and reams of documentation;
• Leveraging user stories to capture the intent of our customer;
• The anatomy of a user story;
• The three major elements of user stories (Card, Conversation, Confirmation).
Attend this presentation and learn how to successfully employ user stories for your requirements needs.
Length: 60 Minutes
Attendees: Business Analysts, Testers/Quality Assurance, Managers, and Development Team
This presentation provides the who, what, why, how, and when for user stories. It shows you examples of good and bad stories, how to get them in the first place, and how they define done on agile projects.
Overview
- What is a User Story?
- User Story template
- examples of User Stories
- User Story Checklist
- Why not tasks?
- What is Acceptance Criteria?
- Examples of Acceptance Criteria
- Acceptance Criteria checklist
At the start of a project or start of a major release, we always face the problem of "How do we break down this big release into stories?" " How do I move from this vision to lower level details in user stories?". My workshop & presentation at the #India Agile Week 2013 Pune was focussed on providing answers to this. This presentation provides a way to move from high level vision to user stories using Story Map.
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
This session aims to introduce the critical aspects of user story formulation like INVEST principle, requirements hierarchy in Agile - with focus on aspects related to Agile Testing, such that it fits into the overall theme of the event. Through an exercise, with Lego blocks, the session will address the following aspects: Testability of user stories and importance of acceptance criteria. Handling NFRs - either as part of acceptance criteria or a new user stories. DoD and accommodating testing efforts as part of user story estimation; Defects as user stories. Dependency management between user stories via story maps.
Talk including Demo for the learning objectives outlined above
Re-uploading my User Story Splitting workshop; it seems to have gone missing.
This is a slide deck I have used for helping people learn various user story splitting techniques.
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
Presented at xP2016 by Suzanne Morrison and Laz Allen.
Abstract: In this fun, interactive workshop you'll learn how manage your product backlog, write good user stories, split stories, add acceptance criteria and more.The workshop is a combination of theory and practice that alternates between teaching new concepts and techniques, practising them and then debriefing.
In this workshop you'll receive a list of home improvement requirements and you'll work in a group and in pairs to create user stories, critique user stories, use different patterns to split user stories and write acceptance criteria.
At the end of the session you'll have a clear understanding of how to keep your product backlog in good shape using user stories and other Agile techniques.
The workshop has been running at Skyscanner on a monthly basis for over a year and is attended by people in lots of different roles across the company including developers, testers, product owners, marketing managers and designers. Skyscanner is structured using a Spotify inspired squads and tribes model which we have adapted to work with our culture and values. We encourage our squads to self-organise in an agile way and use techniques as appropriate from Agile and Lean.
It's told that if you don't like a cat you just don't know how to cook it. It's the same if we're talking about estimating and prioritizing user stories. This time we will back to unfinished the subject about bad examples of user stories and the stuff which one don't know how to treat as the user story. We will talk about which role, when and how work with user story and cover the main principles of user stories (no)estimations.
Subjects:
- What is and what is not a user story?
- Who, when and why — roles and ceremonies.
- To estimate or not to estimate?
- Case studies/practice
What are User Stories? How should we write them? How to write them well?
Effective User Stories allow your team to be effective (deliver want the User needs) and efficient (Deliver it quickly and importantly don't deliver unneeded features).
User Stories Writing - Codemotion 2013Fabio Armani
Stefano Leli (Freelance) - Fabio Armani (OpenWare)
Scrivere user stories dovrebbe essere facile...almeno in teoria. In realtà nella pratica ci troviamo troppo spesso a combattere con storie vaghe o troppo tecniche, storie che non possono essere testate o addirittura che non portano alcun valore. In questo workshop cercheremo assieme di comprendere la differenza tra requisiti funzionali e User Story, tra User Story e Use Case, mediante dei case study.
Many companies have employed the “Big Requirements Up-Front (BRUF)” or have found themselves mired in producing piles of paper to only have these documents out-of-date and not well understood by both the customer and the development team.
In this presentation we will discuss:
• How user stories are different from traditional approaches to requirements and how they combat “BRUF” and reams of documentation;
• Leveraging user stories to capture the intent of our customer;
• The anatomy of a user story;
• The three major elements of user stories (Card, Conversation, Confirmation).
Attend this presentation and learn how to successfully employ user stories for your requirements needs.
Length: 60 Minutes
Attendees: Business Analysts, Testers/Quality Assurance, Managers, and Development Team
This presentation provides the who, what, why, how, and when for user stories. It shows you examples of good and bad stories, how to get them in the first place, and how they define done on agile projects.
Overview
- What is a User Story?
- User Story template
- examples of User Stories
- User Story Checklist
- Why not tasks?
- What is Acceptance Criteria?
- Examples of Acceptance Criteria
- Acceptance Criteria checklist
At the start of a project or start of a major release, we always face the problem of "How do we break down this big release into stories?" " How do I move from this vision to lower level details in user stories?". My workshop & presentation at the #India Agile Week 2013 Pune was focussed on providing answers to this. This presentation provides a way to move from high level vision to user stories using Story Map.
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
This session aims to introduce the critical aspects of user story formulation like INVEST principle, requirements hierarchy in Agile - with focus on aspects related to Agile Testing, such that it fits into the overall theme of the event. Through an exercise, with Lego blocks, the session will address the following aspects: Testability of user stories and importance of acceptance criteria. Handling NFRs - either as part of acceptance criteria or a new user stories. DoD and accommodating testing efforts as part of user story estimation; Defects as user stories. Dependency management between user stories via story maps.
Talk including Demo for the learning objectives outlined above
Re-uploading my User Story Splitting workshop; it seems to have gone missing.
This is a slide deck I have used for helping people learn various user story splitting techniques.
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
Presented at xP2016 by Suzanne Morrison and Laz Allen.
Abstract: In this fun, interactive workshop you'll learn how manage your product backlog, write good user stories, split stories, add acceptance criteria and more.The workshop is a combination of theory and practice that alternates between teaching new concepts and techniques, practising them and then debriefing.
In this workshop you'll receive a list of home improvement requirements and you'll work in a group and in pairs to create user stories, critique user stories, use different patterns to split user stories and write acceptance criteria.
At the end of the session you'll have a clear understanding of how to keep your product backlog in good shape using user stories and other Agile techniques.
The workshop has been running at Skyscanner on a monthly basis for over a year and is attended by people in lots of different roles across the company including developers, testers, product owners, marketing managers and designers. Skyscanner is structured using a Spotify inspired squads and tribes model which we have adapted to work with our culture and values. We encourage our squads to self-organise in an agile way and use techniques as appropriate from Agile and Lean.
Gathering and defining software requirements is difficult.
One Agile technique to help address this challenge is writing user stories, which are short descriptions of functions that an end-user would want.
While user stories help convert concepts into functions, writing good user stories is easier said than done.
Gathering and defining software requirements is difficult. One Agile technique to help address this challenge is writing user stories, which are short descriptions of functions that an end-user would want. While user stories help convert concepts into functions, writing good user stories is easier said than done.
What you’ll learn in this presentation:
• The basics of user stories.
• How user stories fit into the overall Agile planning process.
• How to write a user story.
This presentation discusses how to split user stories using INVEST, a mnemonic created by Bill Wake. Mike Harris presented this presentation at Agile Philly.
The 1st class of Spring Quarter Agile CP202 slides including:
* User Stories
* Acceptance Criteria
* INVEST Model
* Splitting User Stories
* Abuse Stories
How do we know... I mean, really _know_ when our project is finally _done_...? Particularly in this world of Agile Development practices, where the client can change his mind at any moment and add or remove things from the project, willy-nilly... What a mess! Welcome to (one of) the answers: Acceptance Criteria!
In this simple presentation, the logic of sub-tasking a User story is explained and an example is provided. Interesting information for teams trying to understand why they should be doing it and the thinking process to accomplish the logic.
The practical value of this presentation is to help business analysts to adapt to agile and use appropriate techniques to achieve better requirements. The key take aways;
-Understand the difference between a traditional way of dealing with requirements and the agile way.
-Describe core agile requirements practices
-Understand challenges with agile requirements
-Learn sty a high level the User story concepts and Describe where they fit in the life cycle
-Understand how Acceptance tests extend User Stories
-Understand the evolution of user stories and their and elaboration throughout the life cycle
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
2. What were they thinking?
•Split into teams, with one product owner
•Product owners may only communicate with the team
through imperatives (“it must have/do...”) or similes (“it’s
like...”)
•Cannot use the name of the thing in a sentence (“it must
pour tea” for a teapot is not allowed)
•Teams cannot ask questions
•Teams have 2 minutes to draw the object seen by the PO
6. Communication problem
The system must store an address and business phone or mobile phone
1 Address +
(business phone or
mobile phone)
(Address + business
phone) or mobile
phone
2
7. Dude, where’s my car?
•Product shall
•Have a gas engine
•Four wheels
•Rubber tire on each wheel
•Has a steering wheel
•Has a steel body
8. Focus on intention
•As a user I want to
mow my lawn quickly
and easily
•As a user I want to
be comfortable while
mowing my lawn
9. So now what?
We make decisions based
...but we do it often
on the info we have
This is
where user
stories come
Rather than make one in ...we spread decision-
set of all-encompassing making across the
decisions project
10. The Product Backlog iceberg
{
1-2 sprints worth of stories Stories
ould
sh ed
Features
ll
y a ress
ea ll
Id xp ies!
e e or
ti ll b r s t
s
a su se Epics /
Themes
11. What are epics?
•Large fuzzy requirements
•Lower priority
•May consist of a number of features
12. What’s a feature?
•A set of requirements which can be grouped
•which deliver value to a group of users
13. What are user stories?
As a: <user role or persona>
I want to: <do something, a piece of functionality>
So that: <achieve some business value or statement of intent>
14. The 3 C’s
•Stories are traditionally
written on note cards
Card
•Cards may be annotated
with estimates, tests, etc
•Details of story come out
Conversation during conversations
with product owner
•Acceptance tests confirm
Confirmation the story was coded
correctly
15. But what about the details?
•As a user I want to be able to cancel a reservation so
that I can get a refund for the trip not taken
• Does the user get a full or partial refund?
• Is the refund to the credit card or is it a site refund?
• How far ahead must the reservation be cancelled?
• Is it the same for all hotels?
• How about all site visitors? Can frequent travellers cancel later?
• Is a confirmation provided to the user?
• How do provide this confirmation?
16. Acceptance tests
Given: it is 2 weeks till my flight and I paid $1000 for
the flight and I am not a frequent traveler
When: I cancel my flight
Then: I get a 50% refund ($500) and my flight is
cancelled
•Describes starting state, event and final state
•Use ‘real’ examples with meaningful values
17. The Happy Path
•Every story should define the default scenario
•similar to happy path in a use case
•extend with negative scenarios and edge cases
18. Coin Sorting
(an exercise)
How long will it take to sort this bag of coins?
19. Talking to users
•Ask open ended questions
•closed = “Yes or No”
•open = “What would you be willing to trade for
performance?”
•Give user options (“This one or that one?”)
20. Story writing with your
customers
•Low fidelity prototypes to get the main flows
•Get breadth first
•Use user roles / personas to help identify missing
stories
•Compare against competing products
21. User Roles
•allow users to vary by
•what they use the software for
•how they use the software
•background
•familiarity with software / computers
22. Role modelling
• Every product has more than one type of user
• administrators
• clerks
• managers
• when we write with only one perspective
• we assume all users have the same goal
• leads to missing stories
24. What makes a good story?
Independent
Negotiable
INVEST Valuable
Estimable
Small
Testable
25. INVEST
•Independent
• Dependencies lead to prioritisation problems
•Negotiable
• Stories are not contracts
• leave the team room to manoeuvre
•Valuable
• to users or customers (rarely if ever developers)
• try to rewrite developer stories to reflect value to the customer
26. INVEST
•Estimable
• we plan using user stories so we must be able to estimate them
•Small (sized appropriately)
• Compound stories are multiple stories
• Complex stories are intrinsically large
•Testable
• if you can’t test it, how do you know when you’re done?
27. What makes a good user story?
•It describes what a user does
•Explicitly states dependencies
•Takes a slice through the system
•Ends with a meaningful goal
• instead of “a home seeker can maintain her search criteria”
• a home seeker can create her search criteria
• a home seeker can review the results of a search
• a home seeker can change the geographic area of a search
28. Non-functional requirements
“...is a requirement that specifies criteria that can be used to judge the operation of a
system, rather than specific behaviours” - Wikipedia
• Security
• Usability
• Testability
• Maintainability
• Extensibility
• Scalability
• Portability
• Performance
29. Formulate NFR’s as a story
Acceptance Criteria
Performance Constraint
•10,000 concurrent R/W
transactions take place
The system must answer any
request in less than 1 second
•Each transaction is 500Kb
•System config is ‘small
enterprise’
30. Linking to functional
requirements
Theme Functional requirement Performance Security Robustness
As an enterprise user, I want to select a
Emailing recipient from my contact list, so that I can X X
get the correct address
31. Technical Stories
• Adding CI, optimising DB, upgrade to latest Oracle, etc.
• Consider trying to write a user story so that you are forced to define the business value
• No user facing functionality, e.g. Rating engine consumes some
output
• Consider writing as a user story with the engine as the user
• e.g: As the rating engine, I want well formed CDR’s so that I can minimise
error logging
• Don’t hurt yourself trying to force it; sometimes it’s OK not to use the format
• Be careful that these aren’t tasks that have been elevated to stories...
32. Decomposing user stories
• Compound Stories
• a number of smaller stories / scenarios
• split into meaningful chunks
• Complex Stories
• if it’s largely unknown, consider a spike
• try find ‘natural’ seams in the story
• Combining stories
• stories should be about 2 days work
• if too small combine e.g. bugs into one story
33. Patterns for splitting stories
• Workflow steps
• Business rule variations
• Major / Minor effort
• Simple / Complex
• Variations in available data
• Data entry methods
• Defer performance
• Operations (e.g. create / update / delete)
• Spike
34. When do I write stories?
•5-10% of total team effort should be spent on
preparing for the next sprint
•i.e. about 50% of analyst’s time in sprint
•still need to be available to team (should be
answering 80% of queries in <10min)
•estimation meetings in off-week
35. Story writing workshops
•Include team, users, customers
•Brainstorm to generate ideas
•Write as many as possible
•Start with epics and iterate
•or use mindmaps
•Prioritise later
36. Story Workshop
ets is
over
paid tick rrest eds its
I f th
R50
e tot
00, t
al un
wa rrant
hen a If a warran rt
ued.
of a
Cops & Fines
t of
e cou
E ach p
own re
olice sta
port of o
tion ne
verdue tickets
be is s en th rrest
m ust
issue d, th
st is the a The viola
arr e ed of be set tion mus
t be i nform e can master l
ist of ve
t be link
e d to a
mus ria l dat Our officers now carry GPS units, so the hicles. W
so th at a t co-ordinates of the offence must be
the vehi
cle manu e also n
type (se facturer ee d
logged on the ticket. The officer will dan, SUV , colo ur,
It wo reg istrat , etc) an
login to the mobile app using their ion d
uld b
phot e so badge number and password
ogra cool
of th ph o if the
e vio r vid
show latio eo cl
n on n cou ip
a Go ld be
ogle We would like to ‘name and
Map
shame’ top offenders on our
officer FaceBook page automatically,
nnual bo nus of an
The a ber of on the 1st of each month
is linke d to the nu m
s that h ave been
violation
n d pai d
Credit & thanks to Aslam Khan for the stories
issue d a
37. Story smells
•Too small or too big
•Estimates don’t converge
•No scenarios / acceptance criteria
•Interdependent
•Gold-plating
38. More smells
•Too detailed
•UI defined
•Thinking too far ahead
•Splitting too frequently
•Trouble prioritising
•Technical language
39. Use cases vs. user stories
•Size
•User stories much smaller than use cases
•Completeness
•use cases are exhaustive, user stories much less detail
•Longevity
•use cases intended as permanent record, user stories
rarely last beyond the sprint
40. References
•Mike Cohn - ‘User Stories Applied’
•Leffingwell & Behrens - ‘A User Story Primer’
•Victoria Hall - ‘Crafting Better Scrum Requirements’
•Mike Cohn - ‘An introduction to user stories’
•Roman Pinchler - ‘Agile Product Management with
Scrum’
Editor's Notes
The aim of this workshop is to get people aware of the complexity of software development.
This is a relatively simple object that most people will have come across in day-to-day life. It has a single well understood purpose.
This is a more complex object
This is a one-of-a-kind object. Much of what we&#x2019;re building in software development is unique. The language that we use to describe this thing is therefore inexact and open to interpretation.
The aim of this is to illustrate how much better vocal communication is over documentation. Have the participants vote as to which it is, and then pick one to emphasize when you say the sentence.
This next 2 slides illustrate the importance of communicating the intention of the user and not just the solution description. Remember that most people rarely read the whole requirements doc
So this is where user stories come in
It&#x2019;s important to note that in total, you should only have 35-50 items in your backlog at any one time. There should be a steady flow of epics to features to stories
By the time it comes to implement epics, we might have changed out minds based on what we&#x2019;ve already built. Therefore don&#x2019;t invest the time to define them more clearly until you&#x2019;re ready to build them
The mantra here is &#x2018;Just Enough, Just In Time&#x2019;
This format was the product of Mike Cohn&#x2019;s work.
Ron Jeffries and his work in Xtreme Programming is credited with the idea behind this formulation.
We use acceptance tests to help us understand how the story should be implemented. They supply the details that the team needs.
This exercise is meant to illustrate the importance of asking questions of the customer / user. The trick is when the team has sorted the bag of mixed coins by denominations you tell them you actually wanted it by date.
Stresses the importance of not closing off avenues to explore with the users.
Techniques for helping you talk to your customers.
The story here is that in pitching a product at an extreme users (the elderly) OXO actually ended up with a better overall design of a potato peeler that appealed to everyone. Your extreme users can help you find ways in which people use your products that might not have occurred to you.
Bill Wakefield is credited with this acronym for the test of what constitutes a good user story. Think of this as a checklist when you are story writing.
The important part here is to make sure that your acceptance criteria are defined. Note: you may have multiple constraints for a particular type (e.g. batch vs real-time performance)
This idea is stolen from Roman Pinchler&#x2019;s book.
Remember to at least try writing it as a user story first...