SlideShare a Scribd company logo
1 of 42
Download to read offline
Writing better user
stories
José E. Rodríguez Huerta
(@jrhuerta)
Disclaimer
Not a single original
thought in this
presentation.
Although there is some first hand
experience
What this talk is about
•  Why use user stories at all?
•  Some guidelines on how to
improve
•  Identifying common “user
story smells…”
Why use User stories
at all?
Requirements gathering is an
integral part of software
development
Common pitfalls
•  Lack of context
•  Fail to deliver value
•  Overly specified
•  User/Client doesnt know
what they want.
•  No priorization
•  Hard to build incrementaly
•  Difficult to estimate
•  Too long… Didn’t read.
•  Too technical… Didn’t read.
•  Long time to market cycle
•  Not always clear who the
users are and what they
expect from the software.
•  Long feedback loops
from users/stakeholders
•  Acceptance criteria is:
everything is implemented.
•  Hard to maintain
User stories to the rescue!
Yes, they are still a
requirements document,
but…
They are cool
How do User Stories
address those problems?
•  Provide Context =>
Aligment
•  End user/customer
language, makes it easy
to read/understand
bridges the gap between
technical and business
•  Focus on Delivering Value
•  User/Customer centered
•  Small, Cheap
•  Easily priorizable and re-
priorizable
•  Versatile
•  Switch the focus to
communication instead of
a detailed specification.
•  Shortens Time to Market.
What is a user story?
three critical parts:
– Card
– Conversation
– Confirmation
(“conversation placeholders”)
What is
a “Good” USER STORY?	
  
It helps YOU
to solve your problem
Defining a “good” u.s.
•  follows the INVEST acronym
(by Bill Wake)
•  Defines conditions FOR
“satisfaction” (in DoD)
•  Defines conditions FOR
“readyness” (in DoR)
Defining a “good” U.S.
•  Uses the customer’s language
•  has the Who, the What and Why
•  Everyone participates in
defining/refining
I.N.V.E.S.T.
•  Independent
•  Negotiable
•  Value
•  Estimable
•  Size/Small
•  Testable
I for Independent
Independent also means it can
be built incrementaly
and iteratively
Incremental
Art	
  by	
  Jeff	
  Pa,on	
  
Iterative
Art	
  by	
  Jeff	
  	
  Pa,on	
  
Incremental-Interative
Art	
  by	
  Steven	
  Thomas	
  
I for Independent
Ok… maybe, some dependency
N for Negotiable
•  Avoid implementation details
– It says the What, not the How.
•  Its not carved in stone
– Until its part of an iteration it
can still be rewritten
V for Value
Provide value to your customer
with every story
V for Value
V for Value
V for Value
E for Estimable
Otherwise you can’t know when it
will be done
(or if it will ever be…)
S for Size/Small
•  If its too big, split it.
–  Learn how.
•  If it too small, maybe its not a
user story
–  I smell micromanagement!
T for Testable
If it’s not worth testing it…
Is it worth writting it?
Not everything is a
User Story
What?
•  The process context:
–  Definition of Done
–  Definition of Ready
•  Non functional requirements:
–  Requirements that extend
through the whole project
Use aids to “Power Up”
•  Wireframes
•  Navigation maps
•  Color tags
•  Personas
•  User Story maps
•  Anything else you may find
useful
Use aids to “Power Up”
•  Wireframes
•  Navigation maps
•  Color tags
•  Personas
•  User Story maps
•  Anything else you may find useful
Revise and Refine and even
Re-do
•  User stories are alive, they:
–  Are Born
–  Grow
–  Reproduce
–  Die
•  Make time to groom your
backlog with the team and client
user story smells
User Story smells…
•  Too much detail or too little detail
•  No conditions of satisfaction
•  A story per page/component or
sliced in ways that don’t deliver value
•  Technical tasks masqueraded as user
stories
•  Skipping the conversation
15m is not a lot of time
so…
Where DO I get more info?
•  Agile Barcelona community (@agilebcn)
•  Books:
–  User stories applied: For Agile Software
Development by Mike Cohn
–  Lean UX: Applying Lean Principles to Improve
User Experience by Jeff Gothelf & Josh Seiden
•  The Mountain Goat Software:
http://www.mountaingoatsoftware.com/
•  Google
 
