Top Banner
1 Requirement Capturing Techniques
41

Requirement Capturing Techniques

Apr 13, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Requirement Capturing Techniques

1

Requirement Capturing Techniques

Page 2: Requirement Capturing Techniques

HELLO! I am Abhinav Sabharwal You can find me at [email protected] https://www.linkedin.com/in/abhinavsabharwal/

2

Page 3: Requirement Capturing Techniques

3 WHY THIS UPDATE This Presentation Has been Updated One of my friends complained that in my last presentation Basics of requirement gathering (https://www.slideshare.net/skyabhinav/basics-of-requirment-gathering) I have not given proper treatment to User Stories hence this detail presentation. I am now deleting that Presentation from slideshair. I am also deleting my presentation on User Stories(https://www.slideshare.net/skyabhinav/user-storyies-explained) this presentation now contains material of both the presentations and more Thanks Sarbjit Multani (https://www.linkedin.com/in/sarbjit-multani-020abaa4/) for Inspiring this presentation

Page 4: Requirement Capturing Techniques

1. USE CASE

4

Page 5: Requirement Capturing Techniques

USE CASE ▸In software and systems engineering, a use case is a list of actions or event steps,

▸Defining the interactions between a role (known as an actor) and a system,

▸To achieve a goal.

▸The actor can be a human or other external system.

5

Page 6: Requirement Capturing Techniques

▸Lets Look at the Structure of Use Case

6

Case ID This is the unique identifier that you use to reference the use case from

other artifacts that you create as part of developing your software product

You will use the use case ID to trace between the use case and the goals it

enables. You will also trace between the use case and the functional and

non-functional requirements that support it

Title The title, or name of the use case. This should be a simple sentence that

describes the use case

Author That would be you. Enter the name of the person responsible for authoring

the use case.

Use Case Version The version of the use case can be used to keep track of each draft or

revision of the document

Status Draft/Proposal/Approve /Rejected

STRUCTURE OF USE CASE

Page 7: Requirement Capturing Techniques

7

PRE CONDITIONS Description of the affected portions of the state of the system Before Use Case is

Started

Actors – The people who execute the use case are the actors. Not “Tim” and “Joan,” but rather

“Office Clerk” and “Department Supervisor

Normal Flow –

This is where the description of your use case goes. The goal here is to write just

enough to clearly define the use case. The individuals on your team will have the

biggest impact on what enough is for you. Most use cases involve some branching or

decisions. The normal flow should not include these “if…then” constructs. The normal

flow should include the most-common or most-valuable path through the use case.

Alternate Flows This is where those uncommon and lower-value paths are documented. Imagine a use

case for processing invoices. The normal course would describe how pending invoices

are handled. An alternative flow might handle how past-due invoices are handled. A

second alternate flow could handle customers with credit-balances in their accounts.

STRUCTURE OF USE CASE

Page 8: Requirement Capturing Techniques

8

Exception Flows

Descriptions of what the user will experience when something goes wrong.

Post-conditions – Description of the affected portions of the state of the system after the use

case has completed.

Frequency of use An estimate of how often a particular use case will be exercised

Assumptions Any assumptions that are implicit in the definition of the use case

STRUCTURE OF USE CASE

Page 9: Requirement Capturing Techniques

9

USE CASE EXAMPLE ▸Lets Take a Example of a simple Login Screen for Gmail and see how Use Case Will Be

Page 10: Requirement Capturing Techniques

10

USE CASE EXAMPLE

Page 11: Requirement Capturing Techniques

▸Lets Look at the Structure of Use Case

11

Case ID 001

Title User Login

Author Abhinav Sabharwal

Use Case Version 1.0

Status Draft/Proposal/Approve /Rejected

USE CASE EXAMPLE

Page 12: Requirement Capturing Techniques

12

PRE CONDITIONS Browser is available and Open,

Internet is available

User Has Gmail ID

Actors – Registered Gmail User

Normal Flow –

1) User Enters email id

2) Users Enter the Password

3) Credentials are successfully authenticated

4) Inbox Screen is Displayed

