Computer Engineering 203 R Smith Requirements Management 6/2009 1 Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.

Slides:



Advertisements
Similar presentations
Project management Project manager must;
Advertisements

Project Scope Management
Degree and Graduation Seminar Scope Management
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
SE 555 Software Requirements & Specification Requirements Management.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
SE 555 Software Requirements & Specification Requirements Validation.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Project Management Basics
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective.
Typical Software Documents with an emphasis on writing proposals.
Chapter 2 The process Process, Methods, and Tools
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Software System Engineering: A tutorial
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Requirements Engineering How do we keep straight what we are supposed to be building?
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
IT Requirements Management Balancing Needs and Expectations.
Software Requirements Engineering: What, Why, Who, When, and How
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
Team Skill 6: Building the Right System Managing Change (28)
Develop Project Charter
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
By Germaine Cheung Hong Kong Computer Institute
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Software Engineering REQUIREMENT ENGINEERING. Software Engineering Phases.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering Lecture 10: System Engineering.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Information Technology Project Management, Seventh Edition.
Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika
 System Requirement Specification and System Planning.
9/27/ Group Members Sehrish YousafBSEF08A032 Huzaima Naheed QureshiBSEF08A033 Tehmina JavedBSEF08A037 Duaa AjmalBSEF08A048.
REQUIREMENTS ANALYSIS CONCEPTS & PRINCIPLES. Requirement  IEEE defines Software Requirements as:  A condition or capability needed by user to solve.
How does a Requirements Package Vary from Project to Project?
Software Requirements analysis & specifications
Software Engineering Furqan Rustam.
Software Engineering Lecture #3
Applied Software Project Management
Requirements gathering
Software Reviews.
Presentation transcript:

Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve a problem or achieve an objective. A condition or capability that must be met or processed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.

Computer Engineering 203 R Smith Requirements Management 6/ Quote from Frederick Brooks The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.

Computer Engineering 203 R Smith Requirements Management 6/ Why are Requirements Critical? In over 8,000 projects conducted by 350 companies, only 16 percent of projects were considered successful, on time and within budget. Studies continue to show that errors in requirements are the most significant factor in project failure. Errors in requirements have the greatest impact on project resources, time, personnel, etc. – Costs to correct problems increase over time

Computer Engineering 203 R Smith Requirements Management 6/ Scope and Requirements The text uses the term “scope” to cover both the project vision and requirements. Think about project vision, scope and requirements as layers of detail. Project vision being the highest level and requirements being the most detailed. Each layer addresses a different need.

Computer Engineering 203 R Smith Requirements Management 6/ Scope and Requirements While each layer provides greater detail each layer must fit within the higher layers. The Project Vision provides a filter to measure all requirements. For example all requirements must be traced back to the project scope and the scope must fit within the project vision.

Computer Engineering 203 R Smith Requirements Management 6/ Vision/Scope Statement Provides the answers to basic questions – What need will the project satisfy? – Who is the project for? – What is not in the project? The Vision statement provides a base to trace all requirements too. The Vision statement help establish project buy-in.

Computer Engineering 203 R Smith Requirements Management 6/ From Vision to Requirements The Vision/Scope sets the framework, creating requirements adds detail. All code that is written for a project should be in response to a requirement. The Vision justifies all other work

Computer Engineering 203 R Smith Requirements Management 6/ What Makes Good Requirement? All stakeholders have the same vision of the requirement. That it can be built and tested. The end result of different developers each developing the same requirement will be essentially the same.

Computer Engineering 203 R Smith Requirements Management 6/ Unambiguous All readers of a requirement statement should arrive at a single consistent interpretation of it. How to achieve unambiguous requirements: – Ensure the frame of reference is consistent – Use modeling, UML – Use prototypes

Computer Engineering 203 R Smith Requirements Management 6/ Necessary Each requirement should document something the customer needs. – The need can be traced back to the vision. The Vision can be traced back to the customer.

Computer Engineering 203 R Smith Requirements Management 6/ Complete Is each requirement fully described? Does the developer have all the information needed to begin design? Will the developer need to refer to the customer for missing details?

Computer Engineering 203 R Smith Requirements Management 6/ Realistic Is the requirement beyond the limitations of the systems environment? Is the requirement beyond the scope of technology?

Computer Engineering 203 R Smith Requirements Management 6/ Verifiable Can tests be written to verify that the requirement can be met? – Can you write a test that verifies that a user interface is: “Good” “Easy to use” Can it be determined objectively if a requirement has been met?

Computer Engineering 203 R Smith Requirements Management 6/ Consistent Do requirements conflict with other requirements? Being easy to “learn” and “feature rich” are often in conflict. Developing something in a set time frame and having a limited budget are often in conflict.

Computer Engineering 203 R Smith Requirements Management 6/ Traceable Traceable goes in both directions – External to the customer – Internal to the code Can you trace the requirement back to the customer? Can elements, code, test cases and documentation be traced to a requirement? If code does not implement a requirement then why is it being implemented?

Computer Engineering 203 R Smith Requirements Management 6/ Why are Good Requirements Important? Improved Efficiency – Reduces delays for clarification. Less Rework – Getting it right the first time reduces waste. Reduced Risk Less Friction – Giving the customer what they want.

Computer Engineering 203 R Smith Requirements Management 6/ Scope and Requirements Does user involvement solve everything? – Is the user fully informed? Do they have authority? – Is what is in and what is not included clearly described? Assumptions are made too easily – Is a change control mechanism provided. Ensure changes happen in planned manner – Communications Everyone is informed when changes happen

