It stroke me today at the train (on my way home) while I was reading a book named “Object Thinking” (by David West); I’m at chapter 7 which is talking about discovering the client domain, i.e what does he(the client) expect from the application. In short, although it’s hard(especially if you’re a technical person in your nature), you must understand the client’s requirements without casting it to your world “I’ll implement it with web-service” or “This is a classic multi-threading application”; You’re job in this initiatory step is just to analyze the client’s needs and trying to depict his world in simple “objects” world; What are my primary entities (for example: “Employee”, “Employer”, “Agreement” etc), what are the relationships between them and how the client expect to “activate” those entities (screens functionality).
I remembered my meeting with our last client and reading this stuff made me think about how well (?) did I managed to handle this task. While the client was depicting his world to me I was trying to understand and write his requirements and his special needs from the application. I’ve noticed that writing down the client’s needs\remarks\requests sometimes stopped the conversation flow, caused needless repetition over the question & answers and sometimes even got me out of focus.
So, maybe tape-recording the entire meeting(well, the important stuff anyhow), concentrating on asking the right question and analyzing the answers later can create a better characterization ? better understanding of the client’s domain ? shorter and more thorough meetings ?
It seems like a good idea, I think I’ll give it a try on my next meeting.
What do you think?