Presentation is loading. Please wait.

Presentation is loading. Please wait.

Beyond “The System Shall...” A Journey from Good to Great Requirements.

Similar presentations


Presentation on theme: "Beyond “The System Shall...” A Journey from Good to Great Requirements."— Presentation transcript:

1 Beyond “The System Shall...” A Journey from Good to Great Requirements

2 Seilevel Confidential CHAOS and more chaos Standish Group – CHAOS Report, 2004 Succeed Underperform/ Fail Outright 29% 71% 9,236 IT projects

3 Seilevel Confidential What happened? Lack of user input Incomplete requirements Changing requirements Unclear objectives Standish Group – CHAOS Report, 2004

4 Seilevel Confidential Requirements Foundation Process Tools Model Based Methodology Structured Hiring Process

5 Seilevel Confidential Structured Hiring Process The Right Person Formal Assessments Practical Complex Problem Solving Resumes

6 Seilevel Confidential Model based methodology Identify Project Type Capture Business Objectives Complete Models Derive Requirements Map to Objectives Transition to Development Test Validate ROI

7 Seilevel Confidential Requirements Process Tools Complete Requirements Collection Requirements Management Team Collaboration Issue Tracking Document Management

8 Seilevel Confidential Shall It takes more than one model “When the only tool you own is a hammer, every problem resembles a nail.” Anonymous

9 Seilevel Confidential Purpose of requirements models The Unknown As we know, there are known knowns. There are things we know we know. We also know there are known unknowns. That is to say we know there are some things we do not know. But there are also unknown unknowns, The ones we don't know We don't know.

10 Seilevel Confidential E Value of requirements models A A B B C C F F I I H H G G D D A A B B C C D D F F G G H H I I

11 Seilevel Confidential Benefits of requirements models Provide confidence that no requirements were missed Lead to asking the right questions Speed up the process Requirements models:

12 Seilevel Confidential Categories of models People models show who uses the system and how System models detail the interaction between systems Data models focus on the information in the system and how it is modified

13 Seilevel Confidential List of models People –Org charts –Use cases –Decision trees Systems –Context diagrams –Click-action-response tables –Cross functional process flows Data –Entity relationship diagrams –Data dictionaries –Data flow diagrams –State tables

14 Seilevel Confidential Org charts Capture all stakeholders and user groups COO IT Dev Manager Dev Manager QA Manager QA Manager Sales Sales Rep Admin CSR Manager Customer Service Customer Service

15 Seilevel Confidential Org charts Benefits Ensure no users are missed Help identify the use cases of each type of user Challenges Some organizations don’t fit this structure easily Actors won’t fit the org chart cleanly

16 Seilevel Confidential Use cases Capture system-user interactions SystemShopper Normal Course 1. Shopper selects cart. 2. System displays Shopper’s cart. 3. Shopper updates quantity. 4. Shopper chooses to order items. 5. System prompts Shopper for payment. 6. Shopper selects payment method. 7. System displays order confirmation.

17 Seilevel Confidential Use cases Benefits Quick to document Help discover alternate scenarios Ensure that user tasks are considered Easy for users to understand Directly maps to system tests Challenges Not useful when most activity is not visible to the user Doesn’t work well for non-human actors Difficult to visualize complex branching and decisions

18 Seilevel Confidential Decision trees Capture complex decision pathways User logs in to account User logs in to account User has ? User has ? User knows customer number? User knows customer number? Prompt user to call support Prompt user to call support Create account Create account Prompt user to call support Prompt user to call support User has account? User has account? Yes No

19 Seilevel Confidential Decision trees Benefits Useful when analyzing layered “if” statements Easily find missing branches Challenges Not very flexible once they are created May become very complex Imply an order to the decisions

20 Seilevel Confidential Context diagrams Capture relationships between systems Shipping System Shipping System Inventory System Inventory System Web Storefront System Order Processing System Order Processing System Customer

21 Seilevel Confidential Context diagrams Benefits Ensure that no systems are missed Provide a framework for process flows Easy to get a sense of the entire system Challenges Do not show time dependence Hard to show all interactions

