SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Requirements Made Easy with User Stories



                    Presented by:
                   William F. Nazzaro
                 Nazzaro & Associates
                    +1.610.831.1151
               info@williamnazzaro.com
                                           Version 2.00
Nazzaro & Associates Background

        A Philadelphia-based consultancy dedicated to the highest-quality
        delivery of project mentoring, training and organizational transformation
        Full lifecycle consulting, coaching and mentoring
          –   Requirements – Use Cases, User-Stories, IIBA
          –   Process – Agile (XP, TDD), Unified Process, CMMi
          –   Project Management – Scrum, Iterative, PMI
          –   Architecture – Service-Oriented Architecture
          –   Organizational Change Management and Improvement
          –   Delivered On-Site, Globally
        Full lifecycle software training curriculum
          – Highly differentiated offerings
          – Experiential approach and skills building
          – Virtual and on-site
        Multi-tool vendor expertise
          – IBM Rational, Microsoft, Borland, HP Mercury, BluePrint, VersionOne, RallyDev


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 2
Presenter’s Background

        Twenty years of success in delivering enterprise software solutions for Fortune
        100 companies, he has provided unparalleled services in project mentoring, use
        case and user story training and modeling, agile SCRUM, XP, TDD, service-
        oriented architecture, Unified Process and CMMi adoption, Java, C++, C, and
        Smalltalk programming languages, and technical curriculum development and
        delivery.

        His pragmatic emphasis on project execution and process improvement has
        benefited major insurance, health-care, human resources, stock market
        organizations and Department of Defense where he has enabled the transformation
        of their corporate development processes and development teams of diverse skill-
        levels.

        He has provided in-depth talks on Agility, Use Case Modeling, Service-Oriented
        Architecture, Unified Process, Object Technology and Data Modeling.

        He has extensive background in project management, and has successfully led
        teams on multi-million dollar projects to provide the highest-quality technical
        solutions in the most efficient and effective manner.



Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 3
Introduction



       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 an alternative to BRUF,

    User Stories, and what we should expect when we transition to this
                                                              technique.



Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 4
Agenda

        Some Key Principles of Agile Requirements
        Why Doesn’t Big Requirements Up-Front (BRUF) Work?
        What are User Stories?
          –    Anatomy of a User Story
          –    The 3 Major Elements
          –    User Story Guidelines
          –    INVEST Model
        How are User Stories Different?
        Benefits of Agile – Some Numbers To Consider
        Wrap-Up




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 5
Some Key Principles of Agile Requirements

        Active user involvement is essential

        Requirements emerge and evolve as
        software is developed

        Agile requirements are ‘barely sufficient’

        Requirements are developed in small,
        bite-sized pieces

        Cooperation, collaboration, and
        communication between all team
        members is essential




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 6
Requirements are a Communication Problem

        Written Requirements                                                    Verbal Requirements
          – Can be well thought through,                                          – Instantaneous feedback and
            reviewed and edited                                                     clarification

          – Provide a permanent record                                            – Information-packed exchange

          – Are more easily share with groups of                                  – Easier to clarify and gain common
            people                                                                  understanding

          – Time consuming to produce                                             – More easily adapted to any new
                                                                                    information known at the time
          – May be less relevant or superseded
            over time                                                             – Can spark ideas about problems and
                                                                                    opportunities
          – Can be easily misinterpreted



                                 As we will see, user stories seek to combine the
                                 strengths of written and verbal communication

Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 7
Where Are We?

        Some Key Principles of Agile Requirements
        Why Doesn’t Big Requirements Up-Front (BRUF) Work?
        What are User Stories?
          –    Anatomy of a User Story
          –    The 3 Major Elements
          –    User Story Guidelines
          –    INVEST Model
        How are User Stories Different?
        Benefits of Agile – Some Numbers To Consider
        Wrap-Up




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 8
Why Doesn’t “Big Requirements Up-Front” Work?

        Generally there’s a fallacy and flaw that we can elicit and
        document our requirements all at once
          – Customer’s don’t typically know their requirements
          – Customer’s requirements and solution expectation change of time


                      Requirements
                        Analysis

                                             Design

                                                              Coding and
                                                               Unit Test

                                                                                   Subsystem
                                                                                   Integration

                                                                                                      System Test




                                                             Time
Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 9
What’s the Goal of Our Software Development Activities?




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 10
Serial Approach to Requirements




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 11
Wastage Occurs for Several Reasons – 1

        The requirements change
          – The period between the time that the requirements are “finalized” to the time
            that the system is actually deployed will often span months, if not years
          – During this timeframe changes will occur in the marketplace, legislation will
            change, and your organization’s strategy will change
          – All of these changes in turn will motivate true changes to your requirements

        People’s understanding of the requirements change
          – More often than not what we identify as a changed requirement is really just
            an improved understanding of the actual requirement
          – People aren’t very good at predicting what they want
          – They are good at indicating what they sort of think that they might want, and
            then once they see what you’ve built then can then provide some feedback
            as to how to get it closer to what is actually needed
          – It’s natural for people to change their minds, so you need an approach
            which easily enables this
                                                                                             Source: http://www.agilemodeling.com/
                                                                                                     essays/examiningBRUF.htm


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com     Page - 12
Wastage Occurs for Several Reasons – 2

        People make up requirements
          – An unfortunate side effect of the traditional approach to development is that
            we’ve taught several generations of stakeholders that it’s going to be
            relatively painless to define requirements early, but relatively painful to
            change their minds later
          – In other words, they’re motivated to brainstorm requirements which they
            think they might need at some point, guaranteeing that a large percentage
            of the functionality that they specify really isn’t needed in actual practice

        You effectively put a cap on what you will deliver
          – Very often with a BRUF approach you in effect define the best that will be
            delivered by the team and then throughout the project you negotiate
            downwards from there as you begin to run out of resources or time




                                                                                             Source: http://www.agilemodeling.com/
                                                                                                     essays/examiningBRUF.htm


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com     Page - 13
Where Are We?

        Some Key Principles of Agile Requirements
        Why Doesn’t Big Requirements Up-Front (BRUF) Work?
        What are User Stories?
          –    Anatomy of a User Story
          –    The 3 Major Elements
          –    User Story Guidelines
          –    INVEST Model
        How are User Stories Different?
        Benefits of Agile – Some Numbers To Consider
        Wrap-Up




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 14
What are User Stories

        Describes desired functionality                                      As an ATM user I Iwant to withdraw
                                                                              As an ATM user want to withdraw
        from the customer’s, purchaser’s                                     funds from my bank account so I I
                                                                              funds from my bank account so
        or user’s perspective                                                can increase my cash on hand.
                                                                              can increase my cash on hand.


        A simple, written description of a                                       As an ATM user I Iwant to transfer
                                                                                  As an ATM user want to transfer
        piece of functionality that will be                                      money from one bank account to
                                                                                  money from one bank account to
        valuable for the user or owner of                                        another bank account so I Ican
                                                                                  another bank account so can
                                                                                 increase my account balance.
                                                                                  increase my account balance.
        the software

                                                                                    As aaBank Business Owner I Iwant to
                                                                                     As Bank Business Owner want to
        A “good” user story describes the                                           set the ATM’s withdrawal parameters
                                                                                     set the ATM’s withdrawal parameters
        desired functionality, who wants                                            so the ATM will provide funds to
                                                                                     so the ATM will provide funds to
                                                                                    customers but protect against
                                                                                     customers but protect against
        it, how and why the functionality
                                                                                    fraudulent activities.
                                                                                     fraudulent activities.
        will be used, and is not technical




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 15
Anatomy of a User Story




                                                                                            User Role

        As a [user role] I want to                                             As an ATM user I Iwant to
                                                                               As an ATM user want to
        [goal] so I can [reason]
                                                         Goal         deposit money into my bank account
                                                                       deposit money into my bank account
                                                                     so I Ican increase my account balance
                                                                      so can increase my account balance
                                                                                                        Reason


                                                                                         3x5 Index Card




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 16
The 3 Major Elements

        Card: Contains the written description of the user story for
        planning purposes and as a reminder


        Conversation: This is the meat of the story; the dialogue that is
        carried out with the users; recorded notes; mockups; documents
        exchanged


        Confirmation: The acceptance test criteria that the user will utilize
        to confirm the story is completed



                  The card is the most visible, but it is important to think of the card
                  as representing the story, not as the whole story itself. The whole
                   story includes the conversations about it and tests to confirm it.

Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 17
ATM User Story Examples


          As an ATM user I Iwant to withdraw
           As an ATM user want to withdraw                                      As an ATM user I Iwant to transfer
                                                                                 As an ATM user want to transfer
          funds from my bank account so I I
           funds from my bank account so                                        money from one bank account to
                                                                                 money from one bank account to
          can increase my cash on hand.                                         another bank account so I Ican
                                                                                 another bank account so can
           can increase my cash on hand.
                                                                                increase my account balance.
                                                                                 increase my account balance.




          As an ATM operator I Iwant to restock
           As an ATM operator want to restock                                   As aaBank Business Owner I Iwant to
                                                                                 As Bank Business Owner want to
          the ATM with money so the ATM will
           the ATM with money so the ATM will                                   set the ATM’s withdrawal parameters
                                                                                 set the ATM’s withdrawal parameters
          be available for customers to                                         so the ATM will provide funds to
                                                                                 so the ATM will provide funds to
           be available for customers to
          withdraw funds.                                                       customers but protect against
                                                                                 customers but protect against
           withdraw funds.
                                                                                fraudulent activities.
                                                                                 fraudulent activities.




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 18
User Story Guidelines

        Good stories achieve a goal
          – For each user role, identify the goals the role has for interacting with the
            system
          – Write stories that achieve a meaningful goal for the user
          – Write stories that provide some level of end-to-end functionality

        Use the user role in the story

        Focus on one user in the story, and use the active voice

        Avoid user interface design details

        Focus your attention on the high priority stories that will be
        implemented in the next iteration


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 19
How Detailed Should a User Story Be?




                                                        Detailed enough


                           Detailed enough for the team to work from,
                          and further details to be established and clarified
                                     at the time of development


                     A well-written user story follows the INVEST model




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 20
INVEST Model

        Independent


        Negotiable


        Valuable


        Estimable


        Small


        Testable

Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 21
Where Are We?

        Some Key Principles of Agile Requirements
        Why Doesn’t Big Requirements Up-Front (BRUF) Work?
        What are User Stories?
          –    Anatomy of a User Story
          –    The 3 Major Elements
          –    User Story Guidelines
          –    INVEST Model
        How are User Stories Different?
        Benefits of Agile – Some Numbers To Consider
        Wrap-Up




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 22
How are User Stories Different? – 1



                             User Stories are not meant to be complete!


         When working with one client I told them a user story could be
                          thought of as a “to-do” list.


      The “to-do” was we had to have a further detailed conversation to
                        understand the client’s intent.




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 23
How are User Stories Different? – 2



                                 A user story is a high-level description
                                         of the requirements to be built.


                              It usually fits on a 3x5 index card and is a
                                           “promise for a conversation”
                              later between the team and the customer.




                                                                                        Elssamadisy: Agile Adoption Patterns, 2009


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com     Page - 24
User Stories and Acceptance Testing – 1

        The challenge for many
        companies is they adopt an agile
        practice for requirements, but
        they fail to adopt its counterpart
        which is Test-Driven Development

        Reality is we have to uncover and
        capture the details of what’s
        needed somewhere, this is done
        through Acceptance Testing

        A principle of agility is maximizing
        the art of what’s not done
          – Why elicit and capture requirements
            into a requirements document to then
            translate those requirements into a
            test document?
          – Why not capture our requirements in
            our test document?


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 25
User Stories and Acceptance Testing – 2

        Acceptance tests provide basic
        criteria that can be used to                                             As an ATM user I Iwant to withdraw
                                                                                  As an ATM user want to withdraw
        determine if a user story is fully                                       funds from my bank account so I I
                                                                                  funds from my bank account so
        implemented *                                                            can increase my cash on hand.
                                                                                  can increase my cash on hand.


        Having criteria that tells us when                                       Note: Funds dispensed in multiples of $20
                                                                                  Note: Funds dispensed in multiples of $20
        something is done is the best way
        to avoid putting too much, or too
        little, time and effort into it *                                                   (Index Card Flipped Over)
                                                                                              (Index Card Flipped Over)
                                                                              1. Sufficient funds available for requested amount
                                                                               1. Sufficient funds available for requested amount
                                                                                 (pass)
                                                                                  (pass)
                                                                              2. Requested amount exceeds account balance
                                                                               2. Requested amount exceeds account balance
        Acceptance tests provide a great                                         (fail)
                                                                                  (fail)
        deal of information that the                                          3. Requested amount exceeds daily withdrawal
                                                                               3. Requested amount exceeds daily withdrawal
                                                                                 amount maximum (fail)
                                                                                  amount maximum (fail)
        developers can use in advance of                                      4. Invalid ATM card inserted (fail)
                                                                               4. Invalid ATM card inserted (fail)
        coding their story *

                                                                                                 * Cohn: User Stories Applied, 2004


Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com      Page - 26
User Stories and Acceptance Testing – 3

        Eventually we will then take these
        high-level acceptance tests and                                          As an ATM user I Iwant to transfer
                                                                                  As an ATM user want to transfer
        then start to codify them                                                money from one bank account to
                                                                                  money from one bank account to
                                                                                 another bank account so I Ican
                                                                                  another bank account so can
                                                                                 increase my account balance.
                                                                                  increase my account balance.
          – Unit Level Testing using XUnit
               » JUnit, NUnit, RUnit, …
                                                                                 Note: Funds transferred in multiples of $10
                                                                                  Note: Funds transferred in multiples of $10
          – Acceptance Testing
               » Framework for Integrated Test (FIT)
                 available at http://fit.c2.com                                             (Index Card Flipped Over)
                                                                                              (Index Card Flipped Over)
               » Fitnesse available at                                        1. Sufficient funds available for transfer amount
                 http://fitnesse.org                                           1. Sufficient funds available for transfer amount
                                                                                 (pass)
                                                                                  (pass)
                                                                              2. Specified bank account invalid routing # (fail)
                                                                               2. Specified bank account invalid routing # (fail)
                                                                              3. Amount entered not in multiples of $10 (fail)
          – GUI Testing                                                        3. Amount entered not in multiples of $10 (fail)
                                                                              4. Invalid ATM card inserted (fail)
               » Selenium available at                                         4. Invalid ATM card inserted (fail)
                 http://seleniumhq.org




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 27
Where Are We?

        Some Key Principles of Agile Requirements
        Why Doesn’t Big Requirements Up-Front (BRUF) Work?
        What are User Stories?
          –    Anatomy of a User Story
          –    The 3 Major Elements
          –    User Story Guidelines
          –    INVEST Model
        How are User Stories Different?
        Benefits of Agile – Some Numbers To Consider
        Wrap-Up




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 28
Benefits of Agile – Some Numbers To Consider *

        93% increased productivity 1
        88% increased quality 1
        83% improved stakeholder
        satisfaction 1
        49% reduced costs 1
        66% three-year, risk-adjusted return
        on investment 2


        Reasons for Agile adoption include:
          – 47% to better manage project scope 3
          – 45% to create clear business
            requirements 3                                                  1 “Agile Methodologies: Survey Results”, Shine Technologies, 2003
                                                                            2 Forrester Research, 2004
          – 40% to speed or better predict time to                          3 “Agile 2006 Survey Results and Analysis”, Digital Focus, 2005
            market 3

                                                                                                * Source: http://www.rallydev.com

Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com      Page - 29
Wrap-Up

        Some Key Principles of Agile Requirements
        Why Doesn’t Big Requirements Up-Front (BRUF) Work?
        What are User Stories?
          –   Anatomy of a User Story
          –   The 3 Major Elements
          –   User Story Guidelines
          –   INVEST Model
        How are User Stories Different?
          – User Stories Focus on Intent
        Benefits of Agile – Some Numbers To Consider
        Wrap-Up




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 30
“If you really want to do something, you'll find a way...
                              If you don't, you'll find an excuse."


                                                             – Unknown




Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 31
Thank You!




             Version 2.00
