Requirements gathering—or in an agile context, creating user stories—is always a challenging phase in software development. There are no standard processes or notations defined, only the understanding that the primary factors that make this phase effective are communication and facilitation skills. In this article, Kenji Hiranabe proposes using mind maps that focus on those primary factors when exploring user wishes. Then he takes this concept one step further and models the results with UML.
What Is a Mind Map?
A mind map is a graphical technique of taking notes and visualizing thoughts using a radiant structure, according to mind map inventor Tony Buzan's The Mind Map Book. Basic ordering ideas (BOIs) grow with key words around a central image, and associative sub-branches grow recursively.
Mind maps use colors, pictures, and drawings, because the human brain is much better at recognizing shapes and patterns than words or numbers.
Roger Sperry, a Nobel Prize winner in physiology, found that the cerebral cortex has two hemispheres between which it divides the major intellectual functions. His research shows that the right side appears dominant in rhythm, spatial awareness, gestalt (wholeness), imagination, dreaming, color, and dimension; whereas the left side appears dominant in words, logic, numbers, sequence, linearity, analysis, and lists.
By stimulating both right and left hemispheres, a mind map has greater power to evoke human memories than ordinary linear notes do. Some of the properties of mind maps that make them so effective include:
- Keyword Orientation--The structural elements of mind maps are not sentences but keywords.
- Loose Syntax and Semantics--Association is the only relationship between linked keywords.
- Fast and Easy-to-use--You can use mind maps as real-time shorthand minutes for meetings, interviews, and other conversational sessions.
- High-Level View--You can overview a whole mind map in a glance.
- Evocative--A mind map evokes the context of the scene in which it was created.
- Semistructured--A mind map can have a template structure but it can grow branches on demand to capture real-time verbal communication in semistructured interview.
Semistructured data is a tree-structured data that does't have predefined schema. Semistructured interview is a type of interview in which the questions are not predefined completely.
Figure 1: An example mind map used to plan a project Christmas party
How Software Development Benefits from Using Mind Maps
Chuck Frey's survey (see Further Reading) shows that the top three business applications of mind maps are "To do lists," "Preparing presentations," and "Note taking." The followings are examples of situations and phases in which you can utilize mind maps effectively in your software development activities:
- Meeting Minutes and Agenda--Add a visual effect to your agenda items by mapping them out. During the meeting, connect your laptop to the overhead projector and take notes on the conversation in real time. I call this a "meeting log" mind map (see Figure 2). The preset mind map has open BOIs for Conclusion and ToDo items, so that the facilitator can address the final settlement rather than leave the conclusion and action vague.
Figure 2: Meeting log mind map template
- Presentation--A mind map's explicit shape and high-level view allow the audience to keep up with you and not get lost in the discussion.
- Categorizing Items--All activities of software development involve categorizing items. Figure 3 is an example of design pattern categorization. In the example, twenty three patterns are divided into three categories: Structure, Creation, and Behavior. The relationship between the patterns is expressed as dashed-line arrows.
Figure 3: An example of categorization (Design Patterns)
- Seminar and Book Notes --Write a book review or seminar memo using a mind map.
- Retrospectives--Use mind maps to reflect on a past iteration, release in a project and elicit improvement. Such maps may have three preset BOIs: Keep, Problem, and Try. Members of the team discuss what they should keep doing, problems in the last incremental work, and what to try in the next one (see Figure 5).
Figure 4: A mind map of a retrospective meeting using Alistair Cockburn's Keep/Problem/Try technique
- Conversation Notes--Use a mind map to take notes of user interactions (described in