Gathering Requirements Kenneth M Anderson University of Colorado Boulder CSCI 5828 Lecture 5 01 26 2010 University of Colorado 2010 1 Goals 2 Review material from Chapter 2 of Pilone Miles Concepts include Requirements and Requirements Gathering User Stories Brainstorming Planning Estimation Game Will also review requirements related info not from textbook Requirements Gathering 3 Requirements gathering begins with a problem statement from your customer Example We need a web site showing our current deals and we want our users to be able to book shuttles and special packages as well as pay for their bookings online We also want to offer a luxury service that includes travel to and from the spaceport and accommodation in a local hotel Characteristics Loose informal unstructured all over the place deals bookings packages payment shuttle services hotels First Step Impose Structure Title Description Title Description Title Description Title Description Identify all of the different things the system has to do 4 In particular find requirements A requirement is a single thing that the software has to do Title Show Current Deals Description The website will show current deals to Orion s Orbits users 5 Note Title Show Current Deals Description The website will show current deals to Orion s Orbits users Written in User s Language Informal because we don t have a lot of information But allows us to validate initial understanding of domain 6 Translate Entire Problem Statement Title Show Current Deals Title Book a shuttle Description The website will show current deals to Orion s Orbits users Description An Orion s Orbits user will be able to book a shuttle between hotel and spaceport Title Book package Title Pay online Description An Orion s Orbits user will be able to book a special package with extras online Description An Orion s Orbits user will be able to pay for their bookings online Title Arrange Travel Title Book a hotel Description An Orion s Orbits user will be able to arrange travel to and from the hotel Description An Orion s Orbits user will be able to book a hotel 7 Note iteration Then return to customer and Title Show Current Deals Description The website Title Book a shuttle will show current deals to Orion s Orbits users Description An Orion s Title package OrbitsBook user will be able to book a shuttle between hotel Description and spaceport An Orion s Title OrbitsPay useronline will be able to book a special package with Description Orion s extras online An Title Arrange Travel Orbits user will be able to pay for their bookings online Description An Orion s Title a hotel OrbitsBook user will be able to arrange travel to and from the Description An Orion s hotel Title OrbitsNew userRequirement will be able to book a hotel Description Pithy text describing new requirement ask questions Did I get this right What did you mean by and gather more requirements Is this really all of the functionality that you need If we built all of this what would you want in version 2 0 All this work will lead to new or clarified requirements 8 Problem Not Enough One problem that you ll encounter is that this back and forth may not be enough to get to crisp detailed requirements or you feel that you just don t have a good grasp on the big picture This can be especially true if customer end user Next step is to hold a brainstorming session with as many different stakeholders as possible what the book calls a bluesky session and is sometimes called shooting for the moon 9 Bluesky Session 10 Brainstorming session Goal get stakeholders to generate tons of candidate requirements not everything will make it into the final system Secondary Goal Capture everything for later analysis Things to Avoid The Silent Tomb Leave job titles at the door people should not feel afraid to speak up just because the boss is there Criticizing people rather than ideas Developer jargon NOT AJAX but rich user interface Tool Support Packages air traffic control Animals Invoicing Flight Tracking Shipping flight numbers physics of flight Multiple Companies on Single Transaction Air Traffic Control Gate Scheduling Regulations Governments Nations Airports Airlines Employees Luggage Airports 1 Airports a Airlines i Employees 1 Scheduling ii Flights 1 Scheduling 2 Luggage a Airline Airport handoff b Bag numbers c Handling of oversize items d Handling of live animals Make use of outliners and other types of note taking applications during brainstorming sessions to capture the generated ideas domain knowledge and requirements to the right is an example generated by Curio a note taking application from Zengobi 11 Gray Skies 12 If things go wrong during the bluesky session bad boss Make use of other techniques Interview end users and have them pretend to interact with their ideal system what the book calls role playing Observe them working on tasks related to the system how would the task change if the system were present Review the documents they use now ask if the document would go away if the system were present or how would it change Next User Stories Transform requirements gathered so far into user stories A user story describes how the user interacts with the software you re building It should be written from your customer s perspective and describe what the software is going to do for the customer User stories are essentially informal use cases See CSCI 5448 for more details on use cases 13 User Stories SHOULD describe one thing the system should do for the customer be written using language that the customer understands be written by the customer be short No longer than three sentences SHOULD NOT be a long essay use technical terms unfamiliar to the customer mention specific technologies save those for design 14 Requirements Life Cycle 15 We now have a life cycle for use at the start of a project Capture basic ideas from problem statement Return with first pass ask questions set up bluesky session ITERATE Construct User Stories Find holes with stories and fix them with customer feedback find new requirements ask questions to assess completeness Finish with initial set of clear customer focused user stories This defines the WHAT of the project next up is the WHEN But first types of requirements There are different types of requirements functional non functional constraints The process that we described above is focused on generating functional requirements what are the functional capabilities of the proposed system 16 Non
View Full Document
Unlocking...