SlideShare ist ein Scribd-Unternehmen logo
1 von 48
From Concept to Coding
      THE ART OF WRITING REQUIREMENTS
The Beginning: Oh, the noise!
                      Oh, the Noise! Noise! Noise!
                      That's one thing he hated! The
                      NOISE! NOISE! NOISE!
                                                                                  ~ The Grinch




            PATHFINDER
            DEVELOPMENT
            © 2008




The beginning of a project generates a lot of great ideas; BUT, until a structure or cohesion is applied to these ideas, they end
up being a loose collection of separate ideas with no direction. (And weʼve all worked on THOSE kinds of projects before.)
Requirements brings cohesion and direction to the noise.
Requirements: Establish the territory;
                                 establish the context;
                                 establish the direction




            PATHFINDER
            DEVELOPMENT
            © 2008




Because we are consultants, when we start new projects we like to know the clientʼs territory, context and direction. Territory is
the space the client occupies - their vertical; context is the clientʼs role within that territory - what service to they provide;
direction is where the client needs to go - does the project support this
Product Requirements
               defines product concept and user base




PATHFINDER
DEVELOPMENT
© 2008
From Problem to Solution

                  Client: Sustainable Developer
                          Works with communities and planners
                    ★

                          Promotes emerging technology
                    ★
                          • wind farms, sustainable housing, etc.




            PATHFINDER
            DEVELOPMENT
            © 2008




Hereʼs our imaginary client: a Sustainable Developer. Their territory is construction/development; the context is that they bring
green ideas to traditional planning/building.
Business Problem: no one
                           gets our ideas until theyʼre
                           built -- and then itʼs too late.




            PATHFINDER
            DEVELOPMENT
            © 2008




If you canʼt articulate the problem, how can you define a solution?
Product Concept: We need an interactive
                                   tool to visually explain our ideas in order to
                                            get usersʼ input and buy-in
            PATHFINDER
            DEVELOPMENT
            © 2008




The product concept addresses the problem; it is the overarching idea of your software and all features need to relate back to
it. Defining the concept is the first step in restraining scope creep.
Identify the Users

                 Who will be using this software
                          Research who will be using your product
                    ★

                          Identify the Personas
                    ★




            PATHFINDER
            DEVELOPMENT
            © 2008




Identifying users allows you to create a product that meets their needs, instead of a product that meets what it thinks the
needs of the users are. Addressing the actual needs of the people who will be using your product puts you further ahead on
the road to success.
Personas: Personas are
                           fictitious characters created
                           to represent the different
                           user types that might use a
                           site or product.




            PATHFINDER
            DEVELOPMENT
            © 2008




Personas are effective in keeping meetings focused on the product and the users who will be directly interacting with it.
Addressing any issues from the POV of a persona removes the personal from resolving fringe case arguments or the latest
widget advocates; i.e., stating it makes no sense to Persona Sally is an effective argument since she is the end user of the
product
Who are the Personas for this
                           Product: We need an interactive tool
                           to visually explain our concepts in
                           order to get usersʼ input and buy-in




             PATHFINDER
             DEVELOPMENT
             © 2008




hereʼs the concept again -- research into the types of users interacting with this product will yield personas
city council

                                                                          the community




  fellow visionaries
            PATHFINDER
            DEVELOPMENT
            © 2008




For our case study, weʼll say our research uncovered users who can be categorized into these groups:
city council
fellow visionaries
the community
Identify Usersʼ Goals

                 What do they need to accomplish; what
                 are their goals
                          High level User Stories describe needs and goals
                   ★

                          As a user, I need to do a task so I can accomplish my goal
                   ★




            PATHFINDER
            DEVELOPMENT
            © 2008




Personas have needs and goals. User stories help us to transform these needs and goals into user requirements. These
requirements will, in turn, define what it is weʼre building.
As a member of the Community, I need to:
                                                                         Search for developments in my area
                                                                     ★
                                                                         so that I can stay current
                                                                         View the proposed solutions so that I
                                                                     ★
                                                                         can become informed
                                                                         Be able to add my comments so that
                                                                     ★
                                                                         my voice is present
                                                                         View a list of meeting times so that I
                                                                     ★
                                                                         can plan to participate
                                                                         Receive alerts so that I can be
                                                                     ★
                                                                         updated




            PATHFINDER
            DEVELOPMENT
            © 2008




User Story: As a user, I need to do something in order to get this benefit.
User Needs > Features > Scope

     Personasʼ definition helps to determine:
              Tasks the system must support for user to meet their
       ★
              goals
              • add an account
              • manage that account
              Which tasks to consolidate into features
       ★
              • Adding an account and managing that account means at a high level
                weʼll need an Account area in the application

              Features & tasks determine the scope and effort
       ★




PATHFINDER
DEVELOPMENT
© 2008
Concept + Users + Tasks = List of Features




             PATHFINDER
             DEVELOPMENT
             © 2008




