functional vs non-functional requirements - which comes first?
TRANSCRIPT
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!
Lets be in touch!IN: ua.linkedin.com/in/labunskiyMail: [email protected]: facebook.com/LabunskiyMedium: medium.com/@labunskiy