Computer Engineering 203 R Smith Requirements Management 6/ Role of a Requirements Process Provides discipline to make requirements gathering predictable. Communicates to those involved what is expected of them. Establishes a baseline for future improvement to gathering requirements.

Computer Engineering 203 R Smith Requirements Management 6/ Why is a requirements process needed? Ensure quality in establishing the requirements. Change will always be expensive.

Computer Engineering 203 R Smith Requirements Management 6/ Steps in the Requirements Process Requirements Elicitation – How are we going to get the requirements? – From whom do we get requirements? Requirements Analysis – What do the requirements actually mean? Requirements Documentation – Making a record of the decisions made. Requirement Verification – Getting agreement on the work to be done.

Computer Engineering 203 R Smith Requirements Management 6/ Common Problems with Requirements Requirements are not Consistent with the Vision. Requirements are ambiguous and are based on assumptions, which allows multiple interpretations. Requirements are based on the design and not the Vision.

Computer Engineering 203 R Smith Requirements Management 6/ Common Problems with Requirements All sources of requirements are not identified. All stakeholders are not informed of the requirements.

Computer Engineering 203 R Smith Requirements Management 6/ Relationship between Planning and Requirements You need requirements to have a completed plan. You need a plan too know if your requirements can be successfully implemented.

Computer Engineering 203 R Smith Requirements Management 6/ Where do Requirements come from? Customers Industry standards Business goals Company priorities Government standards

Computer Engineering 203 R Smith Requirements Management 6/ Types of Requirements Functional requirements Nonfunctional and Pseudo requirements Systems requirements User requirements Business requirements Quality attributes

Computer Engineering 203 R Smith Requirements Management 6/ Functional Requirements Behavior of the system Operations it should perform Inputs it should accept Output it should produce

Computer Engineering 203 R Smith Requirements Management 6/ Nonfunctional and Pseudo Requirements Industry/Company standards – Windows Look and Feel Government regulations – How records are kept Market requirements – Internet/X.400

Computer Engineering 203 R Smith Requirements Management 6/ Best Practices in Requirements Elicitation Have a vision and scope statement – Agree on the project’s objective Define the requirements procedure Identify users/stakeholders – Where do we get requirements from Involve the user Analyze user workflow – Uncover what assumptions have been made.

Computer Engineering 203 R Smith Requirements Management 6/ Requirements Analysis Draw a system context diagram Create models and prototypes Create a data dictionary Analyze feasibility Prioritize requirements Risk Management

Computer Engineering 203 R Smith Requirements Management 6/ Create Models and Prototypes Use Cases Data Flow Diagrams Entity Relationship Diagrams State Transition Diagrams

Computer Engineering 203 R Smith Requirements Management 6/ Create a Data Dictionary The Data Dictionary is the glue that holds requirements and models together. Primitive data elements Data structures or records Iterations within data structures

Computer Engineering 203 R Smith Requirements Management 6/ Analyze Feasibility Determine the risks – Unfamiliar tools, technologies, methods, hardware, etc How complex is it? How rigid are the requirements?

Computer Engineering 203 R Smith Requirements Management 6/ Prioritize Requirements Look at the risks. Look at the dependencies. Look at the availability of resources. Look at customer interest. – What will make the customer happy. Look at visibility. – Can we show progress?

Computer Engineering 203 R Smith Requirements Management 6/ Risk Management How do risks impact the requirements? What are priorities? What requirements can be delayed to make time to allow for risks?

Computer Engineering 203 R Smith Requirements Management 6/ Traceability Matrix Best practice would establish a traceability matrix for all requirements. All code, tests and documentation must trace back to a requirement. Requirements must have associated code, tests and documentation. The matrix ties everything together.

Computer Engineering 203 R Smith Requirements Management 6/ Best Practices in Documenting Requirements Requirements should be inspected – Unambiguous – Measurable Use writing standards, common syntax when documenting requirements Define all data Use pictures and diagrams

Computer Engineering 203 R Smith Requirements Management 6/ Requirements Verification Inspect requirements documents – Look for common errors Write test cases from requirements Write user manual from requirements Is sign-off enough? – If there is not informed buy-in then there is always room for disagreement.

Computer Engineering 203 R Smith Requirements Management 6/ Inspect Requirements Documents Doing formal inspections of requirements eliminates requirements problems early in the development process Builds a common understanding of the requirements

Computer Engineering 203 R Smith Requirements Management 6/ Is Sign-off Enough? Is sign-off enough if you know the work is sub-par? Avoided problems will come back to haunt you. Was the sign-off done after careful review or was it done because it was expected in the schedule?

Computer Engineering 203 R Smith Requirements Management 6/ Requirements Management From Requirements to Project Plans Change Control Version Control Requirements Tracing Requirements Status Tracking

Computer Engineering 203 R Smith Requirements Management 6/ From Requirements to Project Plans Creating the roadmap – Priorities – Estimates – Risks – Dependencies

Computer Engineering 203 R Smith Requirements Management 6/ Change Control Change Control Boards Use of contingency in estimating the size of the work

Computer Engineering 203 R Smith Requirements Management 6/ Version Control Tracking when requirements were added or dropped Tracking who and why a change was requested Tracking the impact of the change Tracking who approved the change

Computer Engineering 203 R Smith Requirements Management 6/ Requirements Tracing What is needed to justify the work involved in tracing requirements? – Customer satisfaction – Not doing more work then required – Ensuring that all parts of the project come together Documentation Support Test

Computer Engineering 203 R Smith Requirements Management 6/ Requirements Status Tracking As part of normal schedule tracking, follow the progress of development. Allow for partial releases of functionality within status tracking.