The list of features is what youʼll need to begin to scope out a project. Writing user stories for the features helps to nail down
scope and determine the needed effort by development. Ranking the features helps with the iteration planning.
Feature Requirements
                define the scope and functionality




PATHFINDER
DEVELOPMENT
© 2008
Anatomy of a Feature
                                     Requirement

                  For each Feature:
                      Identify the user stories
                  ★

                      Write the acceptance tests
                  ★

                      Diagram the workflow
                  ★

                      Create the wireframes
                  ★

                      Write the specifications
                  ★




            PATHFINDER
            DEVELOPMENT
            © 2008




At Pathfinder, weʼve found documenting these five attributes are sufficient to fully define a feature. Starting at the highest level
(user story), we drill down into the details, uncovering gaps or discrepancies before weʼve started coding. Design before
development saves money and time.
Anatomy of a Feature
                                     Requirement

                  For each Feature:
                      Identify the user stories
                  ★

                      Write the acceptance tests
                  ★

                      Diagram the workflow
                  ★

                      Create the wireframes
                  ★

                      Write the specifications
                  ★




            PATHFINDER
            DEVELOPMENT
            © 2008




At Pathfinder, weʼve found documenting these five attributes are sufficient to fully define a feature. Starting at the highest level
(user story), we drill down into the details, uncovering gaps or discrepancies before weʼve started coding. Design before
development saves money and time.
User Story: States the
                           functionality of a feature as
                           told from the POV of the
                           Persona. Describes the
                           what, not the how.




            PATHFINDER
            DEVELOPMENT
            © 2008




User Stories are very high level and are used to estimate the degree of difficulty to implement (which ties in with iteration
planning)
Use cases are a sequence of steps detailing the interactions between an actor and the system and are generally used to
capture the functional requirements of a system before implementation.
Characteristics of a good
                           User Story - who, what, why

                    A user story is written at a high level
                    ★ Tells you who is using the feature
                    ★ Describes what a user can do with this
                           feature, not how theyʼll do it
                    ★ States the featureʼs benefit for the user
                    Used to generate the acceptance tests




             PATHFINDER
             DEVELOPMENT
             © 2008




The syntax we use for User Stories is:
User Story: As a [persona - who], I want [feature - what], so I can [benefit - why].
User Stories - Where to Start?

                      Identify the tasks a user needs to do in a
                      feature
                           I need to create/update/delete accounts
                      ★

                      Write the user stories based on those
                      tasks, but at a high level
                           I need to manage accounts
                      ★

                      The acceptance tests will get into more
                      detail




             PATHFINDER
             DEVELOPMENT
             © 2008




The syntax we use for User Stories is:
User Story: As a [persona - who], I want [feature - what], so I can [benefit - why].
User Story: As a [persona - who], I
                want [feature - what], so I can
                        [benefit - why].
PATHFINDER
DEVELOPMENT
© 2008
User Story: As a Community member, I
              want to find planning meetings, so I can
                     participate in the process.
PATHFINDER
DEVELOPMENT
© 2008
Anatomy of a Feature
                     Requirement

     For each Feature:
         Identify the user stories
     ★

         Write the acceptance tests
     ★

         Diagram the workflow
     ★

         Create the wireframes
     ★

         Write the specifications
     ★




PATHFINDER
DEVELOPMENT
© 2008
Acceptance Test: series of
                          scenarios based on the User
                          Story that defines the
                          scope of the feature along
                          with its acceptance criteria.




            PATHFINDER
            DEVELOPMENT
            © 2008




Describe the feature such that everyone – the business people, the analyst, the developer and the tester – have a common
understanding of the scope of the work and agree to a common definition of “done”.
Characteristics of a good
                                Acceptance Test

                 Acceptance Tests have more detail than
                 a User Story but less than the
                 development specifications
                 Two parts:
                          Title describes an activity that the user wants to do in
                    ★
                          this feature
                          Scenario is described in terms of Givens, Events and
                    ★
                          Outcomes




            PATHFINDER
            DEVELOPMENT
            © 2008




Acceptance tests are the next level down in details from the User Stories. They are scoping out the feature and defining what
complete means for that feature. While they are written in more detail than a user story, itʼs still more along the lines of a
scenario rather than specifications.
Givens, Events, Outcomes

                   Scenarios:
                          Precondition (the givens)
                     ★

                          Actions (the events)
                     ★

                          Expected Behavior (the outcome)
                     ★




            PATHFINDER
            DEVELOPMENT
            © 2008




The givens should define all of, and no more than, the required context
The event should describe the actions the user takes
Outcome describes the desired behavior of the actions
Title
              Given that [context]
                And that [some more context]
              When [event/action]
                And [additional actions]
              Then [expected outcome]
                And [additional expected outcome]



PATHFINDER
DEVELOPMENT
© 2008
Search for Events
              Given that the user is a member of the
              community
                 And that the user has successfully
              logged in
              When the user enters search criteria for
              an event
                 And the user specifies a location
              Then the systems returns all events for
              that location that match the search
              criteria
