1 Writing Better Requirements The Key to a Successful Project Kimberly Roberts Senior Application Engineer kimberly_roberts
2 Objectives Learn how good requirements definition can benefit your organization. Learn what the differences are between User Requirements, System Requirements and Architectural Design Requirements Explore the anatomy of a requirement and characteristics of a good requirement
3 Why projects fail Incomplete requirements % Lack of user involvement % Lack of resources % Unrealistic expectations - 9.9% Lack of executive support - 9.3% Changing reqs/specs - 8.7% Lack of planning - 8.1% Didn t need it any longer - 7.5% Sources: Standish Group Scientific American
4 Why projects succeed User involvement % Management support % Clear statement of reqs % Proper planning - 9.6% Realistic expectations - 8.2% Smaller milestones - 7.7% Competent staff - 7.2% Ownership - 5.3% Sources: Standish Group Scientific American
5 And the question is... How do we make a project successful?
6 Write Better Requirements. It s a HIGH LEVERAGE activity!! Requirements allow you to IMPROVE Quality with LESS effort.
7 Requirements are how we communicate Developers Management Customer Designers Users Manufacturers
8 What are Requirements? (They are the To-Do List of the Project Team) List of WHAT the Users need List of WHAT the System must do to Satisfy their needs List of WHAT components must be built List of WHAT each component must DO, and HOW they will INTERACT Requirements define the quality of the system
9 When are Good Requirements Essential? If you are building anything intended for someone else s use If you are building systems that do more than one thing If you are building anything that will be used more than once If you are building something that interacts with other systems If you are building a system that requires a specified level of performance If you are building anything that involves payment or other consideration (in other words, a contract) Good requirements can make a difference
10 Requirements Ensure You Build the Right Project the Right Way User requirements Validation Acceptance tests DEFINITION DEFINITION System requirements Architectural design Verification Verification System tests Integration tests INTEGRATION INTEGRATION VALIDATION VALIDATION Component development Component tests
11 Basic Types of Requirements TYPES OF REQUIREMENTS TYPES OF DOCUMENTS Functional Requirements User or Business Needs Requirements Non-Functional Requirements System or Functional Requirements Constraints Architectural Design Design Guidelines Element Requirements (Software & Hardware) Interface Definition Requirements
12 Document Definitions User/Business Needs Requirements What the System should do from the Users Perspective System/Functional Requirements What the System will do from the builders Perspective Component Requirements Design level list of all things that each component must do. Any Programmer/Engineer can build one from this document Interface Requirements Description of the Protocol and Physical Interface between Components of the System
13 Key Number 1 : Know where we are going. USER/BUSINESS NEEDS REQUIREMENTS Capture user requirements to understand what user problems your product will solve.
14 If we don t know where we re going. we never get there. we think we re there but in reality we are not. we finally get there but it takes a long time to arrive. We have the time to do it over and over again but we never have the time to do it right the first time!
15 How do we know where we re going? Maintainers End users Testers Customer Marketing Corporate executives The different types of users tell us!
16 Good user requirements are essential! Without good user requirements there is no clear direction for building a product. Product team members can head in different directions!
17 User Needs Generated by: Business Analysis Generated From: User Requests Business Rules Corp Business Rules End User Rqmts RFP Contract View By: Priority Importance Acceptable You Choose
18 Where do User Needs Come From?
19 Anatomy of a User Requirement The order entry clerk shall be able to complete ten customer orders in less than 2 hours This requirement identifies a real user type and an end result. It also defines the success criteria in measurable terms. The challenge is to seek out the user type, end result, and success measure in every requirement.
20 Key Number 2 : Know What We Are Doing SYSTEM/FUNCTIONAL REQUIREMENTS What do WE need to know to build this?
21 What Makes Up a System? Components of System Requirements: Key requirements in here Use attributes Descriptive Elements Functional or Behavioral Breakdown Performance Interfaces Non-Functional Requirements Traceability to User Requirements The core of the system requirements document Often a large part of a document required for content to make sense
22 System Requirements Document Defines a model of the system to be built - not the system Defines some mixture of functionality, behavior, performance, and systems constraints It s a model, not a complete system definition Organized by functionality or logical layout As implementation free as possible Every statement verifiable, with level and nature of test as attributes Defines professional constraints -- e.g. from different disciplines, working environment, induced environment, safety, etc. Owned by systems engineers, viewable to everyone including customers and designers
23 Different Attributes Between User and System Requirements User Responsibility User Requirements Priority Implement? High Yes Medium Medium Yes Medium High Yes Low Low No High Medium No High Developer Responsibility Cost System Requirements Users are responsible for prioritizing a user requirement Developers for costing the requirement In the end, the user representative should decide whether cost is worth the result
24 Key Number 3 : Know What to Build and Implement ARCHITECTURAL DESIGN REQUIREMENTS Decomposition to detailed design and subsystem components
25 What Makes up the Design? Components of Architectural Design: Key requirements often in here Make use of attributes Descriptive Elements Component Behavior/Control Component Functionality Component Interfaces Component Layout Dependencies & Resources Test Criteria Traceability to System Requirements The core of the system component design System or component level constraints
26 Architectural Design Document Defines WHAT is to be built, how it behaves, how it is laid out Defines key components, interfaces, control structures & external systems Detailed enough for optimization, partitioning to contractors, and definition of configuration item structure Basis for all milestones States what the system/component IS, not just its functionality Every statement verifiable and ready for integration tests with attributes to track states and methods of verification Created by designers, owned by developers, viewable by all Cost estimation should be well definable at this stage
27 Design versus System Level Requirements System Requirements Functional definition of two functions and an interface Supply Power 10 kw Heat Cabin Architectural Design Equivalent interface definition in design phase Gas Driven Generator 600 volts 18 Amp 400 Hertz Electrical Heater
28 Key Number 4 : Take Command WRITE BETTER REQUIREMENTS! The Anatomy of a Better Requirement..
29 Typical Requirement Problems Inappropriate Level Poor Definition Lack of Structure and Control Undefined Ownership No Traceability No Completion Criteria
30 What is a Requirement? Must form a complete sentence (not a bullet list of buzz words, list of acronyms, or sound bites ) States a subject and predicate where the subject is a user Consistent use of the to be verb: shall, will or must to show mandatory nature should or may to show optionality Has end result Contains success criteria or is testable in nature
31 Types of Requirements Functional Requirements Capability that the system must perform Non-Functional Requirements Conditions that must be met that are not explicit capabilities (ie Constraints/Guidelines ie: : the system must run with 32M of RAM)
32 Characteristics of Good Requirements Each Individual Requirement Should Be: Clear Avoid confusion Brief Short and simple Verifiable Testable and verifiable Traceable Uniquely identified and can be tracked Each Requirement Should Be Annotated with Attributes: Priority Emphasize important requirements Source Who requires it? Urgency When? Identity Requirements must be uniquely identifiable Comments Clarification recorded when needed Query/Response All can benefit from discussions
33 Characteristics of Good Documents Each Collection of Requirements Should Be: Complete Balanced Modular Correct Consistent Realistic Role/State/Mode Type Inclusive Are all requirements expressed? Are requirements at a consistent level of detail? Can system be changed without unforeseen side effects? Are user needs correctly expressed? No contradictions exist between requirements? Can we really build it? Are requirements associated with user roles/system states? Functional, Non-Functional, Constraints, Guidelines
34 Traceability Ensures Quality Without traceability products can drift away from what the user requires Requirements Quality is conformance to requirements.
35 Verifiability Ensures Quality Track the Source and Status of your Requirements with Attributes Record the source (when created, rationale, original text) Record urgency (mandatory, useful, optional, luxury) Record acceptance (proposed, reviewed, accepted, rejected) Identify verification method (test, demonstration, inspection, simulation, analysis) Identify constraints (safety, performance, reliability, corporate standards, business rules) Record discussion (comments, action items, proposed change, state of review process)
36 Analysis Now Made Simple Once this wealth of information is captured and well written, the status of a project can be easily determined: Show all high priority requirements for the pilot on the flight control subsystem: Priority = High User = Pilot Subsystem = Flight Control Show all the requirements maintenance users proposed that could effect safety and performance: User = Maintenance Status = Proposed Constraints = Safety & Performance
37 The keys to writing better requirements lead to successful projects! User Requirements System Requirements Architectural Design Better Requirements qssinc.com
ITS Projects Systems Engineering Process Compliance Checklist FHWA Final Rule (23 CFR 940) This checklist is to be completed by the MDOT or LPA Project Management Staff. Please refer to the accompanying
SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original
F.1 General Implementation Contractor Deliverables include critical system planning and development components. Sufficient deliverables have been identified at key steps in the project to guide the project
The MCSE Methodology overview if a picture is worth a thousand words, an executable model is worth a thousand pictures The MCSE methodology the mcse methodology (méthodologie de conception des Systèmes
REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering
Project Risk Management: IV&V as Insurance for Project Success Introduction Software development projects can be expensive and risky: Ever more complex mission-critical requirements lead to increasingly
Lecture 17: Requirements Specifications Why we need to write specifications Purpose and audience Choosing an appropriate size and formality Desiderata for Specifications Properties of good specifications
Scrum: A disciplined approach to product quality and project success. CQAA February 23, 2011 Patricia Rotman Introductions Copyright 2011-2 Alternate Titles Considered Scrum: Just do it! Scrum: It only
Office of Safety and Mission Assurance NASA-GB-9503 SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK AUGUST 1995 National Aeronautics and Space Administration Washington, D.C. 20546 PREFACE The growth in cost
T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts
IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle
3SL Requirements Definition and Management Using Cradle November 2014 1 1 Introduction This white paper describes Requirements Definition and Management activities for system/product development and modification
White paper June 2009 Ten steps to better requirements management. Dominic Tavassoli, IBM Actionable enterprise architecture management Page 2 Contents 2 Introduction 2 Defining a good requirement 3 Ten
Java Programming (10155) Rationale Statement: The world is full of problems that need to be solved or that need a program to solve them faster. In computer, programming students will learn how to solve
DOCUMENT: Future AAMI/IEC 62304:2006/AMD1, 18-August-2015 Final Draft International Standard for Vote, Amendment 1 to IEC 62304: Medical device software Software life cycle processes. Public Review Draft
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a
SECTION 01800 SYSTEMS INTEGRATION AND INTEGRATOR REQUIREMENTS PART 1 GENERAL DESCRIPTION A. This section specifies the system-wide integration requirements for the Caltrain Electrification system, i.e.
Addressing Non-Functional Requirements with Agile Practices Mario Cardinal Software Architect Version: Oct 29 th Agile is Like Teen Sex Because Everyone wants to do it Many say they re doing it Everybody
Developing & Confirming Effective Business Requirements (Virtual Classroom Edition) Eliminate Costly Changes and Save Time by Nailing Down the Project Requirements the First Time! Pre-Workshop Preparation
Maturity, motivation and effective learning in projects - benefits from using industrial clients C Johansson Ericsson Software Technology AB/University of Karlskrona/Ronneby P Molin University of Karlskrona/Ronneby,
System Requirement Checklist Page 1 System Requirement Checklist The System Requirement (SR) document template (IDA-MS-SR) provides guidance and template material for use by IDA projects in producing project-specific
Risk Assessment Risk is an undesirable future situation or circumstance that has a realistic likelihood of occurring and an unfavorable consequence should it occur. Risk Management (RM) is the act or practice
Electronic Device History Record at Ethicon Endo-Surgery By: Jeff Wuennemann Principal Mfg Engineer Agenda Background Solution Detail System Benefits Lessons Learned Background Implemented as part of a
PROJECT MANAGEMENT GUIDELINE SECTION 4 - PROJECT EXECUTION AND CONTROL PHASE Table of Contents Introduction... 3 Project Execution and Control Phase Overview... 3 Activities and Documents in the Execution
Effective Test Management Practices Dr. Magdy Hanna Chairman International Institute for Software Testing email@example.com http:// Principles-1 What is most frustrating in your role as a test
Requirements Traceability Mirka Palo Seminar Report Department of Computer Science University of Helsinki 30 th October 2003 Table of Contents 1 INTRODUCTION... 1 2 DEFINITION... 1 3 REASONS FOR REQUIREMENTS
SDLA-312 ISA Security Compliance Institute Security Development Lifecycle Assurance - Security Development Lifecycle Assessment v3.0 Lifecycle Phases Number Phase Name Description PH1 Security Management
SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE Version A.4, January 2014 FOREWORD This document was written to provide software development projects with a template for generating a System
CSC340: Information Systems Analysis and Design Professor Jennifer Campbell firstname.lastname@example.org http://www.cs.toronto.edu/~csc340h/ Acknowledgement: Material Provided by Professor Steve Easterbrook
Systems Engineering Process Derek Vollmer, P.E. ITS Software and Architecture Coordinator Traffic Engineering and Operations Office Contents Federal regulations for ITS projects Overview of systems engineering
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
Scope Planning Project success is determined by its usefulness or profitability: in increase of revenue in savings of costs The main reason to change existent information system is to get more benefits
Page 1 of 7 Software Supplier Process Requirements 1.0 QUALITY SYSTEM FRAMEWORK 1.1 QUALITY POLICY The Seller shall document and implement a quality program in the form of Quality manual or detailed Quality
Requirements Specification Workshop Configuration Guide Whether you re buying a car or building a multi billion dollar thing such as a space shuttle or an air traffic control system, describing what your
CITY OF NOVI ARCGIS SERVER DEVELOPMENT & HOSTING SERVICES ADDENDUM #1 INTENT: This addendum has been issued to modify and/or interpret the original specifications for the RFP named above. Unless otherwise
Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012 voordracht georganiseerd door Discussiegroep Software Testing met de steun van Ingenieurshuis, Antwerpen Scrum and Testing... The end
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
Utilizing Defect Management for Process Improvement Kenneth Brown, CSQA, CSTE email@example.com What This Presentation Will Cover How to Appropriately Classify and Measure Defects What to Measure in Defect
Configuration Management One Bite At A Time By Kai Holthaus, ITIL v3 Expert and Director for Third Sky, Inc. Implementing Configuration Management can be a daunting challenge. While the potential payback
Object-Oriented Software Development What is Object-Oriented Development Object-Oriented vs. Traditional Development An Object-Oriented Development Framework Phases, Activities, and Work Products Phases,
REQUEST FOR PROPOSAL WAYFINDING AND SIGNAGE CONSULTANT Objective 1) The Wayfinding and Signage (W&S) Consultant shall develop a wayfinding and signage solution for the interior of Terminal One (only the
How to Write a Software Process for YOUR COMPANY 1. Introduction MicroTools is proposing to assist YOUR COMPANY in improving the existing software process. The purpose of this project is to both improve
The Need for a Systems Engineering Approach For Measuring and Predicting the Degradation of Aging Systems And How It Can Be Achieved William Robinson Gisele Welch Gary O Neill Georgia Tech Research Institute
AC 20-148 REUSABLE SOFTWARE COMPONENTS December 7, 2004 12/7/04 AC 20-148 CONTENTS Paragraph Title Page 1. Purpose....1 2. Motivation for this Guidance....1 3. Document Overview...1 4. General Guidelines
PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME > Date of Issue: < date > Document Revision #: < version # > Project Manager: < name > Project Management Plan < Insert Project Name > Revision History Name
Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of
Certification Authorities Software Team (CAST) Position Paper CAST-26 VERIFICATION INDEPENDENCE COMPLETED January 2006 (Rev 0) NOTE: This position paper has been coordinated among the software specialists
Develop Project Tasks One of the most important parts of a project planning process is the definition of activities that will be undertaken as part of the project. Activity sequencing involves dividing
A rough guide to elaborating stories in agile projects A summary of different approaches There are many different approaches to elaborating stories and each team needs to find the best approach based on
1 BAL2-1 Professional Skills for the Business Analyst OVERVIEW This course trains participants to help business clients articulate their needs and wants, and to document them clearly, concisely, and completely.
Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch
Systems Engineering in Radio Astronomy Peter Hall ICRAR/Curtin, May 29, 2013 Outline Systems Engineering and problem solving (Very) basic Systems Engineering Useful heuristics Radio astronomy context The
PREFERRED RELIABILITY PRACTICES PRACTICE NO. PD-ED-1228 PAGE 1 OF 6 INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE Practice: To produce high quality, reliable software, use Independent Verification
Table of Contents Change Management: Best Practices White Paper...1 Introduction...1 Critical Steps for Creating a Change Management Process...1 Planning for Change...1 Managing Change...1 High Level Process
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
Back to Basics Backward Chaining: Expert System Fundamentals By Dustin Huntington Introduction Backward chaining is an incredibly powerful yet widely misunderstood concept, yet it is key to building many
Software Engineering for Outsourced & Offshore Development CMMI: Specific Goals and Practices PeterKolb Software Engineering CMMI Process Areas for R&D Projects Slide 2 Content Management in Projects Project
Table of Contents Validating Enterprise Systems: A Practical Guide Foreword 1 Introduction The Need for Guidance on Compliant Enterprise Systems What is an Enterprise System The Need to Validate Enterprise
Use Case Diagrams Tutorial What is a use case? A requirements analysis concept A case of a use of the system/product Describes the system's actions from a the point of view of a user Tells a story A sequence
API Q2 Specification for Quality Management System Requirements for Service Supply Organizations for the Petroleum and Natural Gas Industries A Service Providers Perspective How is API Q2 Different ISO
The document in this file is adapted from the IEEE standards for Software Project Management Plans, 1058-1998, which conforms to the requirements of ISO standard 12207 Software Life Cycle Processes. Tailor
XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John
Configuration Management CxOne Standard CxStand_ConfigurationManagement.doc November 4, 2002 Advancing the Art and Science of Commercial Software Engineering Contents 1 INTRODUCTION... 1 1.1 OVERVIEW...
Implementation of ANSI/AAMI/IEC 62304 Medical Device Software Lifecycle Processes.. www.pharmout.net Page 1 of 15 Version-02 1. Scope 1.1. Purpose This paper reviews the implementation of the ANSI/AAMI/IEC
Service Support Configuration Management ITIL Configuration Management - 1 Goals of Configuration Management The goals of Configuration Management are to: Account for all the IT assets and configurations
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
4 Testing General and Automated Controls Learning Objectives To understand the reasons for testing; To have an idea about Audit Planning and Testing; To discuss testing critical control points; To learn
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
Example Software Development Process. The example software development process is shown in Figure A. The boxes represent the software development process kernels. The Software Unit Testing, Software Component
SESSION ID: STR-T08 Software Supply Chains: Another Bug Bites the Dust. Todd Inskeep 1 Global Security Assessments VP Samsung Business Services @Todd_Inskeep Series of Recent, Large, Long-term Security
Automating the Data Center The First Steps Make All the Difference By: Harris Kern s Enterprise Computing Institute The past decade had brought tremendous technological advances to the data center: open
Pittsburgh, PA 15213-3890 QUality Assessment of System ARchitectures (QUASAR) Donald Firesmith Acquisition Support Program (ASP) Sponsored by the U.S. Department of Defense 2006 by Carnegie Mellon University
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11: Integrationand System Testing Integration Testing Strategy The entire system is viewed as a collection of subsystems (sets
RUP for Software Development Projects George Merguerian www.bmc-online.com 1 Specialists in Global Project Management Brussels Frankfurt Houston Istanbul Milan Ottawa Shanghai Singapore Warsaw Washington
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Software Production and Lifecycle Models 1 Problem Definition Change Architectural Design Verification Personnel Basic Phases Potential Difficulties, Verification, and Testing Implementation and Integration
Process models: Capability Maturity Model Integration (CMMI) Software Process Improvement and Capability Determination (SPICE) V-Model Standards: MISRA-C standard AUTOSAR Configuration management Product
Department of Health and Human Services Centers for Medicare & Medicaid Services Center for Consumer Information and Insurance Oversight Guide to Enterprise Life Cycle Processes, Artifacts, and Reviews
Requirements engineering processes Requirements Engineering Processes The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the.
Project Documentation Document SPEC-0064 Revision A System Engineering Plan Rob Hubbard, Jeremy Wagner, Larry Daggert, Larry Stepp, Christoph Keller Systems Engineering / Project Management 5 October 2006