Four principles seminar manageware seminar

36
® IBM Software Group © 2008 IBM Corporation Ensuring Project Success: Four Principles for Effective Requirements Lifecycle Management Dr. Keith Collyer Requirements Product Delivery Team [email protected] Although we use screenshots from DOORS to illustrate many of the points in this presentation, DOORS is not the focus.

description

 

Transcript of Four principles seminar manageware seminar

Page 1: Four principles seminar   manageware seminar

®

IBM Software Group

© 2008 IBM Corporation

Ensuring Project Success:Four Principles for Effective Requirements Lifecycle Management

Dr. Keith CollyerRequirements Product Delivery [email protected]

Although we use screenshots from DOORS to illustrate many of the points in this presentation, DOORS is not the focus.

Page 2: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Our world is becoming more complex everyday...

Almost 162 million smart phones were sold in 2008, surpassing laptop sales for the first time.

162 millionNearly 90% of innovation in automobiles is related to software and electronics systems.

90%Soon, there will be 1 trillion connected devices in the world, constituting an “internet of things.”

1 trillion

Page 3: Four principles seminar   manageware seminar

IBM Software Group | Rational software

...and the challenge of managing this complexity has never been greater

Five years ago, a typical manufacturer’s concept-through production cycle time was 48 months. Within four years, that time dropped to 18 months—with a goal of reaching a 12 month cycle within the next year.

48 months

66% of software products are deemed unsuccessful, costing the industry nearly $300 billion annually.

$300 billion

More than 42,000 defibrillators had to be recalled in 2007 due to faulty software.

42,000units recalled

Development timescales are tighter than ever before, but the regulations and standards developers must meet are more stringent than ever.

The cost of failure is increasing at a fantastic rate

Page 4: Four principles seminar   manageware seminar

IBM Software Group | Rational software

4 Principles for Effective Requirements Lifecycle Management

N

W E

S

Automate your requirements process

Integrate requirements across the lifecycle

Use abstraction to manage complexity

Recognize the needs of all stakeholders

We could choose many ways of dividing up the topic of requirements management. We will use four main principles as our guide.

Recognize the needs of all stakeholders

Understand the problem as much as the solution

Effective requirements writing and requirement document structure

Use abstraction to manage complexity

Requirement decomposition and derivation

The necessity of traceability

Integrate requirements across the lifecycle

Requirements are the primary communication tool across the whole development lifecycle

RM + Design + Testing + Change + PLM

Automate your requirements process

Apply measures to facilitate process improvement

Use a Requirements Management tool

Page 5: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Avoid Premature Details at Top Levels

Problem Solution

State what the system must do:

Function

State what the stakeholders

want to be able to do: Capabilities

Principle 1: Recognize the needs of all stakeholders

We use many conceptual processes in developing systems. We can think of these processes as:

Define the problem: Why are we doing this?

Define the solution: What do we need to do?

Design the solution: How are we going to do it?

These processes can occur in parallel, top-down, bottom-up or in a mixed fashion. And one person's solution can become another person's problem, so systems development is generally a recursive process.

It is important that the “levels” of development are related – in the sense that the solution developed must solve the problem stated.

Page 6: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Do not define the design –avoid How

Avoid Premature Details at Top Levels

Problem Solution

Do not design the system

Principle 1: Recognize the needs of all stakeholders

We use many conceptual processes in developing systems. We can think of these processes as:

Define the problem: Why are we doing this?

Define the solution: What do we need to do?

Design the solution: How are we going to do it?

These processes can occur in parallel, top-down, bottom-up or in a mixed fashion. And one person's solution can become another person's problem, so systems development is generally a recursive process.

It is important that the “levels” of development are related – in the sense that the solution developed must solve the problem stated.

Page 7: Four principles seminar   manageware seminar

IBM Software Group | Rational software

An Exercise in clear and concise descriptive writing?

�The system shall perform at the maximum rating at all times except that in emergencies it shall be capable of providing up to 125% rating unless the emergency condition continues for more than 15 minutes in which case the rating shall be reduced to 105% but in the event that only 95% can be achieved then the system shall activate a reduced rating exception and shall maintain the rating within 10% of the stated values for a minimum of 30 minutes.

