Agile Modeling Home Page

Interviewing Tips and Techniques for IT Professionals

Scott W. Ambler Home Page
Agile Modeling 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:

  1. Send ahead an agenda so as to set expectations and allow your interviewee to prepare for the interview.

  2. Verify a few hours ahead of time that the interview is still on because people’s schedules can change. 

  3. When you first meet the person, thank them for taking time out of their busy day.

  4. 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.

  5. 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.

  6. Ask the critical questions as soon as possible, that way if the interview is cut short you have gotten the important information.

  7. 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.

  8. 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…”

  9. End the interview by summarizing the main points.  This gives you a chance to review your notes and ensure that you understood everything.

  10. Thank the person again at the end of the interview. 

  11. 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.

  12. Remember, there’s more to interviewing people than just talking to them -- you also need to listen.

  13. 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. 

 

Recommended Resources

The Object Primer 3rd Edition: Agile Model Driven Development (AMDD) with UML 2   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   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.
Elements of UML 2.0 Style   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.

 

Let Me Help

I actively work with clients around the world to improve their information technology (IT) practices as both a mentor/coach and trainer.  A full description of what I do, and how to contact me, can be found here

 


Canadian Flag

Copyright 2005-2007 Scott W. Ambler

Last updated: March 3, 2007
This site owned by
Ambysoft Inc.

Agile Data (AD)  |  Agile Unified Process (AUP)  |  Enterprise Unified Process (EUP)  |  My Writings