Requirements

53
www.relaxedprojectmanager.com + Requirements

Transcript of Requirements

Page 1: Requirements

www.relaxedprojectmanager.com

+Requirements

Page 2: Requirements

www.relaxedprojectmanager.com

+Real requirements

Client : You seem to be the kind of guy who know what you are doing?

Client : Educate me : What do you get when you rob a store ?

Thief: Answer : money

Client : How much give me a number ?

Thief : 500 bucks

Owner : That’s not possible

Client : OK let’s say a minimum hundred. If you get shot than it emergency will cost you a 1000 bucks .

Client : What are you going to buy with the money?

Thief : Beer and Sandwich

Client : How does 50 bucks of beer and sandwich sounds to you? I assume you are going to run. That’s all what you can carry?

Page 3: Requirements

www.relaxedprojectmanager.com

+Definion of requirementsWhat is a Requirement?

A requirement is something wanted or needed

Formally documented and written statements

Capabilities needed to solve a problem

Conditions of a delivered system, services, product, or process

Constraints on the system, service, product, or process

Requirements are not :

Verbal, informal statements or conversations in the hallways

Solutions that state how to solve the problem or meet the objectives

Characteristics of other systems, services, products, or processes

Project budgets, plans, or implementation details

Page 4: Requirements

www.relaxedprojectmanager.com

+What are requirements ?

Conditions or capabilities needed by a user/stakeholder

to solve problem or achieve an objective

Scope : the sum of the products, services and results to be provided as a project

Project Scope : the work that must be performed to deliver a product, service or result with thespecified features and functions

Product Scope : the features and functions that characterize the product, service or result www.relaxedprojectmanager.com

Page 5: Requirements

www.relaxedprojectmanager.com

+What should happen ?

Page 6: Requirements

www.relaxedprojectmanager.com

+How to get close to the real requirements ?

Page 7: Requirements

www.relaxedprojectmanager.com

+The importance of requirements

Stakeholders

Interests

Requirements

Product/Service

Page 8: Requirements

www.relaxedprojectmanager.com

+Reasons for failure

Page 9: Requirements

www.relaxedprojectmanager.com

+Is there something like « real » requirements

People don’t express what they really need, they express what they think they need

Esteem andBelonging needs

Safety needs

Self Realisation

Page 10: Requirements

www.relaxedprojectmanager.com

+Why? Why? Why?

Problem: Your client is refusing to pay for the leaflets you printed for them.

Why? The delivery was late, so the leaflets couldn't be used.

Why? The job took longer than we anticipated.

Why? We ran out of printer ink.

Why? The ink was all used up on a big, last-minute order.

Why? We didn't have enough in stock, and we couldn't order it in quickly enough.

Counter-measure: We need to find a supplier who can deliver ink at very short notice.

Page 11: Requirements

www.relaxedprojectmanager.com

+Pain

Page 12: Requirements

www.relaxedprojectmanager.com

+Maslows pyramid of hierarchies

Page 13: Requirements

www.relaxedprojectmanager.com

+Requirements come from business needs

You need to know the business model

On the internet : Advertising – Affiliates – Brokerage - Merchant – Subscription – Information Community

Page 14: Requirements

www.relaxedprojectmanager.com

+ “Set as a clockwork” : McDonald’s

Position : The first and best know fast food companyProcess value: Easy food, clean, quick process for young, they get used to the food and will be also customers when they are adult.Processus clefs : garantie of fresh food. Structure : Three layers of management(Restaurant Manager, First Assistant Manager, Floor Manager, Crew)Pouvoir : Business model is centralised (Marketing, business model, etc.). Human ressources are decentralised. Culture : Quick serving, fresh products, consumerism, US culture …

Page 15: Requirements

www.relaxedprojectmanager.com

+Where’s the pain?

The first and best known fast food company

Easy food, clean, quick process for young, they get used to the

food and will be also customers when they are adult.

garantie of fresh food.

Three layers of management(Restaurant Manager, First Assistant

Manager, Floor Manager, Crew)

Business model is centralised (Marketing, business model, etc.).

Human ressources are decentralised.

Quick serving, fresh products, consumerism, US culture …

Page 16: Requirements

www.relaxedprojectmanager.com

+What does this means for requirements ?

Constraints === Requirements

Page 17: Requirements

www.relaxedprojectmanager.com

+Organisational Culture

onnel

Page 18: Requirements

www.relaxedprojectmanager.com

+Requirements

Business

Organisation

Individuals

Constraints === Requirements

Page 19: Requirements

www.relaxedprojectmanager.com

+What happens by not adressing the requirements/constraints

Page 20: Requirements

www.relaxedprojectmanager.com

+Failure : Segway

$100 million developing the product Price point too high for mass consumer base Classiefied road vehicle and required licencing

Page 21: Requirements

www.relaxedprojectmanager.com

+Failure : Cosmopolitan Yogurt

