Page 94 - Software and Systems Requirements Engineering in Practice
P. 94
64 S o f t w a r e & S y s t e m s R e q u i r e m e n t s E n g i n e e r i n g : I n P r a c t i c e
3.5 Managing the Customer Relationship
Managing the customer relationship is important during the entire
project or product life cycle, and it is crucial during the elicitation
process. Both the consumer and the supplier need to have an ongoing
understanding of the product. It may be necessary to continually
interact with the customer to maintain good relations and keep the
customer informed; e.g., bring them bad news early rather than later.
Project management should never go into denial over issues such as
delivery dates. Rather, open and frequent communication with the
client can usually prevent more severe difficulties from occurring later.
Furthermore, it may be necessary to secure customer cooperation
in order to get access to domain expertise. If, for example, a project is
on a fixed schedule and relations with the client are not managed
properly, access to the client’s domain experts may be restricted,
resulting in late delivery.
It is our experience that constant communication with the customer
is essential for a positive outcome. There may be a tendency on some
projects to elicit the requirements and then forget about the customer
until the factory acceptance test. Doing so is a mistake, as the potential
for misunderstandings widens significantly as a project progresses.
Keeping the customer up-to-date on progress, demonstrating features
(e.g., for prototypes, see Chapter 9), and eliciting comments or
suggestions are both ethically correct and good business.
3.6 Managing Requirements Elicitation
Requirements elicitation is like any other project activity. It must be
planned, it must be managed properly, and speedy follow-up on
open issues is essential. While every organization or group has its
own way of doing things, we have found that certain activities are
essential to achieving a positive outcome.
Planning Elicitation Sessions
In order for elicitation sessions to be successful, they must be planned.
Planning includes setting up the framework for conducting the
sessions, managing the output of the sessions, and defining
completion. We offer these suggestions:
1. Set up a schedule of elicitation sessions. Since diverse domain
expertise may be needed, sessions need to be defined for
capturing needs based on the expertise needed for each
domain that is in scope. For example, in sessions to define a
new insurance system, it might be necessary to capture the
needs of marketing, sales, underwriting, accounting, etc. Since
the people who would be participating are usually critical to
the operation of an organization and access to them may be
limited, the schedule may need to be carefully defined.