 |
Interviewing is an important technique for
eliciting requirements from your stakeholders.
When interviewing stakeholders you have several
potential goals to accomplish:
- You might want to broaden your understanding of
the domain
- You might want to determine who to invite to
modeling sessions and/or be active members of
your team
- You might want to directly identify new or
existing requirements for your application.
|
|
Interviewing is a skill that takes
years to master, one that cannot possibly be taught in a
few paragraphs. However, here are a few helpful
pointers to help you to improve your interviewing
skills:
-
Send ahead an agenda so as to
set expectations and allow your interviewee to
prepare for the interview.
-
Verify a few hours ahead of
time that the interview is still on because people’s
schedules can change.
-
When you first meet the person,
thank them for taking time out of their busy day.
-
Tell the interviewee what the
project is about and how they fit into the overall
process. This lets them know that their input is
important.
-
Summarize the issues that you
want to discuss, and verify how long the interview
will go. This helps to set their expectations and
they will help you to manage the time taken during
the interview.
-
Ask the critical questions as
soon as possible, that way if the interview is cut
short you have gotten the important information.
-
Ask them if you have missed
anything, or if they’d like to add something. This
gives them a chance to voice their concerns and will
often open new avenues of questioning.
-
Do not assume that you know
everything, especially if you think you have already
heard it before. Your users will rarely have a
consistent view of the world, and part of the
requirements definition process is to understand
where everyone is coming from. If everyone has the
same view on everything that’s great, but it’s
incredibly rare so do not shut down your users with
a comment like “I’ve already heard this before…”
-
End the interview by
summarizing the main points. This gives you a
chance to review your notes and ensure that you
understood everything.
-
Thank the person again at the
end of the interview.
-
Inform the interviewee when you
will summarize the interview notes (hopefully
immediately after the interview when it’s still
fresh in your mind) and tell them that you will send
them a copy for their review. This helps to put
them at ease because they know that their input
wasn’t taken out of context and it also helps to
improve the quality of your notes because they
review them and give you feedback.
-
Remember, there’s more to
interviewing people than just talking to them -- you
also need to listen.
-
Interviewing is just one of
several
requirements elicitation techniques.
The best place to get training in interviewing is at
journalism school. Because interviewing is recognized
as a key skill needed by journalists, journalism schools
tend to have top-notch interviewing courses. Although
interviewing is also a key skill needed by computer
professionals, very few computer science programs teach
it.
 |
|
The Object Primer 3rd Edition: Agile Model Driven
Development with UML 2 is an
important reference book for agile modelers,
describing how to develop 35
types of agile
models including all 13
UML 2 diagrams.
Furthermore, this book describes the techniques
of the
Full Lifecycle Object Oriented Testing
(FLOOT) methodology to give you the fundamental
testing skills which you require to succeed at
agile software development. The book also
shows how to move from your agile models to
source code (Java examples are provided) as well
as how to succeed at implementation techniques
such as
refactoring and
test-driven development
(TDD). The Object Primer also includes a
chapter overviewing the critical database
development techniques (database refactoring,
object/relational mapping,
legacy analysis, and
database access coding) from my award-winning
Agile Database Techniques
book. |
 |
|
Agile Modeling: Effective Practices for Extreme
Programming and the Unified Process is the seminal
book describing how agile software developers approach
modeling and
documentation. It describes principles and
practices which you can tailor into your existing
software process, such as
XP, the
Rational Unified Process (RUP), or the
Agile Unified Process (AUP), to streamline your
modeling and documentation efforts. Modeling and
documentation are important aspects of any software
project, including agile projects, and this book
describes in detail how to
elicit requirements,
architect, and then
design your system in an agile manner. |
 |
|
The Elements of UML 2.0 Style describes a collection
of standards, conventions, and
guidelines
for creating effective
UML diagrams. They are based on sound, proven
software engineering principles that lead to diagrams
that are easier to understand and work with. These
conventions exist as a collection of simple, concise
guidelines that if applied consistently, represent an
important first step in increasing your productivity as
a modeler. This book is oriented towards
intermediate to advanced UML modelers, although there
are numerous examples throughout the book it would not
be a good way to learn the UML (instead, consider
The Object Primer). The book is a brief 188
pages long and is conveniently pocket-sized so it's easy
to carry around. |
We actively work with clients around the world to
improve their information technology (IT) practices,
typically in the role of mentor/coach, team lead, or trainer. A full
description of what we do, and how to contact us, can be
found at Scott W.
Ambler + Associates.


|