Requirement-Related Risks Extracted from the book: Software Requirements By Karl E.Wiegers.

Slides:



Advertisements
Similar presentations
Requirements Specification and Management
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Chapter 4 Quality Assurance in Context
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Degree and Graduation Seminar Scope Management
PRJ270: Essentials of Rational Unified Process
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Object-oriented Analysis and Design
SE 555 Software Requirements & Specification Requirements Management.
Usability Inspection n Usability inspection is a generic name for a set of methods based on having evaluators inspect or examine usability-related issues.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
SE 555 Software Requirements & Specification Requirements Validation.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
13.1 © 2007 by Prentice Hall 13 Chapter Building Systems.
Verification and Validation
Software Life Cycle Model
How the Change Control Process Affects Project Quality
Release & Deployment ITIL Version 3
Complete and Integrated Lifecycle Management. Challenges 1.
Chapter 4 Requirements Engineering
S/W Project Management
Software Engineering Process I
Extreme Programming Software Development Written by Sanjay Kumar.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 2 The process Process, Methods, and Tools
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Software Development Process and Management (or how to be officious and unpopular)
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.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Software Requirements Engineering: What, Why, Who, When, and How
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Validating the Requirements Chapter 15. Prepared by : AHMED ABU SA'DA AHMED ABU SA'DA Moataz Wassim - May – /2010.
Lecture 7: Requirements Engineering
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Develop Project Charter
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Inspection and Review The main objective of an Inspection or a Review is to Detect Defects. (Today -there may be some other goals or broader definition.
Requirements Validation
Software Engineering Lecture # 1.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Software Development Life Cycle (SDLC)
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Ahmed Hassan Ghulam Murtaza Umar Farooq M Mannan Razzaq BSEF08A011 BSEF08A031 BSEF08A034 BSEF08A050.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
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.
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Requirements in the product life cycle Chapter 7.
Information Technology Project Management, Seventh Edition.
 System Requirement Specification and System Planning.
Software Reviews Ashima Wadhwa.
CMMI – Staged Representation
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
QA Reviews Lecture # 6.
Chapter 13 Building Systems.
3. Software Quality Management
Presentation transcript:

Requirement-Related Risks Extracted from the book: Software Requirements By Karl E.Wiegers

Introduction Risks factors are organized by the requirements engineering sub- disciplines: –Elicitation –Analysis –Specification –Verification –Management Techniques are suggested that can reduce: –Either the probability of the risk materializing into a problems –Or the Impact on the projects if it does.

Requirement Elicitation Product Vision and scope : –Scope creep issue: occurs if team members don’t have a clear shared understanding of what the product is supposed to be or do. Early in the project write a vision and scope document that contains your business requirements and use it to guide decisions about new or modified requirements. Time spent on requirements development Tight projects schedules often pressure managers into glossing t over the requirements. A rough guideline is to spend about 15 per cent of your project effort on requirements development activities. Keep records of how much efforts you actually spend on requirements development: therefore you can judge whether it is sufficient and improve your planning for future projects.

Requirement Elicitation Completeness and correctness of requirements specification –Apply the use case technique to elicit requirements by focusing on user tasks. This ensure that you will capture real customer needs. –Devise specific usage scenarios. –Write test cases from requirements –Create prototypes to make the requirements more tangible for users and to elicit specific feedback from them. Requirements for highly innovative products: –Easy to misgauge market response to products that are the first of their kind. –Emphasize marked research, build prototypes, –Use customer focus groups to obtain early and frequent feedback about your innovative product visions.

Requirement Elicitation Defining Non functional requirements –Natural emphasis on product functionality and easy neglect of non functional ones. –Query customers about quality characteristics: performance, reliability, usability…. –Document these NF requirements and their acceptance criteria in the SRS document. Customer agreement on product requirements: –Determine who the primary customers are. –Make sure you have adequate customer representation and involvement –Make sure you are relying on the right people for decision making authority on requirements.

Requirement Elicitation Unstated requirements: –Customers might hold implicit expectations that are not communicated or documented. –Try to identify and record any assumptions the customers might be taking. –Use open ended questions to encourage customers to share more of their thoughts, ideas and concerns than you might otherwise hear.

Requirement Elicitation Existing product used as the requirement baseline: –Developers are sometimes told to use the existing product as their source for requirements (fix specific bugs, add new features). –Thus new requirements are discovered through reverse engineering: INEFFICIENT and IMCOMPLETE WAY. –Document the requirement you discover through reverse engineering and have customers review those requirements to ensure they are correct and still relevant. Solutions presented as needs: –User proposed solutions can mask the user’ actual needs. –May lead to automating ineffective business processes or to pressure developers into making poor design decisions. –You must drill down to understand the intent behind the solution the customer has presented

Requirement Analysis Requirement prioritization –Ensure that every requirement, feature or use case is prioritized and allocated to a specific product release or implementation stage. –Evaluate the priority of every new requirement against the existing body of work remaining to be done so you can make clever trade-off decisions. Technical difficult features: –Evaluate the feasibility of each requirement to identify those that might take longer to implement than planned. –Use your project status tracking to watch for requirements that are falling behind their implementation schedule. –Take corrective action as early as possible,

Requirement Analysis Unfamiliar technologies, methods, tools, or hardware –Don’t underestimate the learning curve of getting up to speed with new techniques that are needed to satisfy certain requirements –Identify those high risks requirements early –Allow sufficient time for false starts, learning, experimentation and prototyping.

Requirement Specification Requirement Understanding: –Different understandings of the requirements by developers and users may lead to expectation gaps. –Formal inspections of requirements documents by teams including developers, testers, and customers can mitigate the risk. –Trained and experimented requirements analysts will ask the right questions and write better specification. –Models and prototypes that represent the requirements from multiples perspectives will reveal fuzzy and ambiguous requirements.

Requirement Specification Time pressure to proceed despite TBDs –Good idea to mark areas of the SRS document that need further work with ‘to be determined’ (TBD). –But it is risky to proceed with the construction if these TBDs have not been resolved. –Record the name of the individual responsible for resolving each TBD, how it will resolved, and the target date for resolution. ِAmbiguous terminology –Create a glossary and data dictionary to define all business and technical terms that might be interpreted differently by different readers. –Especially define terms that have both common and technical or domain-specific meanings –ٍSpecific reviews can help participants reach a common understanding of key terms and concepts.

Requirement Specification Design included in requirements: –Design approaches included in the SRS document place unnecessary constraints on the options available to developers and can inhibit the creation of optimal designs. –Review the requirements to make sure they emphasize what needs to be done to solve the business problem, rather than stating how it will be solved.

Requirement Verification Unverified requirements –Inspecting a lengthy SRS, writing test cases very early in the development process may appears fastidious. –However if you verify the quality and correctness of the requirements before construction begins, through inspection, requirements-based test planning and prototyping you can greatly reduce expensive rework later in the project. –Include time and resources for these quality activities in he project plan. –Gain commitments from your customer representatives to participate in requirements inspections. –Perform incremental, informal reviews prior to formal inspections to find problems as early and cheaper as possible.

Requirement Verification Inspection proficiency: –ٍSerious defects might be missed in case inspectors do not know to properly inspect requirements documents, and to contribute to effective inspections. –Train all team members who will participate in inspections of requirement documents. –Invite an experienced inspector from your organization or outside consultant to observe and moderate your early inspections to help make them effective.

Requirement Management Changing requirements –Scope creep can be reduced by using a project vision and scope document as the benchmark for approving changes. –A collaborative requirement elicitation process with extensive user involvement can reduce scope creep by almost half, –Quality control practices that detect requirements errors early can reduce the number of modifications requested later on. –To reduce the impact of changing requirements, defer implementation of those requirements that most likely to change until they are pinned down, and design for modifiability.

Requirement Management Requirement change process: –Risks from the way changes to requirements are managed include not having a defined change process, using an ineffective change mechanism, and permitting changes to be made without following the process. –You will need to develop a culture and discipline of change management at all levels. –A requirements change process that includes impact analysis of proposed changes, a change control board to make decisions, and a tool to support the defined procedure is an important starting point.

Requirement Management Unimplemented requirements –The requirements traceability matrix helps to avoid overlooking any requirements during design, construction or testing. –It also helps ensure that a requirement is not implemented by multiple developers because of inadequate communication within the project. Expanding project scope –If requirements are poorly defined initially, further definition can expand the scope of the project. –The project resources that were allocated according to the initial requirements might not be adjusted as the true scope of user needs becomes known. –To mitigate this risk, plan on a phased or incremental delivery process. –Implement the core functionality in the early releases, and iteratively elaborate the requirements for the later phases.