Controlling Reqts Risk Identifying & Controlling Reqts Risk 1. Reqts can be a Problem 2. Identifying Reqts Hazards A Survey of Safety Tactics 3. Reqts Risk Mgmt 4. Safety Tactics David Gelperin ClearSpecs Enterprises [email protected] ClearSpecs Education ClearSpecs Education 1 1 2 Why Bother with Reqts? Reqts Scope can be Vague We find – reqts receivers, both present and future (e.g., designers, developers, testers, lawyers, writers, maintainers) – reqts providers (e.g., customers, developers, testers, regulators) among project stakeholders. 1. Customer Needs System Reqts Architecture and Interface Specs (Design Constraints) Project Reqts Primary purpose of reqts information is to inform reqts receivers about needs and constraints so they can do their jobs effectively and efficiently. efficiently. 2. Musts or Musts & Wants or Musts, Wants, & Likes Reqts are unnecessary unnecessary,, if reqts receivers already know the details of needs and constraints. Your reqts process needs improvement improvement,, if your reqts receivers don’t get accurate or sufficient information or are receiving far too much. ClearSpecs Education ClearSpecs Education 3 2 4 We are analog beings trapped in a digital world [and we did it to ourselves] Yin Yang of Reqts Dev Technical Aspects We have constructed a set of artificial devices that are very much NOT in our own image -- Don Norman (30%) – Neat Analyzing, Specifying Imprecise Inconsistent Incomplete Human Aspects Needs, Desires, & Preferences (70%) – Messy Teaming, Discovering, Understanding Communicating, Negotiating Implemented Systems [Psychology, Politics, Sociology] Precise Consistent Complete ClearSpecs Education ClearSpecs Education 5 3 6 Then a Miracle Occurs (Rarely) Sooner or Later Fuzzy Concepts (from the customer) Precision always appears in systems development, but it can be painful System Development The issue is not if it will appear, but who provides it, when when,, and who understands it Acceptable Precision (electronics, data, tests) Poor definition of “acceptable” is a leading cause of unacceptable systems ClearSpecs Education ClearSpecs Education 7 4 8 Reqts Problems Stakeholders differ in -- Poor reqts and inadequate verification and validation Missing architecturallyarchitecturally-significant reqts Inappropriate constraints Over emphasis on simplistic modeling Excessive volatility Inadequate reqts mgmt including scope creep Untraced sources and allocations Inadequate process and tool support Unprepared reqts analysts Don Firesmith 2007 Inadequate user involvement Inadequate senior mgmt support Unrealistic expectations Level of commitment & constructive involvement Understanding, assumptions, & expectations (domain & technical) Ability to learn & make decisions Willingness to explore Tolerance for details & compromise Styles of communication Team building and negotiation may be the critical challenges i.e. you may be herding cats Standish Group (Chaos Report ) 1995 ClearSpecs Education ClearSpecs Education 9 5 10 Info can be Unreliable Customers may not know exactly what they want Customers can not tell all they know Customers make mistakes Few have experience with precise human--understandable detail human We can’t fully understand abundant detail Some details can only be discovered during build We make mistakes Things change Change may be rapid Root Cause of Many Reqts Problems LOU – Lack Of Understanding Recognized vs. Unrecognized LOU U LOU is very dangerous ClearSpecs Education ClearSpecs Education 11 6 12 Reqts can be a Problem Biggest Reqts Problem Communication is hard: Imprecision is the rule, rule, not the exception. Devil’s in the many many details. Checking is hard: “Best practice” reviews miss 1/2 the defects (Gilb Gilb)) Deep understanding is acquired in layers (no eureka moment -it takes time) Human factors get in the way None of this will change ClearSpecs Education ClearSpecs Education 13 7 14 Hazard Controlling Reqts Risk 1. Reqts can be a Problem Hazard 2. Identifying Reqts Hazards 3. Reqts Risk Mgmt Adverse Event Harm(s) Adverse Event Harm(s) Adverse Event Harm(s) 4. Safety Tactics Synonyms for “harm”: “harm”: loss, injury, damage Hazard (n): potential cause of significant harm Synonyms:: danger, peril Synonyms ClearSpecs Education ClearSpecs Education 15 8 16 Reqts Hazards Sid & Lou Reqts Hazards Hazards:: hazardous to reqts and hazards in reqts Application Defect-free DefectFailures Stakeholder Process Resource Complexity Reqts Defect-based DefectFailures Change “raising” children includes “protecting” from dangers to them & dangers from them ClearSpecs Education ClearSpecs Education 17 9 18 Hazardous to Reqts Application Hazards (to) Potential otential for seriously defective reqts info rooted in: Application is: application characteristics – Application Hazards – unfamiliar incorrect information (assumptions), inadequate understanding or involvement, inappropriate behavior – Stakeholder Hazards inadequate reqts dev or mgmt processes – Process Hazards inadequate time or tools – Resource Hazards confusing project, problem, or solution – Complexity Hazards rapidly changing info – Change Hazards ClearSpecs Education – complex – missionmission-critical ClearSpecs Education 19 10 20 Spec Stakeholders Stakeholder Hazards (to) Providers (& Reviewers) Customers Outsourcers Users Application Experts Quality Experts (Safety, Security, Usability) System Testers Quality Assurance Auditors Lawyers Both direct and indirect (bosses, life partners) stakeholders behavior + 1 2 3 Specifiers Business Analysts Product Managers System Architects Requirements Engineers Technical Writers • information • understanding • involvement - + 4 Receivers System Houses Project Managers System Designers System Developers System Testers Documenters It’s not what we don’t know that’s the problem, it’s what we know that ain’t so. Josh Billings ClearSpecs Education 21 11 ClearSpecs Education 22 Process Hazards (to) scope too narrow or too broad inadequate discovery incorrect derivation inadequate attention to nonfunctional reqts confusing responsibilities context independent (i.e. rigid) tasks ineffective communication or negotiation too much or too little specification inadequate verification and validation creeping scope ineffective change or info management inadequate defect data collection ClearSpecs Education Ambiguity Two hunters are out in the woods when one of them falls to the ground. He doesn't seem to be breathing and his eyes are rolled back. The other hunter pulls out his cell phone and calls 911. He gasps to the operator: “My friend is dead! What can I do?” The operator, in a calm voice says: “Just take it easy. I can help. First, let's make sure he's dead.” There is silence and then a shot. The hunter’s voice comes back on the line. “OK, now what?“ ClearSpecs Education 23 12 24 Context Resource Hazards (to) A woman sues a man for defamation of character charging that he called her a pig. The man is found guilty and made to pay damages. critical stakeholders overlooked, unavailable, or underinvolved After the trial, he asks the judge, “Does this mean that I can no longer call Ms. Harding a pig?” The judge says, “That is correct.” “And does this mean that I can’t call a pig Ms. Harding?” “No,” says the judge, “you are free to call a pig Ms. Harding. There is no crime in that.” arbitrary schedule as hard requirement inadequate time for analysis and learning insufficient tool support The man look Ms. Harding in the eye and says, “Good afternoon, Ms. Harding.” ClearSpecs Education ClearSpecs Education 25 13 26 Change Hazards (to) Complexity Hazards (to) social (stakeholder group) individual reqts unstable application (problem) scope expands or refocuses design (solution) rate of change decreases too slowly significant change comes late Expect change due to learning and human error ClearSpecs Education ClearSpecs Education 27 14 28 Hazards in Reqts Who’s in Peril “from”? Potential otential for significant problems in implementing a suite of defect defect--free reqts – Defect Defect--free Hazards significant harm or loss rooted in defective reqts – Defect Defect--based Hazards Danger Will Robinson ClearSpecs Education Project Estimator Product Architect Functional Designer Product Tester Product Developer Documentation Writer Product User Bystander Product Customer ClearSpecs Education 29 15 30 Defect-free Hazards Task-adequate Reqts overwhelming volume, complexity, or unfamiliarity misunderstanding design challenges e.g. due to integration schedule constraints budget constraints ClearSpecs Education Task-adequate means reqts Taskreceivers can perform their tasks without having to cope with major defects i.e., unclear, unnecessary, inaccurate or insufficient information. Task-inadequate requirements Tasklead to uncoordinated coping behavior and inevitable misunderstandings.. misunderstandings ClearSpecs Education 31 16 32 Defect-based Hazards Single - alone – – – – – – – – – – – unnecessary overover-specified compound incorrect (e.g., incompatible) incomplete ambiguous imprecise unclear infeasible unverifiable nonconformant Every reqts process has a footprint Defects and failures are: (caused by process or project constraints [too little time]) – natural (caused by inexperience or human limitations) duplicated conflicting inconsistent unlabelled untraced – accidental (caused by human error) 1. What are your major risk factors? 2. What is your unmanaged footprint likely to be? Suite – – – – – systemic Single – in a suite – – – – – Footprints insufficient infeasible disorganized nonconformant ClearSpecs Education ClearSpecs Education 33 17 34 Reqts-Related Failures Controlling Reqts Risk budget and schedule overruns system failures poor interfaces inappropriate architecture unnecessary complexity unnecessary functionality project cancellation system abandonment lost opportunities ClearSpecs Education 1. Reqts can be a Problem 2. Identifying Reqts Hazards 3. Reqts Risk Mgmt 4. Safety Tactics ClearSpecs Education 35 18 36 Risk Hazard Risk Reduction Adverse Event Harm(s) Adverse Event Harm(s) Adverse Event Harm(s) Since risk can be measured by: Σ ( cLhazard X cLevent X Eharm ) Risk can be reduced by reducing: 1. expected harms i.e., Eharm Risk (n): potential harm 2. likelihoods of hazards causing adverse events i.e., cLevent especially those associated with the largest expected harms Synonyms:: jeopardy Synonyms Risk can be measured by: Σ ( cLhazard X cLevent X Eharm ) 3. likelihoods of hazards i.e., cLhazard especially those associated with the largest expected harms Expected harm can be expressed as: # of deaths, lost $, # of serious defects ClearSpecs Education ClearSpecs Education 37 19 38 Risk Mgmt is Project Mgmt for Adults Risk Mgmt An almost defining characteristic of adulthood is a willingness to confront the unpleasantness of life, life, from the niggling to the cataclysmic. … You have to face up to unpleasant realities. That’s what it means to be a growngrown-up. Risk Mgmt entails minimizing harm, by accurately forecasting danger,, assessing its degree, danger and taking steps to eliminate or reduce it. Effective risk management is inherently iterative i.e., you monitor, learn, and adapt your strategy as you get smarter. DeMarco & Lister ClearSpecs Education ClearSpecs Education 39 20 40 How (Not) To Forecast Danger System Safety Engineering I can see clearly now. Mr. Magoo Systems safety Most projects run in Magoo mode ◊ emphasizes building in safety starting with requirements ◊ deals with systems as a whole ◊ takes a larger view of hazards ◊ emphasizes analysis of new situations ◊ emphasizes qualitative approaches ◊ recognizes tradeoffs and conflicts The sky is falling! The sky is falling! Henny Penny Worry smart I’ve seen every possible ending. None of them is good for you. Cris Johnson We apply similar principles to requirements development Develop 20/20 Foresight ClearSpecs Education ClearSpecs Education 41 21 42 SEI Continuous Risk Mgmt What Can Go Wrong? For safety critical products, the first questions to ask are: “How many ways can we harm product users?” users?” “How do we convince ourselves (and others) that this either can’t happen or is very unlikely when our “simple” directions are followed followed?” ?” Process includes: • identify risk factors i.e., risks, indicators, and root causes These are good questions to ask on most projects • classify, assess and prioritize factors along with: • develop and execute a risk management strategy “What should I be afraid of on this project?” project?” and • monitor factors and strategy • adapt strategy, journaling causes and question?” “Who can help me answer this question?” adjustments • communicate activities and results ClearSpecs Education ClearSpecs Education 43 22 44 Especially in IT Context of Risk Mgmt Risk management is the least practiced of all project management disciplines across all industry sectors, and nowhere less applied than the IT industry. Risky Culture or Risky Project Mgmt Culture or Mgmt may be: • risk denying • neutral • safety-oriented Robert Charette quoting a PMI study Risk Mgmt may be: not/poorly/well planned and not/poorly performed or not/poorly/well planned and well performed ClearSpecs Education Some cultures reward firefighting, even when the fighters caused the fires ClearSpecs Education 45 23 46 Project Risk Factors Balanced Risk Mgmt People Sponsors Management Support Skills Head count Under--performance Under Politics Conflict Some risks – can’t be reduced – aren‘t worth reducing – are worth reducing System Requirements Development Interaction with environment Innovation No reqts. risk mgmt is not balanced Project Schedule Budget Change Staff Goals Implementation ClearSpecs Education ClearSpecs Education 47 24 48 Who’s Responsible? Reqts Risk Mgmt RRM leadership candidates: – Product Mgr – Development Director – Project Mgr or Lead – Reqts Mgr or Analyst – Quality Assurance Staff – Process Improvement Lead – Verification and Test Lead Reqts Risk Mgmt ((RRM RRM)) entails minimizing harm to and from reqts,, by accurately reqts forecasting danger, assessing its degree, and taking steps to eliminate or reduce it. it. ClearSpecs Education ClearSpecs Education 49 25 50 Categories of Safety Tactics Controlling Reqts Risk 1. Reqts can be a Problem 2. Identifying Reqts Hazards 3. Reqts Risk Mgmt 4. Safety Tactics 1. Monitor reqts and project feasibility 2. Avoid reqts reqts--related mistakes 3. Minimize reqts reqts--based problems 4. Detect reqts defects 5. Monitor reqts and risk status 6. Mitigate impact of reqtsreqts-based problems 7. Staff for safer development 8. Plan for reqts risk mgmt 9. Prepare for reqts risk mgmt 10. Compensate for reqtsreqts-based problems Safety Strategies are Inelegant ClearSpecs Education ClearSpecs Education 51 26 52 1. Monitor Reqts and Project Feasibility Reconfirm reality and satisfiability of stated needs Triage and prioritize reqts Manage customer expectations Reconfirm project feasibility or reduce scope Identify and resolve conflicts early Commit incrementally Triage and Prioritize Triage (create 3 groups for) reqts to separate those needing attention from those that don’t either because they are OK or because nothing can be done e.g. infeasible. Prioritize selected reqts by – customer and user needs – feature clusters – architectural and functional dependencies – risks e.g. satisfiability – costs Monitor feasibility to assure you aren’t rearranging deck chairs. chairs. ClearSpecs Education ClearSpecs Education 53 27 54 Identify Conflicts Project Feasibility Between: sufficient development resources? (staff, schedule, budget) • stakeholders • requirements – nonnon-functional sufficient knowledge resources? (sources, time) • priorities – differ by stakeholder or too many highs rate of development greater than rate of reqts change? ClearSpecs Education • implementations – undesired interactions ClearSpecs Education 55 28 56 Look for Failure But, If You See It Signs of potential project failure lack of senior mgmt support under--involved customers under cross--functional stakeholders cross – conflict – fear – ignorance – incompetence Some messages are hard to deliver People’s capacity for denial is infinite The truth may set you free – from your job Early termination of a project headed for failure is a good thing “A strange game. The only winning move is not to play” Joshua ClearSpecs Education ClearSpecs Education 57 29 58 2. Avoid Reqts-related Mistakes Personal Safety and Respect part 1 Maintain a climate of personal safety and respect Acknowledge personality types Include stakeholders with a deep understanding of opportunities or solutions No fear of disrespect or reprisal Study solutions to similar problems Have developers maintain similar applications Immerse stakeholders i.e., customers in system dev and developers in customer activities Provide training in domain concepts and terminology ClearSpecs Education Enables: – truth telling – voicing concerns – “don’t knows” ClearSpecs Education 59 30 60 2. Avoid Reqts-related Mistakes Intentional Imprecision is OK part 2 Intentional Imprecision – For vague requirements, requirements, identify alternative solutions and their costs Prototype unfamiliar functions and interfaces Have experienced requirements engineers or technical writers author larger specs Promote collaborative research and cooperative learning Elicit metameta-requirements Customize a “just enough” reqts strategy ClearSpecs Education Reqts provider states high high--level needs with a marker and then expects supplier to: (1) lead the discovery of detailed choices with costs (2) request opinions on choices Example: Product manager writes – Example: Our next generation chromatograph must have a faster <IOK IOK> > cycle time than our fastest current model Intentional imprecision is appropriate when: (1) supplier knows as many or more details than provider (2) neither supplier nor provider know details Intentional imprecision should be marked marked.. ClearSpecs Education 61 31 62 “Just Enough” Strategy Elicit Meta-requirements Ask downstream stakeholders: project estimators product architects component designers product testers product documenters Exactly what types of information in what formats do they need to do their jobs? ClearSpecs Education Focuses primarily on the risk of “inadequate understanding of the higher priority reqts “ by reqts users Considers initial understanding by stakeholders and remaining info that should be discovered and communicated to enable reqts users to do their jobs Tries to maximize and enhance initial understanding of stakeholders Tries to effectively discover and communicate remaining info Results in a contextcontext-sensitive reqts process ClearSpecs Education 63 32 64 Risk Depends on Initial Understanding Areas to Understand Domain concepts and terminology Shallow PU Opportunity/Problem including Opportunity/Problem customer needs and user populations System constraints, technologies, and designs – alternatives – consequences (environmental impact) Communication and learning Reqts Development (RD) Medium PU Deep PU Deep RU Understanding varies by aspect as well as by stakeholder Medium RU Shallow RU Initial Provider Understanding (PU) of problem domain and specific needs, wants, and preferences Initial Receiver Understanding (RU) of solution domain and relevant solutions ClearSpecs Education ClearSpecs Education 65 33 66 Factors Influencing Choices RD Strategy Choices types of info (~50) forms of info (~15) discovery techniques (~20) 1. Impact of system failure (due to faulty reqts) reqts) 2. Depth of customer understanding (of needs) 3. Depth of system supplier understanding (of needs and solutions) 4. Depth of reqts. developer understanding of RD techniques and tactics checking techniques (~50) 5. Number and diversity of customer stakeholders risk mgmt tactics (~60) 6. Understanding, learning and communication styles of critical stakeholders 50 More than 10 RD strategies 7. RD schedule 8. Relative cost of tactic introduction and use - influenced by availability and knowledge of support tools 9. Organization, industry, and oversight standards and guidelines 10. Government regs and legal considerations ClearSpecs Education ClearSpecs Education 67 34 68 Dialog Mapping 3a. Minimize Comm Problems – part 1 Use dialogue mapping Isolate well known details Use rich definitions Replace “magic numbers” i.e., constants, with named constants or formulas Group facilitation process that creates a diagram capturing and connecting participant comments as a meeting unfolds. The diagram serves as "group memory The icons represent the basic elements of the Dialogue Mapping grammar: Questions, Ideas, Pros and Cons. Cons. ClearSpecs Education ClearSpecs Education 69 35 70 Plain Definitions are Imprecise Isolate Well Known Details If legal, oversight, or testing considerations require the recording of system details already known to reqts users, isolate these from the useful details to avoid obscuring the unknown. Hazard: a potential cause Hazard: of significant harm or loss Plain definitions define words using phrases and sentences. If recording can be delayed, wait until the system is built i.e., document asas-built Most plain definitions do not enable precise calculations or decisions. decisions. Consider: Accurately identify potential customers for our new blood analyzer ClearSpecs Education ClearSpecs Education 71 36 72 Need Rich Definitions Derived Values (modified nouns) Rich definitions precisely define words (nouns), phrases, and sentences (events) using 7 patterns Patterns Objects Examples Nouns, unmodified customer or order Nouns, modified VAR controller Derived value Nouns, modified employee bonus Derived condition Nouns, modified active customer Verbs, premodified rarely fail Nouns, modified satisfied customer Verbs, premodified accurately identify Verbs, postmodified display complaints Verbs, premodified tentatively identify Derived action Verbs, postmodified plan vacation Event profile Events accurately identify potential customers for our new system Entity profile Quality profile Action contract Define noun phrases using a cascade of algebraic formulas Weekly income = yearly income / 52 Days after sale = current date – sale date Total of orders for salesperson--id in year salesperson year--id = SUM OF values FROM orders WHERE (sales contact = salesperson salesperson--id) AND (year = year year--id) id) Rich definitions are contextual, precise, and focus on defining imprecise phrases ClearSpecs Education ClearSpecs Education 73 37 74 Derived Conditions (modified nouns) Value of Rich Definitions Derived conditions name collections of one or more logical expressions (joined by AND ANDs s and Or Ors) s) Rich definitions catalyze crucial conversations active customer = (bought many services) or (bought services A and B) or (bought a lot of service C) bought many services = (total invoiced service types) > 5 bought services A and B = (invoiced for service A) and (invoiced for service B) bought a lot of service C = (invoiced amount for service C) > $500,000.00 ClearSpecs Education When derived by consensus, their value is directly related to the difficulty of their creation i.e. easy = low value hard = high value ClearSpecs Education 75 38 76 Algebraic Formulas Avoid “Magic Numbers” Example: Example: TCAS shall provide collision avoidance protection for any two commercial aircraft (excluding the Concorde) closing horizontally at a rate up to max horizontal closing [= 2 (max air speed); speed); currently (max air speed) = 600 knots, but expected in 2010 to be 750 knots] and vertically at a rate up to max vertical closing [= (max (max control descent) + (max climb); climb); currently (max control descent) = 5000 fpm and (max climb) = 4000 fpm] TCAS shall provide collision avoidance protection for any two commercial aircraft closing horizontally at a rate up to 1200 knots and vertically at a rate up to 9000 fpm The term magic number refers to the poor programming practice of using numbers directly in source code without explanation. In most cases, this makes programs harder to understand and maintain. Wikipedia (max horiz closing) and (max vert closing) are defined in a rich glossary as derived values ClearSpecs Education ClearSpecs Education 77 39 78 3a. Minimize Comm Problems – part 2 Just Enough Precision Reqts are part of interactive communication between reqts providers and solution suppliers Identify user types and create user personas Clarify with examples and measures Structure information with spec patterns – avoid text blocks Many Details Up Front Just Enough Details Up Front Few Details Up Front Picture reqts info <waterfall> <smart> <agile> Capture context ClearSpecs Education ClearSpecs Education 79 40 80 Structure Info with Models Picture Reqts Info Context Diagrams – – – – – – – – – – – – • Inter Inter--actors • Boundary data flow • Interfaces Usage • User Stories • Use Cases • Usage Scenarios • Acceptance Tests entity entityentity-relationship data flow concept maps reqts graph usage context usage scenario collaboration sequence activity state Mockups – screens – data displays – reports Behavior • Decision Tables • Trigger-Response Tables • State Transition Tables ClearSpecs Education Simulations – process flow (scenario) – screen flow ClearSpecs Education 81 41 82 (Logical) Screen Mockup Usage Diagram request access id supply id verify id No No ok > 3 tries Yes Request data Phrase: Context: Request action Create a derived-value conditional Response message Create a derived-value conditional Response data Abort employee bonus in 2008 If Then Yes Suppy id provide functions Comments: request [withdrawal] verify request ok No Suppy Response actions display problem Save Clear Exit Yes Suppy id perform [withdrawal] ClearSpecs Education ClearSpecs Education 83 42 84 Derived Requirements Capture Context Result of interpretation of a source reqt based on: Discuss and document • facts and assumptions about: rationales derivations satisfaction arguments assumptions expectations goals intentions alternatives • • • the application domain the application environment interfacing systems and components • external constraints (standards, laws, policies) • source reqt decomposition • reqts conflict resolution • design choices Link to sources and satisfaction argument ClearSpecs Education ClearSpecs Education 85 43 86 Satisfaction Arguments Satisfaction Argument may cover multiple derived requirements grouped using propositional logic (i.e. ANDs & ORs). ORs). For Example – Provide status reporting Provide multiday, multihour, multihour, AND multiminute status reporting. Multiminute status reporting AND human factors automatic monitoring AND outoutof of--range notification. may incorporate facts, assumptions, external constraints, conflicts, or other requirements as well as static (e.g. timed swim lanes) or dynamic (e.g. performance simulations or prototypes) modeling should address both the soundness and completeness of the derivation apply to system design and test design as well as requirements Must interface with Comm System source reqt <satisfaction argument> current fact Currently, Comm System interface only uses TCP Must implement Transmission Control Protocol derived reqt ClearSpecs Education ClearSpecs Education 87 44 88 Quality Requirements 3b. Minimize Other Problems Identify minimal sets of marketable features Use elicitation workshops to find issues early Focus on quality and environmental requirements early Identify early aspects Develop verification strategies for negative reqts Identify impacts and mitigation strategies Analyze benefits, risks, priority, and cost of proposed reqts and changes ClearSpecs Education Usability – Ease of learning and operating, relevance of functions to needs, and sufficiency of performance such as response and throughput Reliability – Degree for failurefailure-free usage Verifiability – Ability to determine if a system satisfies its reqts Maintainability – Potential for lowlowcost repair, adaptation, and extension Portability – Potential for minimal cost transfer to other execution platforms ClearSpecs Education 89 45 90 Environmental Reqts Early Focus on Quality Reqts A recent analysis of 15 publicly available software requirements specifications showed an almost universal lack of any requirements describing product qualities. qualities. interfaces integration timing platforms internationalization Cleland--Huang Cleland CFP -- Quality Reqts Quality and environmental reqts drive architectural choices ClearSpecs Education ClearSpecs Education 91 46 92 Impacts & Mitigation 4. Detect Reqts Defects Identify potential impacts using impact (effects) analysis impacts on: * systems/products Employ a copy editor Incrementally review long specs Identify - vague - incorrect - missing, and - unnecessary info Verify satisfaction arguments for derived requirements * processes * customers * staff * finances * schedules Include estimates of likelihood Develop and document mitigation strategies for negative outcomes ClearSpecs Education ClearSpecs Education 93 47 94 Incremental Reviews 1 Incremental Reviews 2 What: • • How: Long documents (≥ ~ 30 pages of new content) are developed in segments • Provide two segments for author learning and then balance the number of reviews and remaining pages based on risk. • Create more segments based on content criticality, content density (e.g. equations and tables are denser), and author inexperience with technical writing. • Sample segmentations – Each segment is thoroughly reviewed Why: • Lots of intense reviewing is a daunting task • Later parts and hard parts are poorly reviewed [Gilb estimates “best practice” 30 pages: 15, 30 reviews miss 2/3 of the defects] defects] • Repeated defects frustrate reviewers and obscure new defects • Lots of defects leave no time for learning and frustrate authors, especially when avoidable ClearSpecs Education 50 pages: 15, 30, 50 or 20, 50 100 pages: 20, 40, 70, 100 or 20, 50, 100 ClearSpecs Education 95 48 96 Review Strategies Incremental Reviews 3 Reviewers Review strategies – • involved from the start – perceiving • advise on segment content – using • prefer highesthighest-risk first • answer questions during development • • – ~ 80% of defects missed by each individual (Schneider) – ~ 65% of major defects missed by a group (Gilb) detect and resolve disagreements among reviewers share expectations, in early segment reviews Authors • • Effectiveness of perceiving ask for guidance, rather than guess – test design finds faulty reqts – function point analysis uncovers reqts defects – modeling reqts reveals problems The proof of the pudding is in the eating The proof of the reqts is in the using share intentions, in early segment reviews ClearSpecs Education Effectiveness of using ClearSpecs Education 97 49 98 5. Monitor Reqts and Risk Status – part 1 Basic Monitoring Process Monitor reqts instability and growth along with their major causes and project impacts Monitor accuracy and feasibility of - assumptions benefits, costs, risks - expectations 1. Identify aspects to monitor 2. Develop expectations 3. Monitor reality 4. Identify and explain “major” differences 5. Adjust development process accordingly - priorities Monitor stakeholder participation ClearSpecs Education ClearSpecs Education 99 50 100 5. Monitor Reqts and Risk Status – part 2 Instability & Growth Between 2 points in time, t1 t1 & t2 t2: Require frequent demos of understanding Trace requirements derivations and links to resulting work products Estimate defect risk Instability % = (Dt2 + Ct2)/ Rt1 x 100 Growth % = (Rt2 – Rt1)/ Rt1 x 100 Rt1 is number of Reqts at t1 t1 Dt2 is number of reqts t2 Deleted from Rt1 at t2 Ct2 is number of reqts t2 Changed in, but not deleted from, Rt1 at t2 Rt2 is number of Reqts at t2 t2 If Rt2 = 14 14,, Rt1 = 8, Dt2 =3, & Ct2 = 1 Then instability of t1 t1 reqts at t2 t2 = 50 50% % and growth of t1 t1 reqts at t2 t2 = 75 75% % It’s the rate of change that matters ClearSpecs Education ClearSpecs Education 101 51 102 Estimate Defect Risk Demos of Understanding Estimate Density of Major Defects Design partial tests (pre and post conditions) early Design tests (not plans or procedures) in reverse order of execution i.e., acceptance first, then system, then integration, then build OR create use cases, usage scenarios, screen mockups, state charts, or decision tables EARLY Assemble 2 to 4 reviewers Select small set (5 to 8) of spec writing rules to check Select 1 to 3 typical pages from the spec Each reviewer checks sample for conformance to spec writing rules Identify and report major defects (potential to loss time or product quality) Estimate total majors per page using: Total Majors Present per page = 3 x (Total Unique Majors Found per page) Estimate Total Spec Majors by multiplying Total Majors Present per page by page count Take action based on estimates Tom Gilb Spec QC ClearSpecs Education ClearSpecs Education 103 52 104 6. Mitigate Impact of Reqts-based Problems 5. Monitor Reqts and Risk Status – part 3 Track reqts defects Decouple vision from build Analyze and classify reqts defects and root causes Subdivide project scope Build in multilane cycles Use technologies that match solution Request external, midmid-project audit of hazards for a fresh perspective Include requirements risk reassessments in your project status reviews Mitigation saves money (by definition) ClearSpecs Education ClearSpecs Education 105 53 106 Decouple Vision from Build Build in Multilane Cycles Envision (Evolve) Develop Reqts Model Domain Design Acceptance Tests Design Architecture <Insight can not be scheduled> scheduled> <Reqts is not a phase, but a continual process> process> Build Build Build Build (Cycle) Scope Build Design Build Tests Design Build Details Implement Build & Tests Test Build Integrate Build Build Build … … Build … Build production quality components foundation familiar parts unfamiliar parts Deliver (Increment) ClearSpecs Education … Envision ClearSpecs Education 107 54 108 Cross-Functional Teams 7. Staff for Safer Dev Build crosscross-functional team for both development and verification Supplement with outside knowledge, skill, and experience (domain, technology, reqts, reqts, test, tech writing) writing) A crosscross-functional team of stakeholders should be responsible for reqts dev from user reqts to system specs The Replace underperformers and disruptors ClearSpecs Education team should include: customer perspective user business analyst systems analyst development lead test lead technical writer ClearSpecs Education 109 55 110 Team Success Factors 8. Plan for RRM Proper stakeholders Effective leadership Brainstorm risks and tactics Involvement, communication, collaborative behavior Identify risk indicators and root causes Clear charter, goals, and deliverables (reqts., priority, stability, & risk) Customize, carry out, and monitor RRM strategy Consensus groundground-rules (forming, storming, norming, performing) Embrace stakeholder diversity, but acknowledge their differences ClearSpecs Education ClearSpecs Education 111 56 112 Likely Risks 1 Likely Risks 2 Stakeholders who may not Communication & Analysis participate know enough share information be comfortable with details be realistic negotiate what may interfere with understanding? Reqts or stakeholder change which changes are probable? which are hard to manage? Domain, scope, objectives, reqts, & scenarios what do we NOT know, understand, or remember (e.g. usage)? what can we NOT describe (tacit knowledge)? what do we know that isn't so? what do we over or under emphasize (biases)? ClearSpecs Education What are the indicators and root causes of the identified risks? ClearSpecs Education 113 57 114 Reduce Risk of Change Reduce Impact of Change Internal causes External causes incorrect assumptions inappropriate biases incorrect guessing <Rigid change control (and BRUF) encourages guessing> gold plating human error (mistakes) and poor judgment miscommunication learning (deeper understanding) about needs, system and environment during (and after) the project stating solution rather than problem undetected or unresolved disagreements ClearSpecs Education new needs new users new interfaces new platforms new technology new enterprise organization regulatory or legal change competitive change (new features & products) paradigm shifts ClearSpecs Education 115 58 116 9. Prepare for RRM Predictable or Preventable Change …in all the cases I’ve studied, the amount of change that was not predictable or preventable was less than 20% of all changes Systematize change mgmt and reqts defect and failure tracking Acquire tools supporting safer requirements Develop reqts defect and root cause profiles (occurrence and impact) Conduct reqts retrospectives Richard Zultner Anticipate change sources types impacts (conflicts) likelihoods Prepare by knowing your past and present problems ClearSpecs Education ClearSpecs Education 117 59 118 Tools Can Support Develop Problem Profiles Monitor feasibility • prioritizing reqts (reqts mgmt) • identifying conflicting nonnon-functional reqts Avoid mistakes reqts defects root causes • prototyping functions and interfaces Minimize comm problems • • • • • using rich definitions using dialog maps using spec patterns picturing reqts info capture context (reqts mgmt) Monitor reqts • monitoring instability and growth (reqts mgmt) • identifying defective reqts • trace reqts (reqts mgmt) • tracking reqts defects • classifying defects and root causes Analyze defect reports and change requests 2. Analyze root causes Each project has unique profiles as a function of -stakeholder understanding and behavior reqts practices project constraints Prepare • develop reqts defect and root cause profiles • systematize change mgmt ClearSpecs Education 1. ClearSpecs Education 119 60 120 Occurrence Profile Dimensions of Causal Analysis Requirements defects found in the International Space Station spec had the following distribution: Cause Type Missing Occurrence % What might cause – Effect 33 % What might result from – Incorrect 24 % Incomplete 21 % Over--specified Over 6% Ambiguous 6% Inconsistent 5% ClearSpecs Education Likelihood What are the chances of – 121 61 Causal Chains Analyze Causal Chains Proximate Cause / Effect A direct or immediate cause / effect (relative to granularity of analysis) e.g., Having the gasoline vapor near the open flame caused (proximate) the explosion. Jim caused (not proximate) the explosion by putting the leaking gas can near the heater. Causes of a sequence Effects of a sequence Events or Conditions Events or Conditions Causal Chain A sequence of “linked” causecause-effect pairs in which each effect is the subsequent cause Events or Conditions Defect Events or Conditions Events or Conditions Events or Conditions C E (C) E(C) Events or Conditions Reqts E Likelihood of a sequence 62 Dimensions of Reqts Root Cause Analysis Reqts. Process Failures Stakeholder Root Causes What human ignorance, knowledge, mental process or behavior initiated? Every defect in a reqts spec results from at least two process failures: Process Root Causes Which reqts activities failed? Reqts Defects Failure in reqts. reqts. discovery and/or communication What defective info resulted? Project Problems What budget or schedule impacts resulted? Failure in reqts. reqts. verification Product Defects What component defects resulted? Product Failure What usage failures resulted? Likelihood What are the chances of? ClearSpecs Education 125 63 10. Compensate for Reqts-based Problems Problems To Analyze Root causes of: expensive reqtsreqts-based failures unused features expensive, late, or infeasible reqts changes critical reqts defects systemic reqts defects ClearSpecs Education Estimate & track reqts reqts--based rework Adjust for surprises, both good and bad e.g. replace dysfunctional stakeholder, reduce scope ClearSpecs Education 127 64 128 Conclusion Selecting Your RRM Tactics Identify tactics already a part of your requirements development, system development, or project management process. Identify tactics that do not apply to your application domain or are incompatible with your culture. Identify tactics for permanent integration into your requirements development, system development, or project management process. Add optional tactics you have used effectively for controlling requirements risk. Consider a few of the remaining tactics for inclusion in your requirements risk management strategy at the beginning of and during each project after specific hazards have been recognized. Goal: Reduce reqts reqts--related risk 1. Rapidly and continuously identify hazards a. Accurately anticipate hazards b. Recognize indicators and hazards during the project 2. Assess risk a. likelihood of adverse events b. degree of harm 3. Select a few useful risk control tactics 4. Implement control tactics 5. Continuously monitor risk 6. Communicate findings, assumptions, and strategy adjustments ClearSpecs Education ClearSpecs Education 129 65 130 It Won’t Be Easy And, then there’s change Intro of Seat Belts 1910 1960 2007 Commercial Production of Automobiles Seatbelts Click It or Ticket It’s not so much that we’re afraid of change or so in love with the old ways, but it’s that place in between that we fear. fear. ..... It’s like being between trapezes. It’s Linus when his blanket is in the dryer. There’s nothing to hold on to. Optional safety measures can be a hard sell Marilyn Ferguson ClearSpecs Education ClearSpecs Education 131 66 132 Reckless Endangerment of Project Success Manage Risk to be lucky ClearSpecs Education 133 67
© Copyright 2026 Paperzz