Fast - IIBA Columbus Ohio Chapter

advertisement
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
Download