Starting a new project involves one primary discipline, which is learning! In order to avoid mistakes you must know what a customer wants and refine your work until you meet the customers satisfaction. The following technique describes one way to acquire knowledge rapidly during customer and user interviews and uses a special kind of mind-mapping.

The best way to get an overview of a difficult task is to visualize the problem. Mind mapping is a very nice tool to provide this overview and is easily constructed while doing customer and user interviews. Let us first give an example on how a so-called project kick-off is carried out in order to illustrate the role of mind-mapping during this phase of the project.

The customer and the project architects meet at a neutral place away from any disturbances of the daily work. Here you define the purpose of the project at hand. It is important that the purpose is a short and precise definition of the problem without technical context.

 

Interviews

Next you will do an interview session no longer than 30 minutes and you will capture the knowledge in a mind-map. A preliminary drawing of the system is then drawn by one of the software architects on the whiteboard based on the acquired knowledge and by using the mind-map as remembering tool. It must not take longer than 5 minutes to do this and get a first acknowledgment from the client.

Now you do a 10 minutes break. Some small-talk and some cheering up will keep up the good mood. Afterwards you repeat the 30 minutes interview and draw a new system drawing. Hopefully you will have added new knowledge the second time and you will see that you have added more concrete information in certain areas.

After the meeting you will use the mind-map to create work flow diagrams and find primary actors in the system. This is then used to create the first high level use-cases.

The next meeting is then aimed at digging into critical parts of the system. You will again do mind-mapping, only this time it will be on certain parts and not the entire system. The result will be a basis for finding a preliminary system architecture and a feature list for the most critical parts. Again at home you will use the mind-maps to describe a detailed workflow, create a feature list and add new use cases.

Next you will typically start a prototyping phase.

 

What are mind-maps and how do I create them?

A mind map is normally drawn by hand during an interview. In the center of a large piece of paper you write the central concept of the problem at hand, e.g. the name of the system. As you proceed with an interview you will hear concrete information and abstract information. The abstract information is placed near the center of the paper and the more concrete an information is, the closer to the edge of the paper this information is written. Pieces of information are then connected by drawing lines from one piece of information to another. That is in principle how mind maps are created. The catch is: You will have to practice this discipline for some time in order to distinguish between concrete and abstract information!

Illustration 1: A Simple Mindmap

 

What is the benefit?

You can see where you are lacking concrete information and in general how well you are covering information about the task. Your mind map should look like a snow-flake if it  is done correctly and not like a single line or a tree. The more snowflake like a mind map looks, the more you have covered from the whole system. Also the balance between abstract and concrete is important. Abstract knowledge is used to ask questions, while concrete knowledge is used to answer them.

 

Example

Let us look at an example where we interview a customer and make the according mind map. The customer has described the system to be An inventory system for handling stocks of watches

Illustration 2: First iteration example

 

The mind map above shows the result of the first iteration. For illustrating the concept, it is just a portion of what you might expect from a 20 minute interview with a customer. You will for example notice, that Calculations and Backup is not very elaborated yet. The next iteration must focus on these topics.