Principle 1: Recognize the needs of all stakeholders

Don’t attempt to get it right first time – Richard Stevens “if a job’s worth doing, it’s worth doing badly”

Clear: each statement is clearly understandable and in the appropriate terminology

Consistent: The requirement is consistent with other requirements

Abstract: does not impose a solution on the next layer

Correct: correctly reflects the intent

Individual: each statement is a single traceable element

Testable: each requirement has acceptance criteria and can be validated/verified

Feasible: each requirement is physically and legally possible

Prioritised: each requirement has a priority associated

Justified: each requirement has a rationale explaining how it satisfies input needs

Page 8: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Document Structure

�Structure helps:

�Understand context

�Assess completeness

�Identify repetition/conflict

�Navigate/search requirements

Principle 1: Recognize the needs of all stakeholders

Small projects can get away with work-item lists as dealing with a few tens of requirements is within the scope of a human mind.

Larger projects need some structure. Structure helps us to:

Understand the context of requirements by placing similar requirements together in a hierarchical framework

Assess the completeness of the requirements set, for example by using a template and highlighting empty sections

Identify repetition/conflict as requirements for similar subjects will be placed close together

Navigate/search requirements by providing a decomposition structure which enables successive refinement to find necessary information

Page 9: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Structure and Templates

DocumentStructure

Boiler-platetext

Requirementtemplates

Project templates

Principle 1: Recognize the needs of all stakeholders

A template may contain different levels of information:

Simple heading structure

Boilerplate text that is always similar for every module based on this template

Requirement templates to help support good requirement writing practices

Project templates combine multiple document templates in a structured fashion, ideally also including definition of allowed relationships

Page 10: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Attributes

Identification

StatusPriority

Type

Performance

Principle 1: Recognize the needs of all stakeholders

Attributes are used for several things:

Identification: Any form of label, normally an alphanumeric string (for example an object identifier)

Classification by type: e.g. functional, non-functional, legal, constraint

Classification by priority: e.g. 1,2,3 or high, medium, low

Status: e.g. approved, validated, rejected, changed. Status attributes should have a documented state machine

Performance: test results, data rates, any numerical data

Page 11: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Keep information at the right level

�Look before you leap!

�General rule: Provide as much information as needed – but no more

�Avoid design at early stages

�Be aware of when you are:

► Defining the problem

► Defining the solution

► Designing the solution

Principle 2: Use abstraction to manage complexity

It isn't that they can't see the

solution it's that they can't see

the problemG.K. Chesterton

This relates back to the discussion of problem and solution. It can be very dangerous, and is certainly inefficient and generally over-restrictive, to create solutions when the problem is not understood.

Customers often state how they want a problem to be solved, frequently without any clear view of what the problem actually is. The best response to this tendency is to ask “Why?”enough times to get to the real (sometimes called “The 5 Whys”)

Page 12: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Building a Requirements Hierarchy

•Transformation Allocation

DecompositionDesign-driven

Principle 2: Use abstraction to manage complexity

Many processes are needed to build up requirements sets

Decomposition:

Decompose requirements into parts

Break compound requirements into atomic statements

Design-driven (also called “derived”):

Create new requirements to take into account higher-level design decisions

For example, the design decision to have a separate Engine and Gearbox leads to the need for those subsystems to interact, and those interactions are defined by requirements

Transformation:

Turn vague statements into precise statements

Turn problem statements into solution statementsTurn stakeholder-oriented capabilities into system-oriented functions

Allocation:

Allocate requirements to subsystems. Often hand-in-hand with decompositionE.g. Allocate “car moves” to engine, drive train, steering, ...

Page 13: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Why is Traceability Important?

Can we show these answers? (Governance)

Why are we building this?

Where is this implemented?

How do I test this?

Principle 2: Use abstraction to manage complexity

Traceability information lets us answer important questions asked by stakeholders, developers, testers, managers, etc.

Necessity: are all the traced lower-level requirements necessary to satisfy the higher-level? Ensure that there is no gold-plating. Why are we building this?

Sufficiency: are the traced lower-level requirements sufficient to satisfy the higher-level? Ensure that system developed satisfies requirements. Where is this implemented?

Both the above apply to testing as well as to development. How do we test this?

