Chapter 2 - Requirements from the customer's perspective ( Creating a…
Chapter 2 - Requirements from the customer's perspective
The expectation gap
What is it?
the inescapable outcome at the end of the project is an
a gulf between what customers really need and what developers deliver based on what they heard at the beginning of the project (Wiegers 1996).
Without adequate customer involvement,
How to minimize the
to arrange frequent
with suitable customer representatives
user interface design walkthroughs
user feedback on small increments of executable software
Each contact point affords an opportunity to close the expectation gap:
what the developer builds is more closely aligned with
what the customer needs.
will begin to grow again immediately as development proceeds after each
The more frequent the
are, the easier it is to stay on track.
2. Who is the
A stakeholder is a person, group, or organization that is actively involved in a project,
is affected by its process or outcome, or can influence its process or outcome.
Stakeholders can be internal or external to the project team
and to the developing organization
Customers are a subset of stakeholders
A customer is an individual or organization that derives either direct or indirect benefit from a product
Software customers could request, pay for, select, specify, use, or receive the output generated by a software product.
who will actually use the product, either directly or
are a subset of
Users can describe the tasks they need to perform with the product, the outputs they need, and the quality characteristics they expect the product to exhibit.
3. The customer-development partnership
Requirements Bill of Rights for Software Customers
Requirements Bill of Responsibilities for Software Customers
result from effective collaboration between
(in particular, actual users)—a
A collaborative effort can work only when all
involved know what they need to be successful and when they understand and respect what their collaborators need to be successful
results from a well-executed design based on
Creating a culture that respects requirements
Quality Assurance Staff
No one want to participate in Requirement Management
Identifying decision makers
Why do you need a decision maker?
There can be hundreds of
to make on
; often, they are on the critical path
to being able to move ahead.
You might need to resolve some
accept (or reject) a proposed change
a set of
for a specific release.
Early in your project, determine
who the requirements decision makers
will be and
how they will make decisions.
A small group representing key areas—such as
—generally works best.
needs to identify
The group votes, but the result must be unanimous to approve the decision.
The group discusses and negotiates to reach a consensus. Everyone can live with the decision
and commits to supporting it.
The group votes and the majority rules.
The decision leader delegates authority for making the decision to one individual.
The decision leader makes the choice, either with or without discussion with others.
The group reaches a decision, but some individual has veto authority over that decision.
Reaching agreement on requirements
What if you don't reach agreement?
Agreeing on requirements on agile projects
What is it?
A requirements baseline is a set of requirements that has been reviewed and agreed upon and serves as the basis for further development.
What are benifits of meaningful
Development management has confidence because the development team has a business partner who will keep the project focused on achieving its objectives and will work with development to balance schedule, cost, functionality, and quality.
Business analysts and project managers are confident that they can manage changes to the project in a way that will keep chaos to a minimum.
Quality assurance and test teams can confidently develop their test scripts and be fully prepared for their project activities
Customer management or marketing is confident that the project scope won’t explode out of control, because customers manage the scope change decisions.
are involved in
agree that they understand the requirements and that they are feasible.
agree that the requirements are verifiable.
agree that the requirements address their needs.
agrees that the requirements will achieve their business objectives.