Assessing Requirements Quality in Iterative Development

8
Assessing Requirements Quality in Iterative Development 1

description

Assessing Requirements Quality in Iterative Development. How Does One Go about Achieving Quality?. The very nature of the thing we produce, source code, models, and other artifacts, is intangible. - PowerPoint PPT Presentation

Transcript of Assessing Requirements Quality in Iterative Development

Page 1: Assessing Requirements Quality in Iterative Development

Assessing Requirements Quality in Iterative Development

1

Page 2: Assessing Requirements Quality in Iterative Development

How Does One Go about Achieving Quality? The very nature of the thing we produce,

source code, models, and other artifacts, is intangible.

We must assure that the thing produced has the requisite quality to meet the needs of the users and extended stakeholders.

REQUIREMENTS QUALITY DRIVES SYSTEM QUALITY.

2

Page 3: Assessing Requirements Quality in Iterative Development

Software Project Quality

“Quality is conformance to requirements” “Quality is achieved when the software is ‘good enough’” “Quality is ultimately situational and objective” “Quality is the characteristic of having demonstrated the

achievement of producing a product that meets or exceeds agreed-upon requirements – as measured by agreed-upon measures and criteria – and that is produced by an agreed-upon process” [Rational Software Corporation 2002]

3

Page 4: Assessing Requirements Quality in Iterative Development

Software Project Quality (Cont’d)

Quality is a multidimensional concept that address two primary dimensions: The end result of the application itself The business impact on the producer and consumer

What we have studied in this course is how to effectively manage requirements to help the development team assure that the product or system being developed meets or exceeds agreed-on requirements and to apply an agreed-on process to help assure that those results are achieved.

4

Page 5: Assessing Requirements Quality in Iterative Development

Assessing Quality in Iterative Development When we complete the delivery of an iteration

we can ask the following questions: “Does it do what we said it would do?” “Does is appear to meet the requirements as we

know them at this time?” “Did we do it about when we said we would?” Now that you can see a bit of this thing, is this what

you really wanted? Is this what you really meant?” We can look at the artifacts of the process and

inspect them for quality as well. These artifacts demonstrate that the process is being followed as well.

5

Page 6: Assessing Requirements Quality in Iterative Development

Requirements Artifacts Sets

Team Skill Requirements Set Set contents1: Analyzing the Problem

Problem set Problem statement

Root cause analysis

Systems model

List of design and development constraints

List of actors

Business use-case model

2: Understanding User and Stakeholder needs

User needs set Structured interview, process, and results

Understanding of users and user needs

Requirements workshop process and results

Preliminary list of prioritized features

Storyboards, example use cases, etc.

3: Defining the System Preliminary system definition set

Requirements organization

Vision document

Identification of initial use cases

Empowerment of product manager/champion

Definitions of commercial factors

6

Page 7: Assessing Requirements Quality in Iterative Development

Requirements Artifacts Sets (Cont’d)

Team Skill Requirements Set Set contents4: Managing Scope Baseline set Prioritization and estimation of features

Requirements baseline

Recognition and communication of achievable scope

Agreed-on expectations

5: Refining the System Definition

Refined system definition set Use-case model(s)

Use-case specifications

Supplementary specification(s)

Ambiguity and specificity considerations

Technical methods (if any)

6: Building the Right System

System under construction set

Transitioning method (from design to code)

Test cases (derived and traceable from use cases)

Requirements traceability

Requirements change management process

Requirements method

7

Page 8: Assessing Requirements Quality in Iterative Development

Performing the Assessment

We have already put in place an iterative process whereby the objective evidence of the iterations themselves are the primary quality measures.

We can apply secondary measures by assessing each of the requirements artifacts at each iteration, or at any iteration we choose, by looking at the various aspects of quality that each artifact should contain at that point in the development process.

8