Impact: what other changes are contingent on those proposed (up, down and horizontally). Analyze proposed changes. Can we show these answers?

Page 14: Four principles seminar   manageware seminar

IBM Software Group | Rational software

RM across the Enterprise

Board

Corporate Vision

Program Managers

Project Managers, Analysts and Requirements Engineers

Developers

Portfolio and Program

Management

Principle 3: Integrate RM across the lifecycle

Project Management, Requirements Management

Requirements Use, Development

Tools

Different levels in the enterprise use requirements in different ways and hence have different needs for RM. It is important that the corporate vision is reflected through all levels – very few organizations have the understanding, knowledge or tools to do this.

The corporate vision is about satisfying stakeholders (typically shareholders)

The program portfolio defines what must be achieved to meet the vision and high-level targets such as time and budget.

Projects are created to deliver results to the overall portfolio. This is where Requirements Management is traditionally seen to start.

The Development organizations consume and produce requirements to actually build systems

Page 15: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Requirements Definition & Management Must Be Integrated into the Product Lifecycle

Business Analysis: Enterprise Architecture, Business Process Mgmt, Produc t Mgmt, Portfolio Mgmt

Customer Needs

Define Operation

Reqt’s

Develop Concept

Preliminary Definition

Product / SystemBuild

DefineSystemReqt’s

Detail Definition

Product / SystemDeliver

Run / Support / Maintain

Requirements Management

Program & Project Management: Cost Accounting, Scheduling, Measurements, Reporting , Risk Mgmt

Detailed Design and Implementation

Verification and Validation – Test Management

Change and Configuration Management

Integration

SoftwareEngineering

ElectronicsEngineering

MechanicalEngineering

Disposal

Principle 3: Integrate RM across the lifecycle

The important message here is that development is not done in isolated silos, but by many disciplines working together. The common thread for all this work is requirements. Requirements Management applies to all aspects of development and across the whole product lifecycle, even through to disposal.

Requirements are the principle means of communicating between different disciplines and that they are the only technical information that persists throughout the whole life

Page 16: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Sub-System RequirementsSub-System

Requirements

System Requirements

Use Cases

Stakeholder Requirements

Standards Constraints

Test Cases

Sub-System Requirements

Functional Models

Test Cases

DefectsTestCases

RQM

Data Synchronized

TestResults

CRs

Potentially to any Module

Change

ICDICDICD

Modeling tool

Modeling tool

Design tool

Project Plan Rev A

Project Plan Rev B

Glossary Potentially from any doc

Principle 3: Integrate RM across the lifecycle

This slide shows an example information architecture. We build it up by showing the way requirements flow through levels, then show how additional information is related

Page 17: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Measure the requirements process

�CMMI, ITIL and other process assessment frameworks expect measurement► CMMI needs RM to get to level 2

► Need measurement to understand efficiency and consistency

► Key to continuous process improvement

Principle 4: Automate your requirements process

"In physical science the first essential step in the direction of learning any subject is to find principles of numerical reckoning and practicable methods for measuring some quality connected with it. I often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

Lord Kelvin, 1893

CMMI & ITIL are assessment frameworks used in industry and IT development

Page 18: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Effective Requirements Management realizes quantifiable savingsand with a tool you are able to measure�Example: how to measure and results�Development releases consisting of typically 8000 requirements used to take 6 months

�Phase 1 - Application of robust process and tool enforcement reduced this period to 12 Weeks over a period of 1 year

�Phase 2 - Continuous process improvement for a further 12 months reduced this period to 6 weeks

�Over time, defect removal and effectiveness was 55% at phase 1, 88% at phase 2 and still improving

�Defects undetected end up with the customer – the figures represent huge improvements in cost of re-work, quality and customer satisfaction

Principle 4: Automate your requirements process

Page 19: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Use a Requirements Management Tool�Document structure Attributes

View related information View historical information

Filter to focus

Principle 4: Automate your requirements process

Using a requirements management tool gives you many advantages over using standard office applications:

Information can be viewed in many ways, including document structure

Attributes can be defined to suit the processes in an organization

Filters can be used to focus on specific requirements according to user-defined criteria

Information can be linked in various ways and related information displayed

Historical information is recorded and can be displayed

All these different types of information can be displayed at the same time