Thanks
Any questions?
(@jrhuerta)

More Related Content

What's hot

Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
 
Facilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exerciseFacilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exercisePeter Antman
 
User Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyUser Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyJeff Patton
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planningDimitri Ponomareff
 
Guide to User Story Creation
Guide to User Story CreationGuide to User Story Creation
Guide to User Story CreationJoshua Render
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping WorkshopDana Pylayeva
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
 
Story maps and personas an intro
Story maps and personas   an introStory maps and personas   an intro
Story maps and personas an introMark Kilby
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 

What's hot (20)

Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
Facilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exerciseFacilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exercise
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
User Stories
User StoriesUser Stories
User Stories
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
User Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyUser Story Mapping, Discover the whole story
User Story Mapping, Discover the whole story
 
Agile stories, estimating and planning
Agile stories, estimating and planningAgile stories, estimating and planning
Agile stories, estimating and planning
 
Product Backlog Management
Product Backlog ManagementProduct Backlog Management
Product Backlog Management
 
Guide to User Story Creation
Guide to User Story CreationGuide to User Story Creation
Guide to User Story Creation
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping Workshop
 
Agile coach - roadmap and user story map
Agile coach - roadmap and user story map Agile coach - roadmap and user story map
Agile coach - roadmap and user story map
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Story maps and personas an intro
Story maps and personas   an introStory maps and personas   an intro
Story maps and personas an intro
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 

Viewers also liked

"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredowebcat
 
"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinaiwebcat
 
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev dataJoshua Seiden
 
A Designer's Introduction to Lean Startup
A Designer's Introduction to Lean StartupA Designer's Introduction to Lean Startup
A Designer's Introduction to Lean StartupJoshua Seiden
 
User Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife BrazilUser Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife BrazilJoshua Seiden
 
User Experience in a Rapidly Changing World
User Experience in a Rapidly Changing WorldUser Experience in a Rapidly Changing World
User Experience in a Rapidly Changing WorldJoshua Seiden
 
Lean UX for Agile Teams
Lean UX for Agile TeamsLean UX for Agile Teams
Lean UX for Agile TeamsJoshua Seiden
 
Talking To Your Boss About Lean UX
Talking To Your Boss About Lean UXTalking To Your Boss About Lean UX
Talking To Your Boss About Lean UXJeff Gothelf
 
Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013Joshua Seiden
 
Replacing Requirements with Hypotheses
Replacing Requirements with HypothesesReplacing Requirements with Hypotheses
Replacing Requirements with HypothesesJoshua Seiden
 
Beyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for InnovationBeyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for InnovationJoshua Seiden
 
Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013Joshua Seiden
 
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypothesesJoshua Seiden
 
Intro to Lean UX methods
Intro to Lean UX methodsIntro to Lean UX methods
Intro to Lean UX methodsJoshua Seiden
 
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience MapUX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience MapUX STRAT
 
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...UX STRAT
 
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...UX STRAT
 
UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"
UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"
UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"UX STRAT
 
UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"
UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"
UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"UX STRAT
 
UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"
UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"
UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"UX STRAT
 

Viewers also liked (20)

"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo"Continuous Deployment" por @fredfigueiredo
"Continuous Deployment" por @fredfigueiredo
 
"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai"Designing digital products for kids" por @karinai
"Designing digital products for kids" por @karinai
 
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
2011 dec 10 lsm 12 tips for interviewing plus making sense of custdev data
 
A Designer's Introduction to Lean Startup
A Designer's Introduction to Lean StartupA Designer's Introduction to Lean Startup
A Designer's Introduction to Lean Startup
 
User Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife BrazilUser Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
User Experience in a Rapidly Changing World, for ISA '13, Recife Brazil
 
User Experience in a Rapidly Changing World
User Experience in a Rapidly Changing WorldUser Experience in a Rapidly Changing World
User Experience in a Rapidly Changing World
 
Lean UX for Agile Teams
Lean UX for Agile TeamsLean UX for Agile Teams
Lean UX for Agile Teams
 
