Fast - IIBA Columbus Ohio Chapter
Download
Report
Transcript Fast - IIBA Columbus Ohio Chapter
How Fast is “Fast”?
Demystifying NFRs
Terry Wiegmann, CBAP, CSQE, PSPO, ATM-G
Director, People Service Line Lead
Quick Solutions, Inc.
@twieg
Heard these?
Fast
Easy to Use
Available when I need it to be
Accurate
Accommodate a large number of users
4 Ws and an H
What are they
Why do we care
Who has them
Where can we find them
How to organize them
What are they?
Functionality
Oxymorons, Ilities, QoS
What are they?
Non-functional requirements specify criteria
that can be used to judge the operation of a
system, rather than specific behaviors.
Functional requirements define what a
system is supposed to do; NFRs define how
a system is supposed to be.
BABOK V2, Chapter 9, Techniques
Purpose
Is to describe the required qualities of a
system, such as its usability and
performance characteristics.
These supplement the documentation
of functional requirements, which
describe the behavior of the system.
ISO/IEEE Definition
A software requirement that describes not
what the software will do but how the
software will do it (ISO/IEC/IEEE 24765:2010
Systems and software engineering-Vocabulary)
Karl Wiegers
A description of a property or
characteristic that a software system
must exhibit
or
a constraint it must respect, other than an
observable system behavior
Rachel Davies/Execution Qualities
Observable at run time: Security, usability
Evolution qualities
Testability, maintainability, extensibility,
scalability, embodied in the status and
structure of the system
Domain Requirements Problems
Understandability
Requirements are
expressed in the
language of the
application domain;
not understood by
developers
Implicitness
Domain specialists
understand the area
so well that they do
not think of making
the domain
requirements
explicit
Why do we care?
Square Pegs, Round Holes
Have more impact on design than
stories
Cross-cutting scope, apply universally or
to more than one strand of functionality
Elicitation forces consideration of
design and architecture
Loss of Customers
Bad Press
Loss of Investment, Life
Who has them?
Stakeholders
NFRs: qualities of a system that are important to:
User community
usability, learnability, reliability, etc.
Development community
scalability, maintainability, reusability, etc.
ERD for NFRs
Customer
Support
Known Bugs
Workarounds
Enhancement Requests
Operations
Support the system in Prod
OS updates
Maintenance Windows
Security
New
System
Finance
FAS 86
SOP 98
SLAs
ROI/BC?
Hostile users
Competitors’ Beta
testers
DR/BC
Legal
Sales,
Marketing
Trainers
Ability to create demos
Press Releases
Trade Shows
Contractual
Attributions
Escrow
Set up Trainees’ User IDs
Refresh data
Separate enviroment
Often Overlooked Stakeholders
Operations
Support the system once in Production
Support/Help Desk
Known Bugs, Workarounds, Enhancement Requests
Security
Hostile users, Competitors’ Beta testers
Trainers
Set up users, Refresh data, separate enviroment
Legal & Finance
Contractual attributions, Escrow, SLA, FAS86, SOP98
Capacity
Max users
Max concurrent users
Max transactions
Data Set sizes
Reliability
Degree to which the
system performs as
required
System defect rate
shall be less than 1
failure per 1000 hours
of operation.
Security
• Ability to resist
unauthorized attempts
at usage
• Continue providing
service to legitimate
users
Performance
Performance Examples
System shall be able to process 100 payment
transactions/second in peak load.
In standard workload, the CPU usage shall be less
than 50%, leaving 50% for background jobs.
Production of a simple report shall take less than
20 seconds for 95% of the cases.
Scrolling one page up or down in a 200 page
document shall take at most 1 second.
Availability
• System shall meet or
exceed 99.99%
uptime.
• System shall not be
unavailable more than
1 hour/1000 hours of
operation.
Testability
• Ability to detect, isolate,
and fix defects
• Time to set up test env &
run tests
• Test coverage
(requirements coverage,
code coverage…)
SLAs
Usability
Learnability
Efficiency
Memorability
Error avoidance
Accessibility
Web-based system:
Compliance with standards for the blind
Video games:
Compliance with age/content ratings
systems (e.g., no violence)
Pretty, Fun, Cool
What about NFRs such as “fun” or “cool” or
“beautiful” or “exciting”?
Reference Model
Where can we find them?
Where to Find Them
Stakeholder Interrogation
How do we organize them?
Attributes/Gottesdiener
IIBA Spotlight
Webinar:
Oh, No!
Not
Nonfunctional
with Roxanne
Miller
User Needs
Measures and Metrics
Metric: mean time between
failures
Measure: number of failures in a
period of time (an observation!)
Defined Circumstances
Valid
Invalid
– for
– the
use
system
case ABC
should
therespond
system will
to user
input within
respond
to a10
valid
seconds.
user entry within 5
seconds for a median load of 250 active users
and 2000 logged in users 95% of the time; or
within 10 seconds for a peak load of 500
active users and 4000 logged in users 90% of
the time.
RASSUI
(NCR)
Reliability
Availability
Serviceability
Security
Usability
Installability
And Accuracy and Security and a Pony…
FURPS
Hewlett-Packard
Functionality
Feature set, Capabilities, Generality, Security
Usability
Human factors, Aesthetics, Consistency, Documentation
Reliability
Frequency/severity of failure, Recoverability, Predictability, Accuracy, Mean time
to failure
Performance
Speed, Efficiency, Resource consumption, Throughput, Response time
Supportability
Testability, Extensibility, Adaptability, Maintainability, Compatibility,
Configurability, Serviceability, Installability, Localizability, Portability
FURPS+
Competitive Engineering, Tom Gilb
Planguage Keywords & Syntax
Keyword
TAG
GIST
STAKEHOLDE
R
SCALE
METER
MUST
PLAN
STRETCH
WISH
PAST
TREND
RECORD
DEFINED
AUTHORITY
Description
A unique, persistent identifier
A short, simple description of the concept contained in
the Planguage statement
A party materially affected by the requirement
The scale of measure used to quantify the statement
The process or device used to establish location on a
SCALE
The minimum level required to avoid failure
The level at which good success can be claimed
A stretch goal if everything goes perfectly
A desirable level of achievement that may not be
attainable through available means
An expression of previous results for comparison
An historical range or extrapolation of data
The best-known achievement
The official definition of a term
The person, group, or level of authorization
QUINT
QUality in INformation Technology
(superset of ISO 9126)
Functionality
Reliability
Usability
Efficiency
Maintainability
Portability
IFPUG/SNAP
IFPUG RECENTLY RELEASED THE NEW SNAP
(SOFTWARE NON-FUNCTIONAL ASSESSMENT
PROCESS) METHOD, AIMED TO SIZE THE NONFUNCTIONAL SIDE OF A SOFTWARE APPLICATION.
When do we deal with them?
Agile Good Practice: Model a bit Ahead
NFRs as User Stories
NFR as User Stories
Build into Definition of Done
As User Stories
All reqs look the same
Can be understood by everyone, even non-tech
Have same visibility
May get deprioritized
As Technical Stories
Allot some points each iteration
Not visible to customer, can’t prioritize
In Acceptance Criteria
Architecture cost in first story
Key Points
Keep Them on Your Radar
One Size Doesn’t Fit All
Capture Learnings
Do and Improve