More Information

        To contact us our consulting and training services or how we
        work with organizations to build a Business Analysis Center of
        Excellence

          – Please call +1.610.831.1151
          – E-mail: info@williamnazzaro.com

        Ask about some of our popular courses like:
          –   Effective Use Case Development
          –   Business Analysis – Requirements Discovery and Facilitation
          –   Agile Project Management Primer
          –   Developing Requirements with User Stories
          –   Applying Scrum with User Stories
          –   Applying Scrum with Use Cases
          –   Service-Oriented Analysis

Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com   Page - 33

Más contenido relacionado

La actualidad más candente

Microservices with event source and CQRS
Microservices with event source and CQRSMicroservices with event source and CQRS
Microservices with event source and CQRSMd Ayub Ali Sarker
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Mohamed Sami El-Tahawy
 
Web Locker For Online Banking System Chapter final project Report page
Web Locker For Online Banking System  Chapter final project Report pageWeb Locker For Online Banking System  Chapter final project Report page
Web Locker For Online Banking System Chapter final project Report pageMukesh Chaudhary(L.I.O.N)
 
Agile Estimating Technique
Agile Estimating TechniqueAgile Estimating Technique
Agile Estimating TechniqueSaad Hussain
 
Jak technika user story & acceptance criteria pozwala definiować wymagania w ...
Jak technika user story & acceptance criteria pozwala definiować wymagania w ...Jak technika user story & acceptance criteria pozwala definiować wymagania w ...
Jak technika user story & acceptance criteria pozwala definiować wymagania w ...Rafal Stanczak »scrumdo(.)pl
 
eXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OvervieweXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OverviewGurtej Pal Singh
 
A CASE Lab Report - Project File on "ATM - Banking System"
A CASE Lab Report - Project File on  "ATM - Banking System"A CASE Lab Report - Project File on  "ATM - Banking System"
A CASE Lab Report - Project File on "ATM - Banking System"joyousbharat
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessStephen Tucker
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile RequirementsMike Cohn
 
How to estimate in scrum
How to estimate in scrumHow to estimate in scrum
How to estimate in scrumGloria Stoilova
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 

La actualidad más candente (20)

waterfall model
waterfall modelwaterfall model
waterfall model
 
Microservices with event source and CQRS
Microservices with event source and CQRSMicroservices with event source and CQRS
Microservices with event source and CQRS
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Web Locker For Online Banking System Chapter final project Report page
Web Locker For Online Banking System  Chapter final project Report pageWeb Locker For Online Banking System  Chapter final project Report page
Web Locker For Online Banking System Chapter final project Report page
 
Agile Estimating Technique
Agile Estimating TechniqueAgile Estimating Technique
Agile Estimating Technique
 
Water fall model
Water fall modelWater fall model
Water fall model
 
What is agile model
What is agile modelWhat is agile model
What is agile model
 
Jak technika user story & acceptance criteria pozwala definiować wymagania w ...
Jak technika user story & acceptance criteria pozwala definiować wymagania w ...Jak technika user story & acceptance criteria pozwala definiować wymagania w ...
Jak technika user story & acceptance criteria pozwala definiować wymagania w ...
 