Page 20: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Benefits of Effective Requirements Lifecycle Management

Greater Confidence

Ability to manage change

Improved customer/supplier relations

Visibility of progress/status

Improved Cost / Benefit Decisions

Greater confidence that objectives are being met. Organizing and tracing requirements engenders greater reflection on the design process and makes the design rationale more explicit.

Ability to manage change through impact analysis. Requirements tracing allows the potential impact of changes to be assessed more rapidly.

Improved customer / supplier relations through better definition and understanding of contracts, a large part of which are requirements.

Ability to track progress / status particularly in the formative stages of a project. When all that the project team is doing is writing documents, it is sometimes hard to measure progress. Effective requirements management puts measurable processes in place.

Ability to save costs through cost / benefit analysis. Again, requirements tracing is a way of documenting the relationship between benefits (as expressed by the requirements) and cost (as expressed by the design).

Page 21: Four principles seminar   manageware seminar

IBM Software Group | Rational software

4 Principles for Effective Requirements Lifecycle Management

N

W E

S

Automate your requirements process

Integrate requirements across the lifecycle

Use abstraction to manage complexity

Recognize the needs of all stakeholders

We could choose many ways of dividing up the topic of requirements management. We will use four main principles as our guide.

Recognize the needs of all stakeholders

Understand the problem as much as the solution

Effective requirements writing and requirement document structure

Use abstraction to manage complexity

Requirement decomposition and derivation

The necessity of traceability

Integrate requirements across the lifecycle

Requirements are the primary communication tool across the whole development lifecycle

RM + Design + Testing + Change + PLM

Automate your requirements process

Apply measures to facilitate process improvement

Use a Requirements Management tool

Page 22: Four principles seminar   manageware seminar

®

IBM Software Group

© 2008 IBM Corporation

Addendum: Avoiding Requirements Writing Pitfalls

Using a requirements management tool gives you many advantages over using standard office applications:

Information can be viewed in many ways, including document structure

Attributes can be defined to suit the processes in an organization

Filters can be used to focus on specific requirements according to user-defined criteria

Information can be linked in various ways and related information displayed

Historical information is recorded and can be displayed

All these different types of information can be displayed at the same time

Page 23: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Characteristics of a Good Requirement

Unique Individual Identified

Correct Complete

Consistent Clear Verifiable

Traceable Feasible

Positive Modular Design-Free

UniqueIndividualIdentifiedCorrectCompleteConsistentClearVerifiableTraceableFeasiblePositiveModularDesign-Free

Individual each requirement is a single traceable element

Unique each statement is differentIdentified each statement has a unique reference for

identification purposed e.g. “PQR 345”Correct Correctly represents the parent requirement

Complete Express a whole idea or statement

Clear Unambiguous simple language to avoid confusion and ambiguity

Consistent Not in conflict with other requirementsVerifiable It can be determined that the system meets the

requirement

Traceable Uniquely identified and can be tracked and tracedFeasible Can be accomplished within cost and schedule

Modular Can be changed without excessive impact

Positive Written in the affirmative, not the negative

Design-Free Does not impose a specific solution on design(i.e., implementation free)

Page 24: Four principles seminar   manageware seminar

IBM Software Group | Rational software

r572

“The internet user shall be able to access their current account balance in less than 5 seconds.”“The internet user shall be able to access their

current account balance in less than 5 seconds.”

The challenge is to seek out the user type, end res ult, and success measure in every requirement you

define.

The challenge is to seek out the user type, end res ult, and success measure in every requirement you

define.

Anatomy of a Good Stakeholder Requirement

user typePositive end resultPerformance criteriaMeasurable (but from when?)

Page 25: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� … or …

� … etc.

� … shall include but not be limited to …

Example: “The pilot and/or co-pilot shall also be able to hear or see a visible or audible caution/warning signal incase of emergency, hazard, etc…”

Improvements:

AmbiguityAmbiguity

Have individual and specific requirements for the pilot and co-pilot.

Create single requirements for visual and audible parts.

Be specific on what emergency or hazard conditions will be reported.

Page 26: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� each requirement is a single sentence

� conjunctions

� …and… , …or…. , …with… , …also…