58 international editions Client need is not yogurt

Page 22: Requirements

www.relaxedprojectmanager.com

+Kano

Delighters (surprise curve)

PerformanceNeeds curve

BasicNeeds

(Must have curve)

Notimplemented

DegreeOf fullfillement

Dissatisfied

Customersatisfaction

Un conscious demandUnexpected/not declared

Expected/Not declared

Page 23: Requirements

www.relaxedprojectmanager.com

+Methods and Tools to understand requirements

Page 24: Requirements

www.relaxedprojectmanager.com

+What is Requirements Elicitation? Elicitation: gathering and understanding what

stakeholders and users need Done at both an organizational (business) and a more

detailed user level Elicitation is a human-based activity

Determine requirements sources Decide how to gather information

Involves research, reading, talking, and observing Business-level context and framework

How the end users do their jobsWhat would help them do their jobs better

Within the scope of our system, product, or process

Page 25: Requirements

www.relaxedprojectmanager.com

+How to find requirements ?

1. Lighter in stock

2. Point of Sale

4. Household waste

3. User lights a cigarette

Stakeholder 1Stakeholder 2

Stakeholder 6Stakeholder 7 Stakeholder 8

Stakeholder 3

Stakeholder 4Stakeholder 5

Stakeholder 9

www.relaxedprojectmanager.com

Page 26: Requirements

www.relaxedprojectmanager.com

+How to gather requirements ?

SurveyMarket StudyInterview

WorkshopBrainstorm

Meeting

Prototypage

www.relaxedprojectmanager.com

Page 27: Requirements

www.relaxedprojectmanager.com

+Interview technique

Generally easy, because it can be done with minimal preparation.

Interviews of individuals and small groups require less planning and scheduling effort than large workshops.

Interviews of individuals and small groups require less stakeholder commitment than large workshops.

Interviews provide an opportunity to explore or clarify topics in more detail.

The questions used in the interview may reflect the interviewer’s preconceived ideas, which can influence the responses.

For projects with a large number of stakeholders the interviews technique can be time-consuming and inefficient.

Conflicts and inconsistencies between stakeholder information need to be resolved in additional interviews.

This technique does not allow different stakeholders to hear and elaborate upon the information being relayed.

Advantages Disadvantages

Page 28: Requirements

www.relaxedprojectmanager.com

+Joint Application Development (JAD) Techniques

This technique allows for the simultaneous gathering and consolidating of large amounts of information.

This technique produces relatively large amounts of high-quality information in a short period of time.

Discrepancies are resolved immediately with the aid of the facilitator.

This technique provides a forum to explore multiple points of view regarding a topic.

Requires significant planning and scheduling effort.

Requires significant stakeholder commitment of time and effort.

Requires trained and experienced personnel for facilitation and recording.

Advantages Disadvantages

Page 29: Requirements

www.relaxedprojectmanager.com

+Survey method

A survey can reach a large number of stakeholders or other sources of information.

A survey is an excellent tool to gather a significant amount of focused data in a short period of time.

Survey method can provide good results when used to validate assumptions after the use of the interviewing technique.

A Survey method is a good tool to gather statistical preference data.

A survey requires little scheduling effort.

A survey requires little stakeholder commitment of time and effort.

The response level is often low, especially to large surveys.

Responses are usually limited to the realm of the questions asked, which reflect the analyst’s preconceived ideas or assumptions of the survey designer.

Well-made surveys require trained and experienced personnel to develop.

Development time can be significant.

5. Conflicts and inconsistencies in information from stakeholders require additional analysis to resolve.

Advantages Disadvantages

Page 30: Requirements

www.relaxedprojectmanager.com

+What’s a user story

• As a user/stakeholder ...

• I want to … achieve a goal

• So that I can … get some value

www.relaxedprojectmanager.com

Page 31: Requirements

www.relaxedprojectmanager.com

+How to guaranty quality of requirements

Stories should be I.N.V.E.S.T:Independent – Negotiable– Valuable

Estimable – Right Sized – Testable

But also :Unambiguous – Complete – Verifiable –

Consistent – Modifiable - Traceable

Page 32: Requirements

www.relaxedprojectmanager.com

+Complete

Inclusion of all significant functional and non-functional requirements Specification of the responses to valid and invalid input

values Conformity to any standard that applies Full labeling and referencing of all figures, tables, and

diagrams and definition of all terms and units of measure Any RD&S that uses the phrase to be determined (TBD) is

not complete

Page 33: Requirements

www.relaxedprojectmanager.com

+Unambiguous

Every requirement has only one interpretation

Each characteristic is described using only one term

Example of ambiguous requirement: All customers have the same control field

a) All customers have the same value in their control fields

b) All customers control fields have the same format

c) One control field is issued for all customers

Page 34: Requirements

www.relaxedprojectmanager.com

+Consistent

No set of individual requirements conflicts

Examples:• One requirement might state the format on the output

