1 / 62

How Fast is “ Fast ”? Demystifying NFRs

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.

shing
Download Presentation

How Fast is “ Fast ”? Demystifying NFRs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. How Fast is “Fast”? Demystifying NFRs Terry Wiegmann, CBAP, CSQE, PSPO, ATM-G Director, People Service Line Lead Quick Solutions, Inc. @twieg

  2. Heard these? Fast Easy to Use Available when I need it to be Accurate Accommodate a large number of users

  3. 4 Ws and an H What are they Why do we care Who has them Where can we find them How to organize them

  4. What are they?

  5. Functionality

  6. Oxymorons, Ilities, QoS

  7. What are they? • Functional requirements define what a system is supposed to do; NFRs define how a system is supposed to be. Non-functional requirements specify criteria that can be used to judge the operation of a system, rather than specific behaviors.

  8. 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.

  9. 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)

  10. 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

  11. 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

  12. Domain Requirements Problems Implicitness Domain specialists understand the area so well that they do not think of making the domain requirements explicit Understandability • Requirements are expressed in the language of the application domain; not understood by developers

  13. Why do we care?

  14. 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

  15. Loss of Customers

  16. Bad Press

  17. Loss of Investment, Life

  18. Who has them?

  19. Stakeholders NFRs: qualities of a system that are important to: • User community • usability, learnability, reliability, etc. • Development community • scalability, maintainability, reusability, etc.

  20. ERD for NFRs • Known Bugs • Workarounds Enhancement Requests Customer Support Operations Security • Support the system in Prod • OS updates • Maintenance Windows New System • Hostile users • Competitors’ Beta testers • DR/BC Finance Legal • FAS 86 • SOP 98 • SLAs • ROI/BC? Trainers Contractual Attributions Escrow Sales, Marketing • Set up Trainees’ User IDs • Refresh data • Separate enviroment • Ability to create demos • Press Releases • Trade Shows

  21. 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

  22. Capacity Max users Max concurrent users Max transactions Data Set sizes

  23. Reliability • Degree to which the system performs as required • System defect rate shall be less than 1 failure per 1000 hours of operation.

  24. Security • Ability to resist unauthorized attempts at usage • Continue providing service to legitimate users

  25. Performance

  26. 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.

  27. Availability • System shall meet or exceed 99.99% uptime. • System shall not be unavailable more than 1 hour/1000 hours of operation.

  28. Testability • Ability to detect, isolate, and fix defects • Time to set up test env & run tests • Test coverage (requirements coverage, code coverage…)

  29. SLAs

  30. Usability Learnability Efficiency Memorability Error avoidance

  31. Accessibility • Video games: Compliance with age/content ratings systems (e.g., no violence) Web-based system: Compliance with standards for the blind

  32. Pretty, Fun, Cool What about NFRs such as “fun” or “cool” or “beautiful” or “exciting”?

  33. Reference Model

  34. Where can we find them?

  35. Where to Find Them

  36. Stakeholder Interrogation

  37. How do we organize them?

  38. Attributes/Gottesdiener

  39. IIBA Spotlight Webinar: Oh, No! Not Nonfunctional with Roxanne Miller

  40. User Needs

  41. Measures and Metrics • Metric: mean time between failures • Measure: number of failures in a period of time (an observation!)

  42. Defined Circumstances • Valid – for use case ABC the system will respond to a valid 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. Invalid – the system should respond to user input within 10 seconds.

  43. RASSUI(NCR) Reliability Availability Serviceability Security Usability Installability

  44. And Accuracy and Security and a Pony…

  45. FURPSHewlett-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

  46. FURPS+

  47. Competitive Engineering, Tom Gilb

More Related