Example: “The user shall be notified with a low battery warning lamp light when the voltage drops below 3.6 Volts and the current workspace or input data shall be saved.”

Improvements:

MultiplesMultiples

Make separate stakeholder requirements.

“The operator shall be visually notified when the voltage drops to a level where work cannot continue.”

“The operator shall be able to recover all data after a power failure.”

Make separate system requirements:

“The system shall provide a low battery warning lamp light when the voltage drops below 3.6 Volts.”

“The system shall save the current workspace when the voltage drops below 3.6 Volts.”

Page 27: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� ‘let out’ clauses

� …if… , …but… , …when… , …except…

� …unless… , …although….

Example: “The homeowner shall always hear the smoke detector alarm when smoke is detected unless the alarm is being tested or suppressed.”

Improvements:

Escape ClausesEscape Clauses

”The homeowner shall hear the alarm when smoke is detected.”

“The homeowner shall be able to suppress the sound generated by the fire alarm when the alarm is in ‘Test’ mode.”

Page 28: Four principles seminar   manageware seminar

IBM Software Group | Rational software

“Provided that the designated input signals from the specified devices are received by the user in the correct order where the system is able to differentiate the designators, the output signal shall comply with the required framework of section 3.1.5 to indicate the desired input state.”

Writing Pitfalls to Avoid

� long sentences

� arcane language

� references to unreachable documents

Example:

Improvements:

RamblingRambling

“The user shall receive an output signal in compliance section 3.1.5.”

“The user shall receive the output signal indicating desired input state.”

Page 29: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� mix user, system, design, test, installation

� high level mixed with database design, software terms, technical terms

Example: “The user shall be able to view the currently selected channel number which shall be displayed in 14pt Swiss type on an LCD panel tested to Federal Regulation Standard 567-89 and mounted with shockproof rubber washers.”Improvements:

Mixing RequirementsMixing Requirements

“The user shall be able to view the currently selected channel number.”

“The system shall display the selected channels on an LCD Panel.”

“The LCD Panel shall be shockproof mounted.”

“The LCD Panel shall be tested to Federal Regulation Standard 567-89”

Page 30: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� specify design envelope for level required

� name components, materials, software objects, fields, records in stakeholder or system requirements

Example: “The antenna shall be capable of receiving FM signals, using a copper core with nylon covering and a waterproof hardened rubber shield”

Improvements:

DesigningDesigning

“The antenna shall be capable of receiving FM signals.”

Page 31: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� wish lists

� vague about which stakeholder is speaking

� …usually… , …generally… , …often… , …normally… , …typically…

Example: “The alarm system will probably have to operate over normal phone lines.”

Improvements:

SpeculationSpeculation

“The alarm system shall operate over the household’s standard telephone line.”

Page 32: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� qualitative terms

� user friendly, highly versatile, flexible

� to the maximum extent, approximately, as much as possible, minimal impact.

Example: “The user shall be provided with a user-friendly front-end.”

Improvements:

VaguenessVagueness

“The user shall be guided through the system with navigation aids and dialog displays.”

“The user shall be guided to the next step with labeled instructions.”

“The user shall be provided with context sensitive help display.”

Page 33: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� suggestions will be ignored by developers

� may, might, should, ought, could, perhaps, probably

Example: “The network manager may be provided with possible network contention points and should instantaneously re-route the traffic.”

Improvements:

Suggestions and PossibilitiesSuggestions and Possibilities

Deliberately use the verbs “shall” or “will” to signal a requirement.

Attempt to make each requirement realistic and achievable!

Page 34: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Writing Pitfalls to Avoid

� ask for the impossible

� 100% reliable, safe, handle all failures, fully upgradeable, run on all platforms

Example: “The network manager shall handle all unexpected errors without crashing the system and be fully capable of managing future network configurations.”

Improvements:

Wishful ThinkingWishful Thinking

It is impossible to handle all unexpected errors! One needs to limit and enumerate the requirement to known error types.

There is no way to predict future network configurations much less manage them.

Page 35: Four principles seminar   manageware seminar

IBM Software Group | Rational software

Optional “Questions” Breaker Slide

Page 36: Four principles seminar   manageware seminar

IBM Software Group | Rational software

© Copyright IBM Corporation 2008. All rights reserv ed. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.