Please enable JavaScript.
Coggle requires JavaScript to display documents.
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
expectation gap
,
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
expectation gap
?
to arrange frequent
contact points
with suitable customer representatives
Examples of
contact points
interviews
conversations
requirements reviews
user interface design walkthroughs
prototype evaluations
agile
user feedback on small increments of executable software
Contact points
Each contact point affords an opportunity to close the expectation gap:
what the developer builds is more closely aligned with
what the customer needs.
the
gap
will begin to grow again immediately as development proceeds after each
contact
The more frequent the
contact points
are, the easier it is to stay on track.
2. Who is the
customer
?
Who is
stakeholder
?
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
The
customer
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.
Examples
Direct user
Indirect user
executive sponsor
procurement staff
acquirer
Some
stakeholder
are not
customer
compliance auditors
suppliers
legal staff
contractors
venture capitalists
End user
who will actually use the product, either directly or
indirectly
are a subset of
customers
Who provide
user requirement
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
The partnership
Excellent requirements
result from effective collaboration between
developers
and
customers
(in particular, actual users)—a
partnership
.
A collaborative effort can work only when all
parties
involved know what they need to be successful and when they understand and respect what their collaborators need to be successful
An excellent
software product
results from a well-executed design based on
excellent requirements
.
Creating a culture that respects requirements
Quality Assurance Staff
Tester
Developer
Manager
Customer
No one want to participate in Requirement Management
Identifying decision makers
Why do you need a decision maker?
There can be hundreds of
decisions
to make on
software projects
; often, they are on the critical path
to being able to move ahead.
You might need to resolve some
conflict
,
accept (or reject) a proposed change
, or
approve
a set of
requirements
for a specific release.
Early in your project, determine
who the requirements decision makers
will be and
how they will make decisions.
The
decision-marking
group
A small group representing key areas—such as
management
,
customers
,
business analysis
,
development
, and
marketing
—generally works best.
needs to identify
decision leader
decision rule
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
The
requirements baseline
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
baseline
?
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.
Multiple
parties
are involved in
agreement
Developers
agree that they understand the requirements and that they are feasible.
Testers
agree that the requirements are verifiable.
Customers
agree that the requirements address their needs.
Management
agrees that the requirements will achieve their business objectives.