scrum
scrumscrum
scrum
 
SDLC, Iterative Model
SDLC, Iterative ModelSDLC, Iterative Model
SDLC, Iterative Model
 
eXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OvervieweXtreme programming (XP) - An Overview
eXtreme programming (XP) - An Overview
 
Agile model
Agile modelAgile model
Agile model
 
Agile
AgileAgile
Agile
 
A CASE Lab Report - Project File on "ATM - Banking System"
A CASE Lab Report - Project File on  "ATM - Banking System"A CASE Lab Report - Project File on  "ATM - Banking System"
A CASE Lab Report - Project File on "ATM - Banking System"
 
Story mapping
Story mapping Story mapping
Story mapping
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile Requirements
 
How to estimate in scrum
How to estimate in scrumHow to estimate in scrum
How to estimate in scrum
 
ATM System management
ATM System managementATM System management
ATM System management
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 

Destacado

User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
User stories
User storiesUser stories
User storiesudairaj
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
Exam The President
Exam The PresidentExam The President
Exam The Presidentjulidelgado
 
Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1
Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1
Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1Atte Järvelä
 
Trabajo De Sociales Campo Elias
Trabajo De Sociales Campo EliasTrabajo De Sociales Campo Elias
Trabajo De Sociales Campo Elias052298
 
ELI2010 Doing More with Much, Much Less -- Koralesky
ELI2010 Doing More with Much, Much Less -- KoraleskyELI2010 Doing More with Much, Much Less -- Koralesky
ELI2010 Doing More with Much, Much Less -- KoraleskyBarron Koralesky
 
Converting audio for use in Final Cut Pro with iTunes
Converting audio for use in Final Cut Pro with iTunesConverting audio for use in Final Cut Pro with iTunes
Converting audio for use in Final Cut Pro with iTunesIan Pollock
 
juliana delgado s.s. work
juliana delgado s.s. workjuliana delgado s.s. work
juliana delgado s.s. workjulidelgado
 
Introducing-Alipro
Introducing-AliproIntroducing-Alipro
Introducing-Aliprotstamate
 
Veto-hanke OAKK loppuraportti
Veto-hanke OAKK loppuraporttiVeto-hanke OAKK loppuraportti
Veto-hanke OAKK loppuraporttiAtte Järvelä
 
Latin By Rowan Vco Year9
Latin By Rowan Vco Year9Latin By Rowan Vco Year9
Latin By Rowan Vco Year9guest504b1c
 
Haaga Helia Kehittamistyo Atte Jarvela
Haaga Helia Kehittamistyo Atte JarvelaHaaga Helia Kehittamistyo Atte Jarvela
Haaga Helia Kehittamistyo Atte JarvelaAtte Järvelä
 