Talking To Your Boss About Lean UX
Talking To Your Boss About Lean UXTalking To Your Boss About Lean UX
Talking To Your Boss About Lean UX
 
Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013Continuous Learning and Delivery @ DPM Summit 2013
Continuous Learning and Delivery @ DPM Summit 2013
 
Replacing Requirements with Hypotheses
Replacing Requirements with HypothesesReplacing Requirements with Hypotheses
Replacing Requirements with Hypotheses
 
Beyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for InnovationBeyond Brainstorming: Idea-Finding for Innovation
Beyond Brainstorming: Idea-Finding for Innovation
 
Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013Lean UX + UX Strat, from UX Strat conference, September 2013
Lean UX + UX Strat, from UX Strat conference, September 2013
 
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
2012 feb 25 agile ux nyc, seiden, requirements to hypotheses
 
Intro to Lean UX methods
Intro to Lean UX methodsIntro to Lean UX methods
Intro to Lean UX methods
 
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience MapUX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
UX STRAT 2013: Jill Hewitt, Journey to a Customer Experience Map
 
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
UX STRAT 2013: Aline Baeck, BEYOND WIREFRAMES How User Experience Methods Ca...
 
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
UX STRAT 2014: Jon Kolko, "Well Designed: Bringing Design Thinking to Product...
 
UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"
UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"
UX STRAT USA: Leah Buley, "The Role of UX / CX in Business"
 
UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"
UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"
UX STRAT 2014: Jim Kalbach, "Applying 'Jobs to be Done' to UX Strategy"
 
UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"
UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"
UX STRAT USA 2016 Workshop: Jim Kalbach, "Mapping Experiences"
 

Similar to "How to write better User Stories" por @jrhuerta

Building Shared Understanding Glenn McClure
Building Shared Understanding Glenn McClureBuilding Shared Understanding Glenn McClure
Building Shared Understanding Glenn McClureGlenn McClure
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
A11y user stories csun 2018
A11y user stories csun 2018A11y user stories csun 2018
A11y user stories csun 2018Intopia
 
A11y user stories CSUN 2018
A11y user stories CSUN 2018A11y user stories CSUN 2018
A11y user stories CSUN 2018Intopia
 
Right amount of details to the user story
Right amount of details to the user storyRight amount of details to the user story
Right amount of details to the user storyRamyaShastri1
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
Lies, Damned Lies, and Pretty Pictures
Lies, Damned Lies, and Pretty PicturesLies, Damned Lies, and Pretty Pictures
Lies, Damned Lies, and Pretty Picturesvutpakdi
 
7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptx7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptxBishalKarki33
 
User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012Fabio Armani
 
Agile Tips - All about stories
Agile Tips - All about storiesAgile Tips - All about stories
Agile Tips - All about storiesMikhail Dikov
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 

Similar to "How to write better User Stories" por @jrhuerta (20)

Story writing
Story writingStory writing
Story writing
 
Building Shared Understanding Glenn McClure
Building Shared Understanding Glenn McClureBuilding Shared Understanding Glenn McClure
Building Shared Understanding Glenn McClure
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
A11y user stories csun 2018
A11y user stories csun 2018A11y user stories csun 2018
A11y user stories csun 2018
 
A11y user stories CSUN 2018
A11y user stories CSUN 2018A11y user stories CSUN 2018
A11y user stories CSUN 2018
 
Right amount of details to the user story
Right amount of details to the user storyRight amount of details to the user story
Right amount of details to the user story
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
Trippe "Project Management Trends in Publishing: Agile is the New Norm and Th...
Trippe "Project Management Trends in Publishing: Agile is the New Norm and Th...Trippe "Project Management Trends in Publishing: Agile is the New Norm and Th...
Trippe "Project Management Trends in Publishing: Agile is the New Norm and Th...
 
Lies, Damned Lies, and Pretty Pictures
Lies, Damned Lies, and Pretty PicturesLies, Damned Lies, and Pretty Pictures
Lies, Damned Lies, and Pretty Pictures
 
7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptx7-Epic, Story and Bug Reporting(updated).pptx
7-Epic, Story and Bug Reporting(updated).pptx
 
User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012User Stories writing - Bettersoftware 2012
User Stories writing - Bettersoftware 2012
 