22 Seilevel Confidential Click-action-response tables Capture complex UI behavior UI Element: Log In/Out Button UI Element Description ID: ELEM_003 Description: This button allows the user to log in or out. Size: 150x100 pixels Related Use Cases: UC003, UC005 ID: ELEM_003 Description: This button allows the user to log in or out. Size: 150x100 pixels Related Use Cases: UC003, UC005 UI Element Displays Precondition User is not logged in User is logged in Precondition User is not logged in User is logged in Display Text displays “Log In” Text displays “Log Out” Display Text displays “Log In” Text displays “Log Out” UI Element Behaviors Precondition User is not logged in User is logged in Precondition User is not logged in User is logged in Action User clicks button Action User clicks button Response System logs User in System logs User out Response System logs User in System logs User out

23 Seilevel Confidential Click-action-response tables Benefits Ensure that every interaction/element is considered Map to how developers create applications Easy for users to understand Challenges May be very time consuming to document Only shows one step

24 Seilevel Confidential Cross-functional process flows

25 Seilevel Confidential Cross-functional process flows Benefits Easily identify missing steps Easily understood by users Easy to see the big picture Challenges Time consuming to produce Get big very quickly Difficult to document detailed information

26 Seilevel Confidential Entity relationship diagrams Capture relationships between objects Customer Account Invoice Product n1n nnnn

27 Seilevel Confidential Entity relationship diagrams Benefits Ensure that all data objects are considered Allows quick identification of missing relationships between objects Used to produce data flow diagrams Challenges Difficult to keep focused on business objects, not database objects

28 Seilevel Confidential Data dictionaries Name Address Phone # Address City State Name Address Phone # Address City State Alpha Mixed Numeric Mixed Alpha Mixed Numeric Mixed Alpha Instructor Attribute Name Address Phone # Address City State Name Address Phone # Address City State Length Type Alpha Mixed Numeric Mixed Alpha Mixed Numeric Mixed Alpha Rules Name Address Phone # Address City State Name Address Phone # Address City State Alpha Mixed Numeric Mixed Alpha Mixed Numeric Mixed Alpha Seminar Attribute Name Address Phone # Address City State Name Address Phone # Address City State Length Type Alpha Mixed Numeric Mixed Alpha Mixed Numeric Mixed Alpha Rules Name Address Phone # Address City State Name Address Phone # Address City State Alpha Mixed Numeric Mixed Alpha Mixed Numeric Mixed Alpha Student Attribute Name Address Phone # Address City State Name Address Phone # Address City State Length Type Alpha Mixed Numeric Mixed Alpha Mixed Numeric Mixed Alpha Rules At least 2 words Must Reject all “555” Format - ### alpha none Must be a valid state At least 2 words Must Reject all “555” Format - ### alpha none Must be a valid state

29 Seilevel Confidential Data dictionaries Benefits Ensure that all fields are considered Ensure that business rules for each data field are considered Challenges Tempting to think about design rather than business rules Time consuming

30 Seilevel Confidential Data flow diagrams Capture connections between processes

31 Seilevel Confidential Data flow diagrams Benefits Provide an overview of complex business process Show how data flows between processes Challenges Can be too complex to parse quickly Difficult for end users to understand

32 Seilevel Confidential Blank State tables Capture states and transitions 1 1 Blank Submitted Processing Approved Rejected Final State Initial State Submitted Processing Approved Rejected N/A

33 Seilevel Confidential State tables Benefits Ensure that all transitions are identified Examine transitions to get requirements Challenges Only useful when states are clear Business stakeholders often don’t think this way

34 Seilevel Confidential There are more... More models Timelines Requirements hierarchies Flow charts State diagram UML Use Case Diagram More types of requirements Non-functional Configuration System interface And many, many, more...

35 Seilevel Confidential Good versus great requirements A good set of requirements: –Correctly defines what you already know –Is testable, traceable, and concise A great set of requirements: –Produce a clear mental picture of the system before it is built –Are complete –Convey more than the sum of their parts

36 Seilevel Confidential Q&A Any questions? Continue the discussion: –http://requirements.seilevel.com/messageboard/ –http://requirements.seilevel.com/blog/


Download ppt "Beyond “The System Shall...” A Journey from Good to Great Requirements."

Similar presentations


Ads by Google