C:\Fakepath\Promote Awud
C:\Fakepath\Promote AwudC:\Fakepath\Promote Awud
C:\Fakepath\Promote AwudCSFBookman
 

Destacado (20)

User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
Sharepoint 2010 User Stories
Sharepoint 2010 User StoriesSharepoint 2010 User Stories
Sharepoint 2010 User Stories
 
User stories
User storiesUser stories
User stories
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Exam The President
Exam The PresidentExam The President
Exam The President
 
Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1
Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1
Haaga helia msl_tehtaevae_atte_jaervelae_arvioitu-1
 
Trabajo De Sociales Campo Elias
Trabajo De Sociales Campo EliasTrabajo De Sociales Campo Elias
Trabajo De Sociales Campo Elias
 
E:\Iprimi30
E:\Iprimi30E:\Iprimi30
E:\Iprimi30
 
ELI2010 Doing More with Much, Much Less -- Koralesky
ELI2010 Doing More with Much, Much Less -- KoraleskyELI2010 Doing More with Much, Much Less -- Koralesky
ELI2010 Doing More with Much, Much Less -- Koralesky
 
Converting audio for use in Final Cut Pro with iTunes
Converting audio for use in Final Cut Pro with iTunesConverting audio for use in Final Cut Pro with iTunes
Converting audio for use in Final Cut Pro with iTunes
 
Juli Trabajo
Juli TrabajoJuli Trabajo
Juli Trabajo
 
juliana delgado s.s. work
juliana delgado s.s. workjuliana delgado s.s. work
juliana delgado s.s. work
 
Introducing-Alipro
Introducing-AliproIntroducing-Alipro
Introducing-Alipro
 
Portt
PorttPortt
Portt
 
Veto-hanke OAKK loppuraportti
Veto-hanke OAKK loppuraporttiVeto-hanke OAKK loppuraportti
Veto-hanke OAKK loppuraportti
 
Latin By Rowan Vco Year9
Latin By Rowan Vco Year9Latin By Rowan Vco Year9
Latin By Rowan Vco Year9
 
Haaga Helia Kehittamistyo Atte Jarvela
Haaga Helia Kehittamistyo Atte JarvelaHaaga Helia Kehittamistyo Atte Jarvela
Haaga Helia Kehittamistyo Atte Jarvela
 
Intro to the AMP
Intro to the AMPIntro to the AMP
Intro to the AMP
 
what is excel??
what is excel??what is excel??
what is excel??
 
C:\Fakepath\Promote Awud
C:\Fakepath\Promote AwudC:\Fakepath\Promote Awud
C:\Fakepath\Promote Awud
 

Similar a Requirements Made Easy With User Stories V2

Agile, IT and the Business Community
Agile, IT and the Business CommunityAgile, IT and the Business Community
Agile, IT and the Business CommunityWilliam F. Nazzaro
 
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Strongback Consulting
 
eAccess-12 roundtable: Case Studies of Implementing BS 88878
eAccess-12 roundtable: Case Studies of Implementing BS 88878eAccess-12 roundtable: Case Studies of Implementing BS 88878
eAccess-12 roundtable: Case Studies of Implementing BS 88878Jonathan Hassell
 
How to Build a Platform Team
How to Build a Platform TeamHow to Build a Platform Team
How to Build a Platform TeamVMware Tanzu
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsTechWell
 
The Permanent Campaign
The Permanent CampaignThe Permanent Campaign
The Permanent CampaignDenim Group
 
Andrew Russell Resume - Change Leadership (2016)
Andrew Russell Resume - Change Leadership (2016)Andrew Russell Resume - Change Leadership (2016)
Andrew Russell Resume - Change Leadership (2016)Andrew Russell
 
Think Future Technologies
Think Future TechnologiesThink Future Technologies
Think Future TechnologiesSwati Singh
 
Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...
Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...
Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...Atlassian
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
The Permanent Campaign: Driving a Secure Software Initiative in the Enterprise
The Permanent Campaign: Driving a Secure Software Initiative in the EnterpriseThe Permanent Campaign: Driving a Secure Software Initiative in the Enterprise
The Permanent Campaign: Driving a Secure Software Initiative in the EnterpriseDenim Group
 
Venn Consulting Project
Venn Consulting ProjectVenn Consulting Project
Venn Consulting ProjectChris Poteet
 
Revolutionizing the user_experience
Revolutionizing the user_experienceRevolutionizing the user_experience
Revolutionizing the user_experienceQuestexConf
 
How BS8878 brings together usability & accessibility
How BS8878 brings together usability & accessibilityHow BS8878 brings together usability & accessibility
How BS8878 brings together usability & accessibilityJonathan Hassell
 
Brighttalk understanding the promise of sde - final
Brighttalk   understanding the promise of sde - finalBrighttalk   understanding the promise of sde - final
Brighttalk understanding the promise of sde - finalAndrew White
 
World Wide Technology Webinar - Software Defined Networking
World Wide Technology Webinar - Software Defined NetworkingWorld Wide Technology Webinar - Software Defined Networking
World Wide Technology Webinar - Software Defined NetworkingWorld Wide Technology
 
Presentation 20111102
Presentation 20111102Presentation 20111102
Presentation 20111102dgarlough
 

Similar a Requirements Made Easy With User Stories V2 (20)

Agile, IT and the Business Community
Agile, IT and the Business CommunityAgile, IT and the Business Community
Agile, IT and the Business Community
 
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
 
