Functional vs Non-functional Requirements - Which comes first?

Preview:

Citation preview

Chicken or egg?Which comes first: functional or non-functional requirements

About10+ years in IT8+ years on a management position6+ years of Agile experience

Non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors

FR vs NFRFunctional Requirements Non-Functional RequirementsProduct Features Product PropertiesDescribe the actions of user Describe the experience of user. How easy to

use? How quick it executes? Functions that can be captured in use cases Global constraints that result development

and operational costCan be traced as individual module of program

Is a basement of program module

Lets go Deep into Details

What is the source of requirements?

Company’s Strategic Goals are the Source of Requirements

Type of NFRsImportant to User Important to Team Important to busenessPerformance Maintainability Time to marketSecurity Portability CostUsability Reusability FlexibilityCompatibility Testability SpeedAccessibility Naming ConventionFlexibility Tech StackDisaster Recovery Monitoring

NFR Identification Interviews Brainstorm Prototyping Workshops Questionnaire End-User Requirements SLA, SLO

SSL, 2048 bit encryption, Key stored at Key Vault, 1000 ops/sec

Caching of processed files on HDD

Retrieve Document Pages

Page-by-Page Navigation

Enabler & Feature

NFR Evaluation

Identify Quality Factors

Define Measurable Criteria

Define Acceptance Criteria

NFR List of Enablers

Context>Attribute>MetricSystem Context

Attribute

Metric

Should Value

Must Value

Add new Item (Context)

Fast enough (Shall Be)

# of ms to finish

Should <500ms

Must <1000ms

Impact

Pros & Cons Analysis

Some Examples of NFR 99,9% uptime No downtime deployment Usage of Specific Provider Response time Browsers & Platforms App should be deployed at 3 different AWS Zones

Build your system

Non functional Requirements

Functional Requirements

User Facing Functionality & UI

Business Goal

That leads to…

Thank you!

Recommended