One requirement might state the format on the output : a field is report as tabular, but another as textual

Page 35: Requirements

www.relaxedprojectmanager.com

+Modifiable

Necessary changes to the requirements can be made easily, completely, and consistently

Coherent, easy-to-use organization – table of contents, an index, explicit cross-referencing

• Not be redundant

Page 36: Requirements

www.relaxedprojectmanager.com

+They want it all: ask your customer

How fast should the service/product perform?

How available should the service/product be?

How about security?

— As fast as possible!— 24 x 7 x 365!— Everything should be secure!

Page 37: Requirements

www.relaxedprojectmanager.com

+

Customer: We want to have 100% system uptime.

Architect: OK, that might be doable, but requires all components to be redundant and eligible for automatic failover. That would take a year and $1,000,000 to implement.As an alternative, we can build a simpler system for $500,000 in 8 months but it will require manual maintenance in case of failure. Which one would be more suitable for you at this point?

Customer: Let’s build the second option, it’s much cheaper and faster. We’re a startup and time-to-market is our top priority.

Page 38: Requirements

www.relaxedprojectmanager.com

+Wouldn’t you?

Speak to stakeholders in their own language.

Explain the tradeoffs in terms of cost, schedule, and realism.

Together, try to come up with specific, measurable NFRs.

Prioritize: the domain matters a lot!

Page 39: Requirements

www.relaxedprojectmanager.com

What are Non Functional Requirements

“Functional requirements define WHAT a system is supposed to do”

“Non-Functional requirements define HOW a system is supposed to be”

Page 40: Requirements

www.relaxedprojectmanager.com

+Knowing of non-functional requirements

Helps to avoid of customers say

„You should thing better!“

Page 41: Requirements

www.relaxedprojectmanager.com

+Non-functional requirements are aspects

• Users have implicit expectations about how well the software will work.

• These characteristics include • how easy the software is to use,• how quickly it executes,• how reliable it is,• and how well it behaves when unexpected conditions arise.

• The non-functional requirements define these aspects about the system.

Page 42: Requirements

www.relaxedprojectmanager.com

+Non Fuctional Requirements - General

• Security• Exception Handling• Validation• Logging• Tracing / Testing• Monitoring / Reliability• Transaction• Storage• GUI Binding• Configuration

Page 43: Requirements

www.relaxedprojectmanager.com

+ Non Fuctional Requirements– System / Dev

• Naming conventions• Caching, Performance• Scalability• RAM usage• Thread Sync

Page 44: Requirements

www.relaxedprojectmanager.com

+ How to fetch non-functional requirements?

• Anti-stories are things the user does not want to happen, commonly for safety or security reasons.

Page 45: Requirements

www.relaxedprojectmanager.com

+Security

- Should access to be limited?

- Is an access list necessary?- Access Control List- White List- Black List

Page 46: Requirements

www.relaxedprojectmanager.com

+Exception handling

- What errors can occur on runtime?

- What it should do in case of error?

Page 47: Requirements

www.relaxedprojectmanager.com

+Validation

• Which input items are required?

• Which of them need to be validated?

• What to do if input is invalid?

• How to recognize if an item is valid? (email, personal number, ZIP code...)

Be aware - customer tends to change it frequently!

Page 48: Requirements

www.relaxedprojectmanager.com

+Logging

• It is about loggin from the user perspective, not developer’s logging

• Which events should be logged?

• Which items should log contain?

• Is the last operation enough or you need history?• How deep the history should be?

• Where to log? (file/db/…)

• Who should have access to logs?

• Incremental or rotation log?

• How to purge/delete logs?

Page 49: Requirements

www.relaxedprojectmanager.com

+Tracing - testing

• How to test an application?

• Which parts of the application should traceable?

Page 50: Requirements

www.relaxedprojectmanager.com

+Transaction

• Which operation is „atomic“- what must be proceeded all at once?

• How to do rollback/cancel an operation?

Page 51: Requirements

www.relaxedprojectmanager.com

+

Satisfied

Dissatisfied Neutral Don’t

careDissatisfie

d

If I didn’t have this …

If had this …

Making decisions on features

www.relaxedprojectmanager.com

Page 52: Requirements

www.relaxedprojectmanager.com

+How to manage requirements?

Fundamental Needs - Usages scenarios

Requirements linked to the usage

Constraints

Priorities

Main Needs

Specific requirem

ents linked to the need

Level of

required

performance

Measures and

tests to verify

that de delivera

ble

MoSCoW Status

www.relaxedprojectmanager.com

Page 53: Requirements

www.relaxedprojectmanager.com

+

Must Have

Could Have

Should Have

Won’t Have

Use MoSCoW to prioritize requirements !

Requirement

Requirement

Requirement

Requirement

Requirement

Requirement 1

Requirement 2

Requirement 3

Requirement 4

Requirement 5

Requirement 6

www.relaxedprojectmanager.com