PATHFINDER
DEVELOPMENT
© 2008
Anatomy of a Feature
                     Requirement

     For each Feature:
         Identify the user stories
     ★

         Write the acceptance tests
     ★

         Diagram the workflow
     ★

         Create the wireframes
     ★

         Write the specifications
     ★




PATHFINDER
DEVELOPMENT
© 2008
Workflow: diagrams a
              sequence of steps from start
              to finish that a user takes in
              order to complete a feature.




PATHFINDER
DEVELOPMENT
© 2008
Workflow Diagrams

     The end-to-end flow visualizes the big
     picture
              Identifies the starting point(s)
       ★

              Notes any decision point(s)
       ★

              Shows any subpaths a user can take
       ★

              Declares the End Point
       ★




PATHFINDER
DEVELOPMENT
© 2008
Workflow Language




          start             page                    action              decision?




                                                                        process                      end




            PATHFINDER
            DEVELOPMENT
            © 2008




Regardless of the language you use, be consistent in your diagrams and differentiate between the different actions in a flow.
Also, know your audience -- in the US and other Western cultures we read left to right, top to bottom. Therefore, construct
your flows in such a way that they flow naturally for your readers.
Workflow Diagrams

                          Illustrate a Userʼs Path through the Feature
                            ★ Highlight Start Point(s)

                            ★ Identify Decision Point(s)

                            ★ Show where the flow ends




            PATHFINDER
            DEVELOPMENT
            © 2008




A good diagram will show all the entry points, the decisions and their results, and any branches available to the user. The flow
will also show the end point. They help team members create the user experience, both at the UI layer and the backend
workflow.
Anatomy of a Feature
                     Requirement

     For each Feature:
         Identify the user stories
     ★

         Write the Acceptance Tests
     ★

         Diagram the workflow
     ★

         Create the wireframes
     ★

         Write the specifications
     ★




PATHFINDER
DEVELOPMENT
© 2008
Wireframes: a visual guide
                          used to suggest the layout of
                          the fundamental elements in
                          the interface.




            PATHFINDER
            DEVELOPMENT
            © 2008




Because a picture is worth 1,000 words.
Wireframes

     Provides a visual reference for the
     structure of a page and placement of
     elements
     Establishes the language, content and
     structure of user interaction




PATHFINDER
DEVELOPMENT
© 2008
What does a Wireframe look like?




            PATHFINDER
            DEVELOPMENT
            © 2008




wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high-
fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
PATHFINDER
            DEVELOPMENT
            © 2008




wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high-
fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
PATHFINDER
            DEVELOPMENT
            © 2008




wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high-
fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
PATHFINDER
            DEVELOPMENT
            © 2008




wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high-
fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
PATHFINDER
            DEVELOPMENT
            © 2008




wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high-
fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
PATHFINDER
            DEVELOPMENT
            © 2008




Since it is the conversation around the drawing, and not the drawing my itself, that is of interest, wireframes can capture that
conversation by notating the user interactions.
Anatomy of a Feature
                     Requirement

     For each Feature:
         Identify the user stories
     ★

         Write the Acceptance Tests
     ★

         Diagram the workflow
     ★

         Create the wireframes
     ★

         Write the specifications
     ★




PATHFINDER
DEVELOPMENT
© 2008
Specifications: document
              the details and behavior of a
              feature, explaining the
              content and actions so that
              developers can start coding.




PATHFINDER
DEVELOPMENT
© 2008
Specifications Describe:

                  Elements that should appear on a page
                  How the user interacts with a page
                  What happens when the user does
                  something




            PATHFINDER
            DEVELOPMENT
            © 2008




write in plain english -- not developer speak or consultant speak
Specifications

     Search Events
              Search criteria - at least one is required:
       ★
           • date - standard text field with calendar widget
           • location - pulldown of locations in the system
           • sponsor - pulldown of city aldermen showing FirstName LastName
              Search validation
       ★
           • date format is valid - MMMDDYYY
           • at least one field has data

     On Submit
              If errors:
       ★
           • cancel submit
           • highlight fields with errors (if no fields contain data, show message that
             at least one field must contain data)
           • display error message: Please correct the error before continuing
              If no errors:
       ★
           • Display search results on the Events List Page

PATHFINDER
DEVELOPMENT
© 2008
for more information, contact:
              Paul Dittmann
pdittmann@pathf.com | 312.372.1058 x6006

Weitere ähnliche Inhalte

Was ist angesagt?

Communicating agile project status to executive managers
Communicating agile project status to executive managersCommunicating agile project status to executive managers
Communicating agile project status to executive managersAgileDad
 
PMI-ACP Lesson 01 Nugget 1 Introduction to Agile
PMI-ACP Lesson 01 Nugget 1 Introduction to AgilePMI-ACP Lesson 01 Nugget 1 Introduction to Agile
PMI-ACP Lesson 01 Nugget 1 Introduction to AgileThanh Nguyen
 