eAccess-12 roundtable: Case Studies of Implementing BS 88878
eAccess-12 roundtable: Case Studies of Implementing BS 88878eAccess-12 roundtable: Case Studies of Implementing BS 88878
eAccess-12 roundtable: Case Studies of Implementing BS 88878
 
How to Build a Platform Team
How to Build a Platform TeamHow to Build a Platform Team
How to Build a Platform Team
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective Actions
 
The Permanent Campaign
The Permanent CampaignThe Permanent Campaign
The Permanent Campaign
 
Usability 101
Usability 101Usability 101
Usability 101
 
Selling Agile At Your Company
Selling Agile At Your CompanySelling Agile At Your Company
Selling Agile At Your Company
 
Andrew Russell Resume - Change Leadership (2016)
Andrew Russell Resume - Change Leadership (2016)Andrew Russell Resume - Change Leadership (2016)
Andrew Russell Resume - Change Leadership (2016)
 
Think Future Technologies
Think Future TechnologiesThink Future Technologies
Think Future Technologies
 
Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...
Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...
Building a Culture of Collaboration: The Perishing Intranet - Atlassian Summi...
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
The Permanent Campaign: Driving a Secure Software Initiative in the Enterprise
The Permanent Campaign: Driving a Secure Software Initiative in the EnterpriseThe Permanent Campaign: Driving a Secure Software Initiative in the Enterprise
The Permanent Campaign: Driving a Secure Software Initiative in the Enterprise
 
Venn Consulting Project
Venn Consulting ProjectVenn Consulting Project
Venn Consulting Project
 
Agile.usability
Agile.usabilityAgile.usability
Agile.usability
 
Revolutionizing the user_experience
Revolutionizing the user_experienceRevolutionizing the user_experience
Revolutionizing the user_experience
 
How BS8878 brings together usability & accessibility
How BS8878 brings together usability & accessibilityHow BS8878 brings together usability & accessibility
How BS8878 brings together usability & accessibility
 
Brighttalk understanding the promise of sde - final
Brighttalk   understanding the promise of sde - finalBrighttalk   understanding the promise of sde - final
Brighttalk understanding the promise of sde - final
 
World Wide Technology Webinar - Software Defined Networking
World Wide Technology Webinar - Software Defined NetworkingWorld Wide Technology Webinar - Software Defined Networking
World Wide Technology Webinar - Software Defined Networking
 
Presentation 20111102
Presentation 20111102Presentation 20111102
Presentation 20111102
 