All about User story
All about User storyAll about User story
All about User story
 
Agile Tips - All about stories
Agile Tips - All about storiesAgile Tips - All about stories
Agile Tips - All about stories
 
Agile Scrum - Crafting user stories
Agile Scrum - Crafting user storiesAgile Scrum - Crafting user stories
Agile Scrum - Crafting user stories
 
How tos of UX
How tos of UXHow tos of UX
How tos of UX
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 

More from webcat

"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturinowebcat
 
"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailorwebcat
 
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro..."Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...webcat
 
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynthwebcat
 
"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunilewebcat
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejaswebcat
 
"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillanwebcat
 
"One size fits none" por @martuishere
"One size fits none" por @martuishere"One size fits none" por @martuishere
"One size fits none" por @martuisherewebcat
 
"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulandowebcat
 
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixamwebcat
 
"The work I love" por @karinai
"The work I love" por @karinai"The work I love" por @karinai
"The work I love" por @karinaiwebcat
 
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_juliawebcat
 
"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonchwebcat
 
"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJacksonwebcat
 
"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galuwebcat
 
"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelo"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelowebcat
 
"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriaraiwebcat
 
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverdewebcat
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguezwebcat
 
"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubino"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubinowebcat
 

More from webcat (20)

"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino"Demystifying development techniques" por @eturino
"Demystifying development techniques" por @eturino
 
"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor"Inception" por @CarlosTheSailor
"Inception" por @CarlosTheSailor
 
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro..."Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
"Cómo hicimos la web responsive y accesible de cierto equipo de fútbol y otro...
 
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth"unoStringSynth: hack musical con Arduino" por @unoStringSynth
"unoStringSynth: hack musical con Arduino" por @unoStringSynth
 
"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile"UX en 10 películas" por @nunile
"UX en 10 películas" por @nunile
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas
 
"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan"Pushing the boundaries" por @danielguillan
"Pushing the boundaries" por @danielguillan
 
"One size fits none" por @martuishere
"One size fits none" por @martuishere"One size fits none" por @martuishere
"One size fits none" por @martuishere
 
"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando"GTD & Pomodoro Technique" por @deambulando
"GTD & Pomodoro Technique" por @deambulando
 
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
"Esqueuomorfismo: la ruptura de la metáfora" por @omixam
 
"The work I love" por @karinai
"The work I love" por @karinai"The work I love" por @karinai
"The work I love" por @karinai
 
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia"APIS, como reutilizar contenidos en tu web" por @daniel_julia
"APIS, como reutilizar contenidos en tu web" por @daniel_julia
 
"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch"Web performance optimization for everyone" por @abellonch
"Web performance optimization for everyone" por @abellonch
 
"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson"HTML & CSS apps & internet powered TV" por @JeronimJackson
"HTML & CSS apps & internet powered TV" por @JeronimJackson
 
"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu"Cuadro de mandos para UX. El método HEART" por @galu
"Cuadro de mandos para UX. El método HEART" por @galu
 
"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelo"CSS Preprocessors Time!" por @nahuelsotelo
"CSS Preprocessors Time!" por @nahuelsotelo
 
"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai"Wordpress for web designers. What, when, how, where" por @nuriarai
"Wordpress for web designers. What, when, how, where" por @nuriarai
 
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
"Humans.txt" por @JuanjoBernabeu y @lafabricaverde
 
"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez"Meta datos & Google Rich Snippets" por @iplarodriguez
"Meta datos & Google Rich Snippets" por @iplarodriguez
 
"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubino"Javascript con MVVM Knockout" por @Marc_Rubino
"Javascript con MVVM Knockout" por @Marc_Rubino
 

Recently uploaded

Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistanvineshkumarsajnani12
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxDitasDelaCruz
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book nowkapoorjyoti4444
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...pujan9679
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon investment
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGpr788182
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateCannaBusinessPlans
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfAdmir Softic
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1kcpayne
 
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165meghakumariji156
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 MonthsIndeedSEO
 
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...pujan9679
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with CultureSeta Wicaksana
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Timegargpaaro
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingNauman Safdar
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...daisycvs
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableBerhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Availablepr788182
 