The 5 Levels Planning in Agile
The 5 Levels Planning in AgileThe 5 Levels Planning in Agile
The 5 Levels Planning in AgileDimitri Ponomareff
 
PMI-ACP Lesson 04 Nugget 1 Agile Estimation
PMI-ACP Lesson 04 Nugget 1 Agile EstimationPMI-ACP Lesson 04 Nugget 1 Agile Estimation
PMI-ACP Lesson 04 Nugget 1 Agile EstimationThanh Nguyen
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3Thanh Nguyen
 
Top Ways Agile Adoption Fails, How to Avoid Them!
Top Ways Agile Adoption Fails, How to Avoid Them!Top Ways Agile Adoption Fails, How to Avoid Them!
Top Ways Agile Adoption Fails, How to Avoid Them!Sally Elatta
 
Facilitation Foundations - A Guide to Effective Agile Meetings
Facilitation Foundations - A Guide to Effective Agile MeetingsFacilitation Foundations - A Guide to Effective Agile Meetings
Facilitation Foundations - A Guide to Effective Agile MeetingsAgileDad
 
PMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationPMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationThanh Nguyen
 
Good to Great: Achieving Product Excellence in Web 2.0 by Dan Olsen
Good to Great: Achieving Product Excellence in Web 2.0 by Dan OlsenGood to Great: Achieving Product Excellence in Web 2.0 by Dan Olsen
Good to Great: Achieving Product Excellence in Web 2.0 by Dan OlsenDan Olsen
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writtingPhil van Dulm Consultancy
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation deliveryYi Xu
 
Real World Effective/Agile Requirements - IBM Innovate 2010 -sally elatta
Real World Effective/Agile Requirements - IBM Innovate 2010 -sally elattaReal World Effective/Agile Requirements - IBM Innovate 2010 -sally elatta
Real World Effective/Agile Requirements - IBM Innovate 2010 -sally elattaSally Elatta
 
Overselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
Overselling Agile Certifications and Frameworks : Presented by Sridharan VembuOverselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
Overselling Agile Certifications and Frameworks : Presented by Sridharan VembuoGuild .
 
Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?Monc Lee
 
PMI-ACP Lesson 06 Quality
PMI-ACP Lesson 06 QualityPMI-ACP Lesson 06 Quality
PMI-ACP Lesson 06 QualityThanh Nguyen
 
ADAPTing to Agile Development
ADAPTing to Agile DevelopmentADAPTing to Agile Development
ADAPTing to Agile DevelopmentMike Cohn
 

Was ist angesagt? (20)

Communicating agile project status to executive managers
Communicating agile project status to executive managersCommunicating agile project status to executive managers
Communicating agile project status to executive managers
 
PMI-ACP Lesson 01 Nugget 1 Introduction to Agile
PMI-ACP Lesson 01 Nugget 1 Introduction to AgilePMI-ACP Lesson 01 Nugget 1 Introduction to Agile
PMI-ACP Lesson 01 Nugget 1 Introduction to Agile
 
The 5 Levels Planning in Agile
The 5 Levels Planning in AgileThe 5 Levels Planning in Agile
The 5 Levels Planning in Agile
 
Product Backlog Management
Product Backlog ManagementProduct Backlog Management
Product Backlog Management
 
PMI-ACP Lesson 04 Nugget 1 Agile Estimation
PMI-ACP Lesson 04 Nugget 1 Agile EstimationPMI-ACP Lesson 04 Nugget 1 Agile Estimation
PMI-ACP Lesson 04 Nugget 1 Agile Estimation
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
 
Defining tasks for User Stories
Defining tasks for User StoriesDefining tasks for User Stories
Defining tasks for User Stories
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
 
Top Ways Agile Adoption Fails, How to Avoid Them!
Top Ways Agile Adoption Fails, How to Avoid Them!Top Ways Agile Adoption Fails, How to Avoid Them!
Top Ways Agile Adoption Fails, How to Avoid Them!
 
Facilitation Foundations - A Guide to Effective Agile Meetings
Facilitation Foundations - A Guide to Effective Agile MeetingsFacilitation Foundations - A Guide to Effective Agile Meetings
Facilitation Foundations - A Guide to Effective Agile Meetings
 
PMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationPMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile Communication
 
Good to Great: Achieving Product Excellence in Web 2.0 by Dan Olsen
Good to Great: Achieving Product Excellence in Web 2.0 by Dan OlsenGood to Great: Achieving Product Excellence in Web 2.0 by Dan Olsen
Good to Great: Achieving Product Excellence in Web 2.0 by Dan Olsen
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writting
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
 
Real World Effective/Agile Requirements - IBM Innovate 2010 -sally elatta
Real World Effective/Agile Requirements - IBM Innovate 2010 -sally elattaReal World Effective/Agile Requirements - IBM Innovate 2010 -sally elatta
Real World Effective/Agile Requirements - IBM Innovate 2010 -sally elatta
 
Overselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
Overselling Agile Certifications and Frameworks : Presented by Sridharan VembuOverselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
Overselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
 
Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?Why embrace both (cmmi or agile) ?
Why embrace both (cmmi or agile) ?
 
Handouts
HandoutsHandouts
Handouts
 
PMI-ACP Lesson 06 Quality
PMI-ACP Lesson 06 QualityPMI-ACP Lesson 06 Quality
PMI-ACP Lesson 06 Quality
 
ADAPTing to Agile Development
ADAPTing to Agile DevelopmentADAPTing to Agile Development
ADAPTing to Agile Development
 

Ähnlich wie Agile Requirements Writing

Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...
Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...
Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...NthDegree
 
Company "Owned" Social Networks / Community
Company "Owned" Social Networks / CommunityCompany "Owned" Social Networks / Community
Company "Owned" Social Networks / CommunityiGo2 Pty Ltd
 
PxS’12 - week 4 - UX design techniques
PxS’12 - week 4 - UX design techniquesPxS’12 - week 4 - UX design techniques
PxS’12 - week 4 - UX design techniqueshendrikknoche
 
進擊的UX @ 中山大學
進擊的UX @ 中山大學進擊的UX @ 中山大學
進擊的UX @ 中山大學伯方 蘇
 
EPFL - PxS, week 4 - UX design techniques
EPFL - PxS, week 4 - UX design techniquesEPFL - PxS, week 4 - UX design techniques
EPFL - PxS, week 4 - UX design techniqueshendrikknoche
 
Finding the Tweet Spot in Social Media
Finding the Tweet Spot in Social MediaFinding the Tweet Spot in Social Media
Finding the Tweet Spot in Social MediaTracy Annicchiarico
 
Finding The Tweet Spot [Read Only]
Finding The Tweet Spot [Read Only]Finding The Tweet Spot [Read Only]
Finding The Tweet Spot [Read Only]NormanMendoza
 
Becoming A User Advocate
Becoming A User AdvocateBecoming A User Advocate
Becoming A User AdvocateKarl Kaufmann
 
It Role State Exploration 7 Nov Illumine
It Role State Exploration 7 Nov  IllumineIt Role State Exploration 7 Nov  Illumine
It Role State Exploration 7 Nov Illumineibecome
 
Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe
Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe
Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe Rui Barroca
 
Evangelizing User Experience Design
Evangelizing User Experience DesignEvangelizing User Experience Design
Evangelizing User Experience DesignDustin DiTommaso
 
User Experience and Prototyping
User Experience and PrototypingUser Experience and Prototyping
User Experience and PrototypingKshitiz Anand
 
Making Agile Work for Design
Making Agile Work for DesignMaking Agile Work for Design
Making Agile Work for DesignJonathan Follett
 
Communication Tools: How to make your idea credible and understandable - Entr...
Communication Tools: How to make your idea credible and understandable - Entr...Communication Tools: How to make your idea credible and understandable - Entr...
Communication Tools: How to make your idea credible and understandable - Entr...MaRS Discovery District
 
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...Sebastian Deterding
 
Why UX Matters? at Ripple Conference - Porto 2014
Why UX Matters? at Ripple Conference - Porto 2014Why UX Matters? at Ripple Conference - Porto 2014
Why UX Matters? at Ripple Conference - Porto 2014Rui Barroca
 
Can't we all get along? Human-centered design meets Agile
Can't we all get along? Human-centered design meets AgileCan't we all get along? Human-centered design meets Agile
Can't we all get along? Human-centered design meets AgileAutodesk
 
Carolyn Jao UX Design Portfolio
Carolyn Jao UX Design Portfolio Carolyn Jao UX Design Portfolio
Carolyn Jao UX Design Portfolio Carolyn Jao
 

Ähnlich wie Agile Requirements Writing (20)

IDLC
IDLCIDLC
IDLC
 
Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...
Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...
Space, Time and the Attendee: How the Attendee of Today is Affected by Physic...
 
Company "Owned" Social Networks / Community
Company "Owned" Social Networks / CommunityCompany "Owned" Social Networks / Community
Company "Owned" Social Networks / Community
 
PxS’12 - week 4 - UX design techniques
PxS’12 - week 4 - UX design techniquesPxS’12 - week 4 - UX design techniques
PxS’12 - week 4 - UX design techniques
 
進擊的UX @ 中山大學
進擊的UX @ 中山大學進擊的UX @ 中山大學
進擊的UX @ 中山大學
 
EPFL - PxS, week 4 - UX design techniques
EPFL - PxS, week 4 - UX design techniquesEPFL - PxS, week 4 - UX design techniques
EPFL - PxS, week 4 - UX design techniques
 
Finding the Tweet Spot in Social Media
Finding the Tweet Spot in Social MediaFinding the Tweet Spot in Social Media
Finding the Tweet Spot in Social Media
 