Requirements Made Easy With User Stories V2

  • 1. Requirements Made Easy with User Stories Presented by: William F. Nazzaro Nazzaro & Associates +1.610.831.1151 info@williamnazzaro.com Version 2.00
  • 2. Nazzaro & Associates Background A Philadelphia-based consultancy dedicated to the highest-quality delivery of project mentoring, training and organizational transformation Full lifecycle consulting, coaching and mentoring – Requirements – Use Cases, User-Stories, IIBA – Process – Agile (XP, TDD), Unified Process, CMMi – Project Management – Scrum, Iterative, PMI – Architecture – Service-Oriented Architecture – Organizational Change Management and Improvement – Delivered On-Site, Globally Full lifecycle software training curriculum – Highly differentiated offerings – Experiential approach and skills building – Virtual and on-site Multi-tool vendor expertise – IBM Rational, Microsoft, Borland, HP Mercury, BluePrint, VersionOne, RallyDev Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 2
  • 3. Presenter’s Background Twenty years of success in delivering enterprise software solutions for Fortune 100 companies, he has provided unparalleled services in project mentoring, use case and user story training and modeling, agile SCRUM, XP, TDD, service- oriented architecture, Unified Process and CMMi adoption, Java, C++, C, and Smalltalk programming languages, and technical curriculum development and delivery. His pragmatic emphasis on project execution and process improvement has benefited major insurance, health-care, human resources, stock market organizations and Department of Defense where he has enabled the transformation of their corporate development processes and development teams of diverse skill- levels. He has provided in-depth talks on Agility, Use Case Modeling, Service-Oriented Architecture, Unified Process, Object Technology and Data Modeling. He has extensive background in project management, and has successfully led teams on multi-million dollar projects to provide the highest-quality technical solutions in the most efficient and effective manner. Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 3
  • 4. Introduction 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 an alternative to BRUF, User Stories, and what we should expect when we transition to this technique. Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 4
  • 5. Agenda Some Key Principles of Agile Requirements Why Doesn’t Big Requirements Up-Front (BRUF) Work? What are User Stories? – Anatomy of a User Story – The 3 Major Elements – User Story Guidelines – INVEST Model How are User Stories Different? Benefits of Agile – Some Numbers To Consider Wrap-Up Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 5
  • 6. Some Key Principles of Agile Requirements Active user involvement is essential Requirements emerge and evolve as software is developed Agile requirements are ‘barely sufficient’ Requirements are developed in small, bite-sized pieces Cooperation, collaboration, and communication between all team members is essential Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 6
  • 7. Requirements are a Communication Problem Written Requirements Verbal Requirements – Can be well thought through, – Instantaneous feedback and reviewed and edited clarification – Provide a permanent record – Information-packed exchange – Are more easily share with groups of – Easier to clarify and gain common people understanding – Time consuming to produce – More easily adapted to any new information known at the time – May be less relevant or superseded over time – Can spark ideas about problems and opportunities – Can be easily misinterpreted As we will see, user stories seek to combine the strengths of written and verbal communication Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 7
  • 8. Where Are We? Some Key Principles of Agile Requirements Why Doesn’t Big Requirements Up-Front (BRUF) Work? What are User Stories? – Anatomy of a User Story – The 3 Major Elements – User Story Guidelines – INVEST Model How are User Stories Different? Benefits of Agile – Some Numbers To Consider Wrap-Up Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 8
  • 9. Why Doesn’t “Big Requirements Up-Front” Work? Generally there’s a fallacy and flaw that we can elicit and document our requirements all at once – Customer’s don’t typically know their requirements – Customer’s requirements and solution expectation change of time Requirements Analysis Design Coding and Unit Test Subsystem Integration System Test Time Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 9
  • 10. What’s the Goal of Our Software Development Activities? Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 10
  • 11. Serial Approach to Requirements Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 11
  • 12. Wastage Occurs for Several Reasons – 1 The requirements change – The period between the time that the requirements are “finalized” to the time that the system is actually deployed will often span months, if not years – During this timeframe changes will occur in the marketplace, legislation will change, and your organization’s strategy will change – All of these changes in turn will motivate true changes to your requirements People’s understanding of the requirements change – More often than not what we identify as a changed requirement is really just an improved understanding of the actual requirement – People aren’t very good at predicting what they want – They are good at indicating what they sort of think that they might want, and then once they see what you’ve built then can then provide some feedback as to how to get it closer to what is actually needed – It’s natural for people to change their minds, so you need an approach which easily enables this Source: http://www.agilemodeling.com/ essays/examiningBRUF.htm Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 12
  • 13. Wastage Occurs for Several Reasons – 2 People make up requirements – An unfortunate side effect of the traditional approach to development is that we’ve taught several generations of stakeholders that it’s going to be relatively painless to define requirements early, but relatively painful to change their minds later – In other words, they’re motivated to brainstorm requirements which they think they might need at some point, guaranteeing that a large percentage of the functionality that they specify really isn’t needed in actual practice You effectively put a cap on what you will deliver – Very often with a BRUF approach you in effect define the best that will be delivered by the team and then throughout the project you negotiate downwards from there as you begin to run out of resources or time Source: http://www.agilemodeling.com/ essays/examiningBRUF.htm Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 13
  • 14. Where Are We? Some Key Principles of Agile Requirements Why Doesn’t Big Requirements Up-Front (BRUF) Work? What are User Stories? – Anatomy of a User Story – The 3 Major Elements – User Story Guidelines – INVEST Model How are User Stories Different? Benefits of Agile – Some Numbers To Consider Wrap-Up Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 14
  • 15. What are User Stories Describes desired functionality As an ATM user I Iwant to withdraw As an ATM user want to withdraw from the customer’s, purchaser’s funds from my bank account so I I funds from my bank account so or user’s perspective can increase my cash on hand. can increase my cash on hand. A simple, written description of a As an ATM user I Iwant to transfer As an ATM user want to transfer piece of functionality that will be money from one bank account to money from one bank account to valuable for the user or owner of another bank account so I Ican another bank account so can increase my account balance. increase my account balance. the software As aaBank Business Owner I Iwant to As Bank Business Owner want to A “good” user story describes the set the ATM’s withdrawal parameters set the ATM’s withdrawal parameters desired functionality, who wants so the ATM will provide funds to so the ATM will provide funds to customers but protect against customers but protect against it, how and why the functionality fraudulent activities. fraudulent activities. will be used, and is not technical Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 15
  • 16. Anatomy of a User Story User Role As a [user role] I want to As an ATM user I Iwant to As an ATM user want to [goal] so I can [reason] Goal deposit money into my bank account deposit money into my bank account so I Ican increase my account balance so can increase my account balance Reason 3x5 Index Card Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 16
  • 17. The 3 Major Elements Card: Contains the written description of the user story for planning purposes and as a reminder Conversation: This is the meat of the story; the dialogue that is carried out with the users; recorded notes; mockups; documents exchanged Confirmation: The acceptance test criteria that the user will utilize to confirm the story is completed The card is the most visible, but it is important to think of the card as representing the story, not as the whole story itself. The whole story includes the conversations about it and tests to confirm it. Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 17
  • 18. ATM User Story Examples As an ATM user I Iwant to withdraw As an ATM user want to withdraw As an ATM user I Iwant to transfer As an ATM user want to transfer funds from my bank account so I I funds from my bank account so money from one bank account to money from one bank account to can increase my cash on hand. another bank account so I Ican another bank account so can can increase my cash on hand. increase my account balance. increase my account balance. As an ATM operator I Iwant to restock As an ATM operator want to restock As aaBank Business Owner I Iwant to As Bank Business Owner want to the ATM with money so the ATM will the ATM with money so the ATM will set the ATM’s withdrawal parameters set the ATM’s withdrawal parameters be available for customers to so the ATM will provide funds to so the ATM will provide funds to be available for customers to withdraw funds. customers but protect against customers but protect against withdraw funds. fraudulent activities. fraudulent activities. Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 18
  • 19. User Story Guidelines Good stories achieve a goal – For each user role, identify the goals the role has for interacting with the system – Write stories that achieve a meaningful goal for the user – Write stories that provide some level of end-to-end functionality Use the user role in the story Focus on one user in the story, and use the active voice Avoid user interface design details Focus your attention on the high priority stories that will be implemented in the next iteration Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 19
  • 20. How Detailed Should a User Story Be? Detailed enough Detailed enough for the team to work from, and further details to be established and clarified at the time of development A well-written user story follows the INVEST model Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 20
  • 21. INVEST Model Independent Negotiable Valuable Estimable Small Testable Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 21
  • 22. Where Are We? Some Key Principles of Agile Requirements Why Doesn’t Big Requirements Up-Front (BRUF) Work? What are User Stories? – Anatomy of a User Story – The 3 Major Elements – User Story Guidelines – INVEST Model How are User Stories Different? Benefits of Agile – Some Numbers To Consider Wrap-Up Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 22
  • 23. How are User Stories Different? – 1 User Stories are not meant to be complete! When working with one client I told them a user story could be thought of as a “to-do” list. The “to-do” was we had to have a further detailed conversation to understand the client’s intent. Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 23
  • 24. How are User Stories Different? – 2 A user story is a high-level description of the requirements to be built. It usually fits on a 3x5 index card and is a “promise for a conversation” later between the team and the customer. Elssamadisy: Agile Adoption Patterns, 2009 Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 24
  • 25. User Stories and Acceptance Testing – 1 The challenge for many companies is they adopt an agile practice for requirements, but they fail to adopt its counterpart which is Test-Driven Development Reality is we have to uncover and capture the details of what’s needed somewhere, this is done through Acceptance Testing A principle of agility is maximizing the art of what’s not done – Why elicit and capture requirements into a requirements document to then translate those requirements into a test document? – Why not capture our requirements in our test document? Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 25
  • 26. User Stories and Acceptance Testing – 2 Acceptance tests provide basic criteria that can be used to As an ATM user I Iwant to withdraw As an ATM user want to withdraw determine if a user story is fully funds from my bank account so I I funds from my bank account so implemented * can increase my cash on hand. can increase my cash on hand. Having criteria that tells us when Note: Funds dispensed in multiples of $20 Note: Funds dispensed in multiples of $20 something is done is the best way to avoid putting too much, or too little, time and effort into it * (Index Card Flipped Over) (Index Card Flipped Over) 1. Sufficient funds available for requested amount 1. Sufficient funds available for requested amount (pass) (pass) 2. Requested amount exceeds account balance 2. Requested amount exceeds account balance Acceptance tests provide a great (fail) (fail) deal of information that the 3. Requested amount exceeds daily withdrawal 3. Requested amount exceeds daily withdrawal amount maximum (fail) amount maximum (fail) developers can use in advance of 4. Invalid ATM card inserted (fail) 4. Invalid ATM card inserted (fail) coding their story * * Cohn: User Stories Applied, 2004 Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 26
  • 27. User Stories and Acceptance Testing – 3 Eventually we will then take these high-level acceptance tests and As an ATM user I Iwant to transfer As an ATM user want to transfer then start to codify them money from one bank account to money from one bank account to another bank account so I Ican another bank account so can increase my account balance. increase my account balance. – Unit Level Testing using XUnit » JUnit, NUnit, RUnit, … Note: Funds transferred in multiples of $10 Note: Funds transferred in multiples of $10 – Acceptance Testing » Framework for Integrated Test (FIT) available at http://fit.c2.com (Index Card Flipped Over) (Index Card Flipped Over) » Fitnesse available at 1. Sufficient funds available for transfer amount http://fitnesse.org 1. Sufficient funds available for transfer amount (pass) (pass) 2. Specified bank account invalid routing # (fail) 2. Specified bank account invalid routing # (fail) 3. Amount entered not in multiples of $10 (fail) – GUI Testing 3. Amount entered not in multiples of $10 (fail) 4. Invalid ATM card inserted (fail) » Selenium available at 4. Invalid ATM card inserted (fail) http://seleniumhq.org Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 27
  • 28. Where Are We? Some Key Principles of Agile Requirements Why Doesn’t Big Requirements Up-Front (BRUF) Work? What are User Stories? – Anatomy of a User Story – The 3 Major Elements – User Story Guidelines – INVEST Model How are User Stories Different? Benefits of Agile – Some Numbers To Consider Wrap-Up Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 28
  • 29. Benefits of Agile – Some Numbers To Consider * 93% increased productivity 1 88% increased quality 1 83% improved stakeholder satisfaction 1 49% reduced costs 1 66% three-year, risk-adjusted return on investment 2 Reasons for Agile adoption include: – 47% to better manage project scope 3 – 45% to create clear business requirements 3 1 “Agile Methodologies: Survey Results”, Shine Technologies, 2003 2 Forrester Research, 2004 – 40% to speed or better predict time to 3 “Agile 2006 Survey Results and Analysis”, Digital Focus, 2005 market 3 * Source: http://www.rallydev.com Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 29
  • 30. Wrap-Up Some Key Principles of Agile Requirements Why Doesn’t Big Requirements Up-Front (BRUF) Work? What are User Stories? – Anatomy of a User Story – The 3 Major Elements – User Story Guidelines – INVEST Model How are User Stories Different? – User Stories Focus on Intent Benefits of Agile – Some Numbers To Consider Wrap-Up Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 30
  • 31. “If you really want to do something, you'll find a way... If you don't, you'll find an excuse." – Unknown Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 31
  • 32. Thank You! Version 2.00
  • 33. More Information To contact us our consulting and training services or how we work with organizations to build a Business Analysis Center of Excellence – Please call +1.610.831.1151 – E-mail: info@williamnazzaro.com Ask about some of our popular courses like: – Effective Use Case Development – Business Analysis – Requirements Discovery and Facilitation – Agile Project Management Primer – Developing Requirements with User Stories – Applying Scrum with User Stories – Applying Scrum with Use Cases – Service-Oriented Analysis Copyright © 2010 Process Synergy, LLC. All Rights Reserved. | www.williamnazzaro.com | +1.610.831.1151 | info@williamnazzaro.com Page - 33