Recently uploaded (20)

Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
 
HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck Template
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableBerhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
 

"How to write better User Stories" por @jrhuerta

  • 1. Writing better user stories José E. Rodríguez Huerta (@jrhuerta)
  • 2. Disclaimer Not a single original thought in this presentation. Although there is some first hand experience
  • 3. What this talk is about •  Why use user stories at all? •  Some guidelines on how to improve •  Identifying common “user story smells…”
  • 4. Why use User stories at all?
  • 5. Requirements gathering is an integral part of software development
  • 6.
  • 7.
  • 8. Common pitfalls •  Lack of context •  Fail to deliver value •  Overly specified •  User/Client doesnt know what they want. •  No priorization •  Hard to build incrementaly •  Difficult to estimate •  Too long… Didn’t read. •  Too technical… Didn’t read. •  Long time to market cycle •  Not always clear who the users are and what they expect from the software. •  Long feedback loops from users/stakeholders •  Acceptance criteria is: everything is implemented. •  Hard to maintain
  • 9. User stories to the rescue!
  • 10. Yes, they are still a requirements document, but…
  • 12. How do User Stories address those problems? •  Provide Context => Aligment •  End user/customer language, makes it easy to read/understand bridges the gap between technical and business •  Focus on Delivering Value •  User/Customer centered •  Small, Cheap •  Easily priorizable and re- priorizable •  Versatile •  Switch the focus to communication instead of a detailed specification. •  Shortens Time to Market.
  • 13. What is a user story? three critical parts: – Card – Conversation – Confirmation (“conversation placeholders”)
  • 14. What is a “Good” USER STORY?  
  • 15. It helps YOU to solve your problem
  • 16. Defining a “good” u.s. •  follows the INVEST acronym (by Bill Wake) •  Defines conditions FOR “satisfaction” (in DoD) •  Defines conditions FOR “readyness” (in DoR)
  • 17. Defining a “good” U.S. •  Uses the customer’s language •  has the Who, the What and Why •  Everyone participates in defining/refining
  • 18. I.N.V.E.S.T. •  Independent •  Negotiable •  Value •  Estimable •  Size/Small •  Testable
  • 19. I for Independent Independent also means it can be built incrementaly and iteratively
  • 21. Iterative Art  by  Jeff    Pa,on  
  • 23. I for Independent Ok… maybe, some dependency
  • 24. N for Negotiable •  Avoid implementation details – It says the What, not the How. •  Its not carved in stone – Until its part of an iteration it can still be rewritten
  • 25. V for Value Provide value to your customer with every story
  • 29. E for Estimable Otherwise you can’t know when it will be done (or if it will ever be…)
  • 30. S for Size/Small •  If its too big, split it. –  Learn how. •  If it too small, maybe its not a user story –  I smell micromanagement!
  • 31. T for Testable If it’s not worth testing it… Is it worth writting it?
  • 32. Not everything is a User Story
  • 33.
  • 34. What? •  The process context: –  Definition of Done –  Definition of Ready •  Non functional requirements: –  Requirements that extend through the whole project
  • 35. Use aids to “Power Up” •  Wireframes •  Navigation maps •  Color tags •  Personas •  User Story maps •  Anything else you may find useful
  • 36. Use aids to “Power Up” •  Wireframes •  Navigation maps •  Color tags •  Personas •  User Story maps •  Anything else you may find useful
  • 37. Revise and Refine and even Re-do •  User stories are alive, they: –  Are Born –  Grow –  Reproduce –  Die •  Make time to groom your backlog with the team and client
  • 39. User Story smells… •  Too much detail or too little detail •  No conditions of satisfaction •  A story per page/component or sliced in ways that don’t deliver value •  Technical tasks masqueraded as user stories •  Skipping the conversation
  • 40. 15m is not a lot of time so…
  • 41. Where DO I get more info? •  Agile Barcelona community (@agilebcn) •  Books: –  User stories applied: For Agile Software Development by Mike Cohn –  Lean UX: Applying Lean Principles to Improve User Experience by Jeff Gothelf & Josh Seiden •  The Mountain Goat Software: http://www.mountaingoatsoftware.com/ •  Google