Alternate Flows 1) User Enters email id

2) Users Enter the Password

3) User Cancels The Login Process by Clicking on cancel button

4) User Id and password field are cleared

USE CASE EXAMPLE

Page 13: Requirement Capturing Techniques

13

Exception Flows

1) User Enters email id

2) Users Enter the Password

3) Credentials are NOT successfully authenticated

4) Error Message is Displayed “Invalid User Id or Password”

Post-conditions – User Is Able to View Inbox and Read Messages.

Frequency of use Rarely/ Regularly /Often

Assumptions User Know how to login to Gmail account

USE CASE EXAMPLE

*Please Note: Post Condition is always in relation to Normal Flow

Page 14: Requirement Capturing Techniques

2. USER STORIES

14

Page 15: Requirement Capturing Techniques

USER STORIES ▸User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. ▸ ▸User stories are often written on index cards or sticky notes, stored in a shoe box, and arranged on walls or tables to facilitate planning and discussion.

▸ As such, they strongly shift the focus from writing about features to discussing them.

▸User stories is that they can be written at varying levels of detail.

15

Page 16: Requirement Capturing Techniques

USER STORY ▸User Story is only meant to describe a feature, but not describe how to implement it,

▸leaving out the technical aspect, User Story should describe the behavior or flow from user’s perspective

16

Page 17: Requirement Capturing Techniques

USER STORY ▸A user story is a tool used in Agile software development

▸It is used to capture a description of a software feature from an end-user perspective.

▸The user story describes the type of user, what they want and why.

▸A user story helps to create a simplified description of a requirement

17

Page 18: Requirement Capturing Techniques

▸Lets Look at the Structure of User Story

18

STRUCTURE OF USER STORY

Page 19: Requirement Capturing Techniques

19

USER STORY EXAMPLE

Page 20: Requirement Capturing Techniques

20

USER STORY: CHARACTERISTICS ▸A story should be complete and big enough to provide a user with some value ▸ The user story should be user-centric,

▸When the user story is done, the user can do something of value to them

Page 21: Requirement Capturing Techniques

21

DISCOVER RIGHT STORIES ▸Capture your insights about the users and customers is working with personas.

▸ Personas are fictional characters that are based on first-hand knowledge of the target group.

▸ Personas consist of a name and a picture; relevant characteristics, behaviors, and attitudes; and a goal.

▸The goal is the benefit the persona wants to achieve, or the problem the character wants to see solved

Page 22: Requirement Capturing Techniques

22

DISCOVER RIGHT STORIES

Page 23: Requirement Capturing Techniques

23

INVEST IN USER STORY

Page 24: Requirement Capturing Techniques

24

INVEST IN USER STORY ▸Test user stories by using INVEST acronym

▸Independent — Can the story stand alone by itself ?

▸Negotiable — Can this story be changed or removed without impact to everything else?

▸Valuable — Does this story have value to the end user?

▸Estimable — Can you estimate the size of the story?

▸Small —Is it small enough?

▸Testable — Can this story be tested and verified?

Page 25: Requirement Capturing Techniques

▸A story should be small enough to be coded and tested within an iteration—ideally just a few days

▸The agile recommendation is to break down a set of user stories into smaller ones, containable into a single sprint duration, or ideally, not more than a week.

▸Avoid having child stories, it is not a good recommendation to have user story in nested hierarchy

25

SIZE & DETAIL OF USER STORY

Page 26: Requirement Capturing Techniques

▸Sometimes a story will be small enough if we do too much slicing vertically, other time it get way too bigger, as we keep on stuffing the feature in one single user story.

▸This is why we have story points. The points are a fuzzy measurement of how big or small a story is, ▸User Story should be estimated by the engineer(s) who are implementing it or someone with superior knowledge about the work.

▸Organization/team there should have a standard scale for story points measure, so you can compare multiple stories

26

STORY POINT & USER STORY

Page 27: Requirement Capturing Techniques

27

DoD & CoS FOR USER STORY ▸As you fine-tune your estimation, the team should be able to reliably pick up as many stories as they can handle