Finding The Tweet Spot [Read Only]
Finding The Tweet Spot [Read Only]Finding The Tweet Spot [Read Only]
Finding The Tweet Spot [Read Only]
 
Becoming A User Advocate
Becoming A User AdvocateBecoming A User Advocate
Becoming A User Advocate
 
It Role State Exploration 7 Nov Illumine
It Role State Exploration 7 Nov  IllumineIt Role State Exploration 7 Nov  Illumine
It Role State Exploration 7 Nov Illumine
 
Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe
Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe
Why UX Matters? for Startup Braga 2015 #2 Acceleration Programe
 
Evangelizing User Experience Design
Evangelizing User Experience DesignEvangelizing User Experience Design
Evangelizing User Experience Design
 
User Experience and Prototyping
User Experience and PrototypingUser Experience and Prototyping
User Experience and Prototyping
 
Making Agile Work for Design
Making Agile Work for DesignMaking Agile Work for Design
Making Agile Work for Design
 
Redesign design V2.0
Redesign design V2.0Redesign design V2.0
Redesign design V2.0
 
Communication Tools: How to make your idea credible and understandable - Entr...
Communication Tools: How to make your idea credible and understandable - Entr...Communication Tools: How to make your idea credible and understandable - Entr...
Communication Tools: How to make your idea credible and understandable - Entr...
 
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
 
Why UX Matters? at Ripple Conference - Porto 2014
Why UX Matters? at Ripple Conference - Porto 2014Why UX Matters? at Ripple Conference - Porto 2014
Why UX Matters? at Ripple Conference - Porto 2014
 
Can't we all get along? Human-centered design meets Agile
Can't we all get along? Human-centered design meets AgileCan't we all get along? Human-centered design meets Agile
Can't we all get along? Human-centered design meets Agile
 
Carolyn Jao UX Design Portfolio
Carolyn Jao UX Design Portfolio Carolyn Jao UX Design Portfolio
Carolyn Jao UX Design Portfolio
 

Kürzlich hochgeladen

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 

Kürzlich hochgeladen (20)

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 

