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

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Project Analysis Course ( ) Final Project Report Overview.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Use Case modelling 3 How to go from a diagram to a further definition.
Chapter 7 UNDERSTANDING AND DESIGNING FORMS. Input Forms: Content and Organization Need for forms Event analysis and forms Relationship between input.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
Requirements
© Copyright Eliyahu Brutman Programming Techniques Course.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
Chapter 13: Designing the User Interface
USE Case Model.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Data flow diagrams.
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
Database Applications – Microsoft Access Lesson 2 Modifying a Table and Creating a Form 45 slides in presentation Accessibility check 9/14.
The Project Process Inception - initial planning Elaboration - refining the design Construction - building the system Transition - installation support.
INFORMATION SYSTEM OF RESTAURANT OSIS – TERM PROJECT.
1 © 2005 course technology University Of Palestine Chapter 6 Storyboarding the User’s Experience.
MSF Requirements Envisioning Phase Planning Phase.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
Business Analysis and Essential Competencies
Team ELL System Requirements Ladakeysha Thomas Elizabeth Waldo LaWanda Warren Brandon Williams.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
© 2005 course technology1 1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard.
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Structured Analysis.
CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
Using the Right Method to Collect Information IW233 Amanda Murphy.
CORE 1: PROJECT MANAGEMENT Designing. This stage is where the actual solution is designed and built. This includes describing information processes and.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
Microsoft Access. Microsoft access is a database programs that allows you to store retrieve, analyze and print information. Companies use databases for.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Technology in Action Chapter 11 Behind the Scenes: Databases and Information Systems Copyright © 2010 Pearson Education, Inc. Publishing as Prentice.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
By: Melissa VanDyke Current and Future State Process Flow ​ Visualization and Template SALESFORCE ADMINISTRATOR FORCE.COM.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
AR350: Maintaining Customers Welcome to AR350: Maintaining Customers.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Requirement Engineering
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
User Interface Design Storyboarding Wireframe Diagram AP Inventor.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
Software Engineering Lecture 10: System Engineering.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Defining and Managing Project Scope. MOV Scope Phases Time Estimates Resources Tasks Schedule Budget Sequence Project Planning Framework.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Creating a Work Breakdown Structure with Microsoft Project.
Business Processes A business process describes a set of activities that are necessary to complete a response to a stimulus applied to an organization.
Project Planning: Scope and the Work Breakdown Structure
Software Specification Tools
Unified Modeling Language
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
IMPORTANT NOTICE TO STUDENTS:
Relational Database Model
Software Design Lecture : 15.
Requirements Very High level specification of what system should do
Use cases Dr. X.
Information system analysis and design
Presentation transcript:

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

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

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

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

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

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

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

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

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.

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

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:

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

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

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

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

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.

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

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

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

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

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

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

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

Seilevel Confidential Cross-functional process flows

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

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

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

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

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

Seilevel Confidential Data flow diagrams Capture connections between processes

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

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

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

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

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

Seilevel Confidential Q&A Any questions? Continue the discussion: – –