580 likes | 598 Views
Learn the essentials of requirements management to improve product success and project completion. Understand what aspects you can't afford to overlook and what you can't afford to do. Simple ways to manage requirements successfully.
E N D
Just EnoughRequirements ManagementPresented at:Requirements Engineering ‘06Minneapolis, MN13 September 2006 by Alan M. Davisadavis@uccs.eduhttp://web.uccs.edu/adavis College of BusinessUniversity of Colorado at Colorado Springs
Tutorial Goals • Improve Likelihood that Products Will Meet Customer Expectations • Improve Likelihood that Project Will Complete On Schedule and Within Budget Even with a Compressed Life Cycle • Understand What Aspects of Requirements Management You Cannot Afford to Do • Understand What Aspects of Requirements Management You Cannot Afford to Not Do • Desired Reaction from You: “Everything Here is Just Plain Common Sense” Just Enough Requirements Management
Outline • Introduction to Requirements Management • 1. Elicitation • 2. Triage • 3. Specification • 4. Requirements Change • Summary Within each:- definition- effects of over- and under-doing it- list of “just enough” “tricks”- expand a few- show result of activity Just Enough Requirements Management
Outline • Introduction to Requirements Management • 1. Elicitation • 2. Triage • 3. Specification • 4. Requirements Change • Summary Just Enough Requirements Management
Definitions • Requirement: An Externally-Observable Characteristic of a Desired System • Requirements Management: • Learning (elicitation), • Pruning (triage), and • Documentation (specification) of Requirements Just Enough Requirements Management
Facts (1 of 4) • Needs Are in Constant Flux • The More the Customer Sees, the More They Will Want • Therefore . . . We Must Find Ways to Be More Responsive/Agile Just Enough Requirements Management
Facts (2 of 4) • We Want Our Products to Be Successful • The Match Between • What the Product Does, and • the Customers’ Perception of What They Need Will Determine the Degree of Product Success • Therefore . . . We Must Address the Customers’ Needs (Not Our Perception of What They Need) Just Enough Requirements Management
Facts (3 of 4) • Customers Do Not Like Surprises • Customers Are More Committed When They Are Involved • Therefore . . . Customer Involvement and No Surprises Just Enough Requirements Management
Facts (4 of 4) • Many of Today’s “Modern” Requirements Management Techniques Are • Ponderous • Overburdened with Procedure • Therefore . . . We Need to Learn Simple Ways of Doing Requirements Management Successfully Just Enough Requirements Management
Summary of Fact Implications • We Must Find Ways to Be More Responsive/Agile • We Must Address the Customers’Needs (Not Our Perception of What They Need) • Customer Involvement and No Surprises • We Need to Learn Simple Ways of Doing Requirements Management Successfully Just Enough Requirements Management
So, Why “Just Enough”?(1 of 3) • CMM(I) proponents tend toward • Heavy process • More emphasis on measuring progress than making progress • Lots of control • “Heavy” documentation & strict standards adherence • Rigorous reviews (peer and customer) • Bad: Very slow development • Good: Low risk of building wrong system Just Enough Requirements Management
So, Why “Just Enough”?(2 of 3) • Agile proponents tend toward • Light process • No emphasis on measuring progress • No control • “No” documentation (recent introduction of stories) • No reviews (peer or customer) • Good: Very fast development • Bad: Works only w/one client, few changes Just Enough Requirements Management
So, Why “Just Enough”? (3 of 3) Where Are You?Where Should You Be? 0No ProcessNo StandardsNo DocumentationNo ReviewsNo RequirementsHigh Risk of Building Wrong SystemPotential Quick Development 10 Heavy ProcessStrict StandardsHeavy DocumentationRigorous ReviewsMethodicalLow Risk of Building Wrong System Potential Slow Development Just Enough Requirements Management
What Is “Just Enough” Requirements Management? • What is “just enough” life insurance? • Enough so you sleep well at night knowing that others will be “taken care of” if you die • Not so much that you stay awake at night worrying about the money you are paying for insurance • What is “just enough” RM? • Enough so you can keep your customers happy • Not so much that your project becomes late or over-budget x Just Enough Requirements Management
Why Three Kinds of Req’ts Management Activities? • Understand Needs (Elicitation) • The customers’ needs are the candidate requirements • Must be understood up front or disaster • Select Appropriate Subset (Triage) • Must balance requirements, schedules and expectations • Record Desired External Behavior (Specification) • To ensure that all developers have same goal • To ensure that developers and customers have same expectations (No surprises!) Just Enough Requirements Management
Cust Rep or Marketing DevelopmentFinance Cust Rep or Marketing:Prioritization Cust Rep or Marketing Cust Rep or Marketing BugReports UnsatisfiedFrom PreviousRelease Development:Estimation Development Baseline List ofCandidateRequirements List ofAnnotatedCandidateRequirements Product Development A “Just Enough” Requirements Process C u s t o m e r s & C o m p e t I t I o n T e c h n o l o g y Just Enough Requirements Management
How Much Time for Requirements? ref - Forsberg 1996 Just Enough Requirements Management
Outline • Introduction to Requirements Management • 1. Elicitation • Definitions • Role in Overall Requirements Process • Effects of “Too Much” or “Too Little” • Tips for “Just Enough” Elicitation • The Result of Elicitation • 2. Triage • 3. Specification • 4. Requirements Change • Summary Just Enough Requirements Management
Elicitation • The Art of Listening to Stakeholders • The Art of Sending Appropriate Stimuli to Stakeholders So That the Responses are Worth Listening To • The Art of Establishing an Environment in Which Stakeholders Are Willing and Able to Describe Their Problems and Needs Just Enough Requirements Management
Cust Rep or Marketing DevelopmentFinance Cust Rep or Marketing:Prioritization Cust Rep or Marketing Cust Rep or Marketing BugReports UnsatisfiedFrom PreviousRelease Development:Estimation Development Baseline List ofCandidateRequirements List ofAnnotatedCandidateRequirements Product Development Elicitation in theRequirements Process C u s t o m e r s & C o m p e t I t I o n T e c h n o l o g y Just Enough Requirements Management
Effects of “Too Much” or “Too Little” Elicitation • Too much • You would spend so much time understanding the problem that no time would be left to solve it • Too little • You would build system before understanding problem, and would likely build the wrong system x Just Enough Requirements Management
(Expanded on Next Few Slides) Tips for “JustEnough” Elicitation • Don’t lose sight of the goal • Care • Don’t ignore elicitation • Maintain glossary of terms • Recognize that 1 stakeholder cannot speak for all • Select appropriate notations • Prepare for change • Who’s smart? • Use appropriate elicitation techniques • Prepare for triage • Use sensible starting point(s) x Just Enough Requirements Management
Who’s Smart? • Don’t Try to Convince Stakeholders the You Are Smart – Wrong Place to Do That! • Instead Take Every Opportunity to Show You Think the Stakeholder is Smart • Contrast These Two Cases My Elevators AreToo Slow! I See.Tell Me WhyYou Feel TheyAre Too Slow. I Don’t Think So.I Think You Have anElevator ThroughputProblem, not a Speed Problem Just Enough Requirements Management
Use Appropriate Elicitation Techniques • One elicitation technique is not “good enough” • Function of people involved • Function of requirements not yet understood • Function of application domain • Interviews • Same Place, Same Time; Few People, Analyst-Driven • Questionnaires • Different Time, Different Place, Many People • Group Sessions • Same or Different Place, Same Time, <20 People, Analyst-Facilitated • Observation • Same Time, Same Place, Analyst-Observer Just Enough Requirements Management
Prepare for Triage • This is an “attitude” • Elicitation’s purpose is to gather all candidate requirements • Make sure everybody knows that triage will follow to select therequirements Just Enough Requirements Management
Use Sensible Starting Point(s) • Gause/Weinberg • Using Any of the Aforementioned Techniques, Aim for • Goals • Needs • Users • Scenarios (Use Cases) • Outcomes • Reports • Compatible with Any Technique • Events • Screens • Features • Non-Functional Requirements • Requirements Just Enough Requirements Management
Appended to the OldRequirements The Result of Elicitation Here are the NewCandidateRequirements Just Enough Requirements Management
Outline • 1. Elicitation • 2. Triage • Definitions • Role in Overall Requirements Process • Effects of “Too Much” or “Too Little” • Tips for “Just Enough” Triage • The Result of Triage • 3. Specification • 4. Requirements Change • Summary Just Enough Requirements Management
Requirements Schedule Cost Triage • The art of selecting the “right” features to include in your next release • Engineering View: Balancing Requirements with Development Cost, Risk, and Schedule • Business View: Balancing Requirements with Development Cost, Risk, and Schedule, and Market, Sales, Revenues, Pricing, Profit, and ROI Just Enough Requirements Management
Cust Rep or Marketing DevelopmentFinance Cust Rep or Marketing:Prioritization Cust Rep or Marketing Cust Rep or Marketing BugReports UnsatisfiedFrom PreviousRelease Development:Estimation Development Baseline List ofCandidateRequirements List ofAnnotatedCandidateRequirements Product Development Triage in theRequirements Process C u s t o m e r s & C o m p e t I t I o n T e c h n o l o g y Just Enough Requirements Management
Effects of “Too Much” or “Too Little” Triage • Too much • You would spend so much time prioritizing, establishing interrelationships, and selecting/debating that no time would be left to build the system • Too little • You would build the wrong system • You would try to build more than you can build x Just Enough Requirements Management
(Expanded on Next Few Slides) “Just Enough” Triage • Maintain requirements in lists • Annotate requirements • by at least relative priority and cost-to-satisfy • Establish practices that pit the team “against” the problem, rather than between team members • Let schedule drive requirements inclusion • Involve representatives from all key groups • Use probabilities of success, not absolutes • Often solution lies in out of box thinking x Just Enough Requirements Management
“It Will Take Us 9 Months” “Okay, Here Are Our Requirements By When Can You Build Them?” “Sorry, They Must Be Completed in 6 Months” Let Schedule Drive Req’ts(Not the Reverse) (1 of 2) • Typical Scenario NOW WHAT? Just Enough Requirements Management
“Let’s see. If we build reqts 1 through 9 and 12, we’ll be able to do them in 3 months” “Okay, we’re going to build in a series of 3 month increments. Here are all the requirements.” “But we really need reqt 17 in that first release.” “Okay. How about if we add reqt 17 and drop reqt 12?” Let Schedule Drive Req’ts(Not the Reverse) (2 of 2) • Better Scenario Just Enough Requirements Management
“Well if we drop requirements 3 and 4, we could do it.” “Hmmm. I really liked reqt 12. Can we drop reqt 3 instead?.” “Okay. How about if we add reqt 17 and drop reqt 12?” “Okay” Let Schedule Drive Req’ts(Not the Reverse) (2 of 2) • Better Scenario NOW THIS IS TEAMWORK Just Enough Requirements Management
Involve Representatives from All Key Groups • Customer (or a representative like marketing) • Development • Source of financial support (could be customer) • This is a Dynamic Three-Sided Negotiation Just Enough Requirements Management
“Solution” Often LiesOut-of-the-Box • Tell story from my experience at disk-farm company • New partial releases • Innovative marketing • Innovative pricing • Market re-segmentation Just Enough Requirements Management
The Result of Triage • Annotated list of requirements • Requirements selected for inclusion are flagged • Flagged requirements balanced with schedule and budget • All parties in agreement Just Enough Requirements Management
Outline • Introduction to Requirements Management • 1. Elicitation • 2. Triage • 3. Specification • Definitions • Role in Overall Requirements Process • Effects of “Too Much” or “Too Little” • Tips for “Just Enough” Specification • The Result of Specification • 4. Requirements Change • Summary Just Enough Requirements Management
Requirements Specification • The process of documenting the external characteristics of a desired system Just Enough Requirements Management
Cust Rep or Marketing DevelopmentFinance Cust Rep or Marketing:Prioritization Cust Rep or Marketing Cust Rep or Marketing BugReports UnsatisfiedFrom PreviousRelease Development:Estimation Development Baseline List ofCandidateRequirements List ofAnnotatedCandidateRequirements Product Development Specification in theRequirements Process C u s t o m e r s & C o m p e t I t I o n T e c h n o l o g y Just Enough Requirements Management
Effects of “Too Much” or “Too Little” Reqts Specification • Too much • You spend so much time documenting requirements that no time is left to build the system • Too little • You build the wrong system • Customers are surprised/disappointed by the system Just Enough Requirements Management
(Expanded on Next Few Slides) Secrets of “JustEnough” Specification • Avoid notations foreign to your customers • Include a glossary • Keep a list of “bonus” requirements • Don’t lose sight of goal • Customers have the right to change their minds! • Don’t go overboard checking for quality attributes • Maintain at “reasonable” level of detail • Keep requirements in a list • Sign a baselining contract • To increase understanding, refine when necessary (and then maintain requirements in a hierarchical list) x Just Enough Requirements Management
Keep Requirements in a List(1 of 2) • Alternatives • Polished Standards-Based Document • Will at Least Double Your Requirements Effort with Little Appreciable Gain • A Collection of Diagrams • This is the Geek View of World: “If You Are Not a Geek, We’ll Train You to Be One” • “Real World” Pictures • Not Bad! But Potential for More Ambiguity • No Requirements Documentation • High Risk of Building Wrong System • Formal Specification • Except Under Special Circumstances, Will Alienate Customer Just Enough Requirements Management
Keep Requirements in a List(2 of 2) • Much Better • A List of Annotated Requirements (in Natural Language) Organized Hierarchically • Augment as Needed with More Formal Models (and Cross-References) Just Enough Requirements Management
Sign a Baselining Contract • All: We agree that the following list of requirements is the best set of requirements for which we can now agree to, and represents the best balance between requirements, schedule, and budget. • Marketing (or Customer Rep): I agree to not change the requirements prior to product delivery. • Development: I agree to deliver this set of requirements with sufficient quality on this date: _________________. • Finance: I agree to not reduce the total funding of this project below _________________ . • All: We agree to work together to arrive at a new optimal solution in the event that any of us are forced to violate the above contracts. Just Enough Requirements Management
When to Refine a Requirement • When a requirement is too general • When 2 stakeholders have differences of opinion concerning priority • Could be caused by ambiguity • Or could be legitimate difference in needs • When 2 developers have differences of opinion concerning effort • Could be caused by ambiguity • Could be caused by different assumptions Just Enough Requirements Management
The Result of Specification • Expanded List of Selected Annotated Requirements • Probably Augmented Selectively with Models • Probably Suppress Display of Rejected/Postponed Requirements Just Enough Requirements Management
Outline • Introduction to Requirements Management • 1. Elicitation • 2. Triage • 3. Specification • 4. Requirements Change • Background • Tips for “Just Enough” Requirements Change • Summary Just Enough Requirements Management
How Often Will Requirements Change? • On Average, 58% of Original Features Change* • The More the Customers See, the More They Will Want • Don’t Try to Suppress Requirements Change • Instead, Manage It and Understand It x *The Standish Group, “Chaos” 1995, www.standishgroup.com Just Enough Requirements Management