Agile Requirements Writing

  • 1. From Concept to Coding THE ART OF WRITING REQUIREMENTS
  • 2. The Beginning: Oh, the noise! Oh, the Noise! Noise! Noise! That's one thing he hated! The NOISE! NOISE! NOISE! ~ The Grinch PATHFINDER DEVELOPMENT © 2008 The beginning of a project generates a lot of great ideas; BUT, until a structure or cohesion is applied to these ideas, they end up being a loose collection of separate ideas with no direction. (And weʼve all worked on THOSE kinds of projects before.) Requirements brings cohesion and direction to the noise.
  • 3. Requirements: Establish the territory; establish the context; establish the direction PATHFINDER DEVELOPMENT © 2008 Because we are consultants, when we start new projects we like to know the clientʼs territory, context and direction. Territory is the space the client occupies - their vertical; context is the clientʼs role within that territory - what service to they provide; direction is where the client needs to go - does the project support this
  • 4. Product Requirements defines product concept and user base PATHFINDER DEVELOPMENT © 2008
  • 5. From Problem to Solution Client: Sustainable Developer Works with communities and planners ★ Promotes emerging technology ★ • wind farms, sustainable housing, etc. PATHFINDER DEVELOPMENT © 2008 Hereʼs our imaginary client: a Sustainable Developer. Their territory is construction/development; the context is that they bring green ideas to traditional planning/building.
  • 6. Business Problem: no one gets our ideas until theyʼre built -- and then itʼs too late. PATHFINDER DEVELOPMENT © 2008 If you canʼt articulate the problem, how can you define a solution?
  • 7. Product Concept: We need an interactive tool to visually explain our ideas in order to get usersʼ input and buy-in PATHFINDER DEVELOPMENT © 2008 The product concept addresses the problem; it is the overarching idea of your software and all features need to relate back to it. Defining the concept is the first step in restraining scope creep.
  • 8. Identify the Users Who will be using this software Research who will be using your product ★ Identify the Personas ★ PATHFINDER DEVELOPMENT © 2008 Identifying users allows you to create a product that meets their needs, instead of a product that meets what it thinks the needs of the users are. Addressing the actual needs of the people who will be using your product puts you further ahead on the road to success.
  • 9. Personas: Personas are fictitious characters created to represent the different user types that might use a site or product. PATHFINDER DEVELOPMENT © 2008 Personas are effective in keeping meetings focused on the product and the users who will be directly interacting with it. Addressing any issues from the POV of a persona removes the personal from resolving fringe case arguments or the latest widget advocates; i.e., stating it makes no sense to Persona Sally is an effective argument since she is the end user of the product
  • 10. Who are the Personas for this Product: We need an interactive tool to visually explain our concepts in order to get usersʼ input and buy-in PATHFINDER DEVELOPMENT © 2008 hereʼs the concept again -- research into the types of users interacting with this product will yield personas
  • 11. city council the community fellow visionaries PATHFINDER DEVELOPMENT © 2008 For our case study, weʼll say our research uncovered users who can be categorized into these groups: city council fellow visionaries the community
  • 12. Identify Usersʼ Goals What do they need to accomplish; what are their goals High level User Stories describe needs and goals ★ As a user, I need to do a task so I can accomplish my goal ★ PATHFINDER DEVELOPMENT © 2008 Personas have needs and goals. User stories help us to transform these needs and goals into user requirements. These requirements will, in turn, define what it is weʼre building.
  • 13. As a member of the Community, I need to: Search for developments in my area ★ so that I can stay current View the proposed solutions so that I ★ can become informed Be able to add my comments so that ★ my voice is present View a list of meeting times so that I ★ can plan to participate Receive alerts so that I can be ★ updated PATHFINDER DEVELOPMENT © 2008 User Story: As a user, I need to do something in order to get this benefit.
  • 14. User Needs > Features > Scope Personasʼ definition helps to determine: Tasks the system must support for user to meet their ★ goals • add an account • manage that account Which tasks to consolidate into features ★ • Adding an account and managing that account means at a high level weʼll need an Account area in the application Features & tasks determine the scope and effort ★ PATHFINDER DEVELOPMENT © 2008
  • 15. Concept + Users + Tasks = List of Features PATHFINDER DEVELOPMENT © 2008 The list of features is what youʼll need to begin to scope out a project. Writing user stories for the features helps to nail down scope and determine the needed effort by development. Ranking the features helps with the iteration planning.
  • 16. Feature Requirements define the scope and functionality PATHFINDER DEVELOPMENT © 2008
  • 17. Anatomy of a Feature Requirement For each Feature: Identify the user stories ★ Write the acceptance tests ★ Diagram the workflow ★ Create the wireframes ★ Write the specifications ★ PATHFINDER DEVELOPMENT © 2008 At Pathfinder, weʼve found documenting these five attributes are sufficient to fully define a feature. Starting at the highest level (user story), we drill down into the details, uncovering gaps or discrepancies before weʼve started coding. Design before development saves money and time.
  • 18. Anatomy of a Feature Requirement For each Feature: Identify the user stories ★ Write the acceptance tests ★ Diagram the workflow ★ Create the wireframes ★ Write the specifications ★ PATHFINDER DEVELOPMENT © 2008 At Pathfinder, weʼve found documenting these five attributes are sufficient to fully define a feature. Starting at the highest level (user story), we drill down into the details, uncovering gaps or discrepancies before weʼve started coding. Design before development saves money and time.
  • 19. User Story: States the functionality of a feature as told from the POV of the Persona. Describes the what, not the how. PATHFINDER DEVELOPMENT © 2008 User Stories are very high level and are used to estimate the degree of difficulty to implement (which ties in with iteration planning) Use cases are a sequence of steps detailing the interactions between an actor and the system and are generally used to capture the functional requirements of a system before implementation.
  • 20. Characteristics of a good User Story - who, what, why A user story is written at a high level ★ Tells you who is using the feature ★ Describes what a user can do with this feature, not how theyʼll do it ★ States the featureʼs benefit for the user Used to generate the acceptance tests PATHFINDER DEVELOPMENT © 2008 The syntax we use for User Stories is: User Story: As a [persona - who], I want [feature - what], so I can [benefit - why].
  • 21. User Stories - Where to Start? Identify the tasks a user needs to do in a feature I need to create/update/delete accounts ★ Write the user stories based on those tasks, but at a high level I need to manage accounts ★ The acceptance tests will get into more detail PATHFINDER DEVELOPMENT © 2008 The syntax we use for User Stories is: User Story: As a [persona - who], I want [feature - what], so I can [benefit - why].
  • 22. User Story: As a [persona - who], I want [feature - what], so I can [benefit - why]. PATHFINDER DEVELOPMENT © 2008
  • 23. User Story: As a Community member, I want to find planning meetings, so I can participate in the process. PATHFINDER DEVELOPMENT © 2008
  • 24. Anatomy of a Feature Requirement For each Feature: Identify the user stories ★ Write the acceptance tests ★ Diagram the workflow ★ Create the wireframes ★ Write the specifications ★ PATHFINDER DEVELOPMENT © 2008
  • 25. Acceptance Test: series of scenarios based on the User Story that defines the scope of the feature along with its acceptance criteria. PATHFINDER DEVELOPMENT © 2008 Describe the feature such that everyone – the business people, the analyst, the developer and the tester – have a common understanding of the scope of the work and agree to a common definition of “done”.
  • 26. Characteristics of a good Acceptance Test Acceptance Tests have more detail than a User Story but less than the development specifications Two parts: Title describes an activity that the user wants to do in ★ this feature Scenario is described in terms of Givens, Events and ★ Outcomes PATHFINDER DEVELOPMENT © 2008 Acceptance tests are the next level down in details from the User Stories. They are scoping out the feature and defining what complete means for that feature. While they are written in more detail than a user story, itʼs still more along the lines of a scenario rather than specifications.
  • 27. Givens, Events, Outcomes Scenarios: Precondition (the givens) ★ Actions (the events) ★ Expected Behavior (the outcome) ★ PATHFINDER DEVELOPMENT © 2008 The givens should define all of, and no more than, the required context The event should describe the actions the user takes Outcome describes the desired behavior of the actions
  • 28. Title Given that [context] And that [some more context] When [event/action] And [additional actions] Then [expected outcome] And [additional expected outcome] PATHFINDER DEVELOPMENT © 2008
  • 29. Search for Events Given that the user is a member of the community And that the user has successfully logged in When the user enters search criteria for an event And the user specifies a location Then the systems returns all events for that location that match the search criteria PATHFINDER DEVELOPMENT © 2008
  • 30. Anatomy of a Feature Requirement For each Feature: Identify the user stories ★ Write the acceptance tests ★ Diagram the workflow ★ Create the wireframes ★ Write the specifications ★ PATHFINDER DEVELOPMENT © 2008
  • 31. Workflow: diagrams a sequence of steps from start to finish that a user takes in order to complete a feature. PATHFINDER DEVELOPMENT © 2008
  • 32. Workflow Diagrams The end-to-end flow visualizes the big picture Identifies the starting point(s) ★ Notes any decision point(s) ★ Shows any subpaths a user can take ★ Declares the End Point ★ PATHFINDER DEVELOPMENT © 2008
  • 33. Workflow Language start page action decision? process end PATHFINDER DEVELOPMENT © 2008 Regardless of the language you use, be consistent in your diagrams and differentiate between the different actions in a flow. Also, know your audience -- in the US and other Western cultures we read left to right, top to bottom. Therefore, construct your flows in such a way that they flow naturally for your readers.
  • 34. Workflow Diagrams Illustrate a Userʼs Path through the Feature ★ Highlight Start Point(s) ★ Identify Decision Point(s) ★ Show where the flow ends PATHFINDER DEVELOPMENT © 2008 A good diagram will show all the entry points, the decisions and their results, and any branches available to the user. The flow will also show the end point. They help team members create the user experience, both at the UI layer and the backend workflow.
  • 35. Anatomy of a Feature Requirement For each Feature: Identify the user stories ★ Write the Acceptance Tests ★ Diagram the workflow ★ Create the wireframes ★ Write the specifications ★ PATHFINDER DEVELOPMENT © 2008
  • 36. Wireframes: a visual guide used to suggest the layout of the fundamental elements in the interface. PATHFINDER DEVELOPMENT © 2008 Because a picture is worth 1,000 words.
  • 37. Wireframes Provides a visual reference for the structure of a page and placement of elements Establishes the language, content and structure of user interaction PATHFINDER DEVELOPMENT © 2008
  • 38. What does a Wireframe look like? PATHFINDER DEVELOPMENT © 2008 wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high- fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
  • 39. PATHFINDER DEVELOPMENT © 2008 wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high- fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
  • 40. PATHFINDER DEVELOPMENT © 2008 wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high- fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
  • 41. PATHFINDER DEVELOPMENT © 2008 wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high- fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
  • 42. PATHFINDER DEVELOPMENT © 2008 wireframes can run from pencil sketches to whiteboard drawings to layouts using a vector-based graphic program to high- fidelity. The type of wireframe you use is the one appropriate to the state of your project and to the feature you need to convey.
  • 43. PATHFINDER DEVELOPMENT © 2008 Since it is the conversation around the drawing, and not the drawing my itself, that is of interest, wireframes can capture that conversation by notating the user interactions.
  • 44. Anatomy of a Feature Requirement For each Feature: Identify the user stories ★ Write the Acceptance Tests ★ Diagram the workflow ★ Create the wireframes ★ Write the specifications ★ PATHFINDER DEVELOPMENT © 2008
  • 45. Specifications: document the details and behavior of a feature, explaining the content and actions so that developers can start coding. PATHFINDER DEVELOPMENT © 2008
  • 46. Specifications Describe: Elements that should appear on a page How the user interacts with a page What happens when the user does something PATHFINDER DEVELOPMENT © 2008 write in plain english -- not developer speak or consultant speak
  • 47. Specifications Search Events Search criteria - at least one is required: ★ • date - standard text field with calendar widget • location - pulldown of locations in the system • sponsor - pulldown of city aldermen showing FirstName LastName Search validation ★ • date format is valid - MMMDDYYY • at least one field has data On Submit If errors: ★ • cancel submit • highlight fields with errors (if no fields contain data, show message that at least one field must contain data) • display error message: Please correct the error before continuing If no errors: ★ • Display search results on the Events List Page PATHFINDER DEVELOPMENT © 2008
  • 48. for more information, contact: Paul Dittmann pdittmann@pathf.com | 312.372.1058 x6006