▸Define your Definition of Done (DoD) for stories, acceptance criteria or condition of satisfaction (CoS )

▸This helps set expectations within the team as to when a team should consider something done.

Page 28: Requirement Capturing Techniques

28

DoD & CoS FOR USER STORY ▸Acceptance criteria complement the narrative:

▸They allow you to describe the conditions that have to be fulfilled so that the story is done.

▸The criteria enrich the story, they make it testable,

▸As a rule of thumb, use three to five acceptance criteria for detailed stories

Page 29: Requirement Capturing Techniques

3. H - METHOD

29

Page 30: Requirement Capturing Techniques

30

H - METHOD ▸The H-method is an analysis tool that aids the BA in organizing a fact finding interview with a business representative or system user. ▸Let’s consider a typical interviewing process.

▸Without the use of a framework for organizing an interview, an analyst and business representative will often participate in a relatively unstructured dialogue in which the analyst asks questions such as: ▸Tell me what you do? ▸What does your system do? ▸Who do you interact with? ▸Why is “x” important?

Page 31: Requirement Capturing Techniques

31

H - METHOD ▸Based on the answers given the analyst will continue to ask follow up questions. ▸The success of the fact finding is typically dependent upon the experience level of the analyst.

▸While this method can work, the analyst will often walk away with several pages of unstructured notes.

▸Important information must then be extracted and organized into something meaningful and useful.

▸ Only then we will be able to determine if we have all of the necessary pieces of information or if there are still gaps in their understanding

Page 32: Requirement Capturing Techniques

32

H - METHOD ▸Based on the answers given the analyst will continue to ask follow up questions. ▸The success of the fact finding is typically dependent upon the experience level of the analyst.

▸While this method can work, the analyst will often walk away with several pages of unstructured notes.

▸Important information must then be extracted and organized into something meaningful and useful.

▸ Only then we will be able to determine if we have all of the necessary pieces of information or if there are still gaps in their understanding

Page 33: Requirement Capturing Techniques

33

H - METHOD ▸The H-method uses the following “H” shaped diagram to provide a structured framework to guide the interview and to allow the analyst to captured information in an organized way from the start.

Page 34: Requirement Capturing Techniques

34

H - METHOD ▸The H-method uses the following “H” shaped diagram to provide a structured framework to guide the interview and to allow the analyst to captured information in an organized way from the start.

Page 35: Requirement Capturing Techniques

35

H - METHOD ▸Inputs & Outputs

▸By defining the inputs and outputs, the scope can be further refined. ▸By defining what comes into the area, and what is produced, it helps define scope at a lower level of detail.

▸Functionality

▸Functionality will be at different levels of granularity.

▸At the first interview, it is better to keep focused on getting information rather than sorting information.

Page 36: Requirement Capturing Techniques

36

H - METHOD ▸Data

▸The question "What are the people, places and things you want to keep track of?" is invaluable for a BA.

▸ The vast majority of users don't think in terms of databases.

▸. Data comes up all through a discussion. When it does, drop it in this box.

▸Business Rules

▸As rules emerge, they should be dropped into the business rules box. Like data, they are woven through everything the BA is told.

Page 37: Requirement Capturing Techniques

37

H - METHOD ▸Business Processes ▸Depending on the scope of the discussion, it may be useful to break it down into discreet business processes. ▸For example, an order fulfillment area may have the following business processes:

▸Order placement ▸Order fulfillment ▸Invoice creation ▸It is up to the Business Analyst to determine the appropriate level of granularity to use when undertaking the analysis

Page 38: Requirement Capturing Techniques

38

H - METHOD EXAMPLE

Page 39: Requirement Capturing Techniques

39

H - METHOD EXAMPLE

Page 40: Requirement Capturing Techniques

40

CONCLUSION ▸There are many methodologies including functional decomposition, DFD, Workflows, Use Cases etc. that can be used

▸IT is up to B.A to choose the one that fits the project, I have explained here three of the most popular ones

Page 41: Requirement Capturing Techniques

41

THANKS!

Any questions? You can find me at [email protected]