Apprentice with the User (Process Notes 2.1.2)


This process is based on the idea of masters and apprentices. The developer becomes apprenticed to the user, sitting with the user to learn the job by observation and asking questions. It is unlikely that many users can explain what they do in enough detail for the developer to capture all the requirements. Users cannot be expected to have the required presentation and teaching skills to effectively present their work to others. However, people are very good at explaining what they are doing while they are doing it. If the user is doing his job in his normal workplace, he can provide a running commentary and provide details that might otherwise be lost. It is probably only while working that the user is able to precisely describe his task, tell you why he is doing things, and explain what exceptions can occur.

Apprenticeship removes the need to talk in generalizations. If we are away from our work, we tend to describe it in abstract terms and to describe generalized cases. The abstraction is useful in one sense, but it does not hold enough detail for it to work every time. (You can see this effect when a user shows you his work-around for special cases.) By sitting alongside the user, the apprentice receives a running commentary, and gets to see all the cases and the actions the user takes for each.

Finally, the apprentice learns the task, and demonstrates this by actually doing the job under the user eyes.

Use this approach:

  • When the user is not good at abstraction

  • When the user does not have time to talk to you

  • When you do not know which questions to ask




Mastering the Requirements Process
Mastering the Requirements Process (2nd Edition)
ISBN: 0321419499
EAN: 2147483647
Year: 2006
Pages: 371

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net