ASPE RESOURCE SERIES Visualization Techniques for Requirements Definition The skills we teach drive real project success.
Visualization Techniques for Requirements Definition By Rob Snowden Introduction: I ve been a JAD (Joint Application Development) facilitator since 1994. During this time, I ve facilitated hundreds of requirements sessions, but also many other workshops including project planning, strategic planning, problem solving, ideation and many, many others. As an independent consultant since 2000, I integrate facilitated methods in the work I do, including courses I teach for ASPE including Planning and Facilitating JAD Sessions, Business Analyst Boot Camp, Developing Requirements with Use Cases among other courses. Facilitation is, of course, the process to extract information from groups of people in a compressed time period. But when thinking about visualization, it s the extraction of information in visual formats, sometimes on flipcharts, or information posted on a wall, or the creation of various diagrams and drawings, that allow participants to more fully engage both sides of their brains. Even the use of color subtly influences the experience. This white paper is intended to provide ideas for you to use to create better visuals to aid in requirements elicitation. Visualization: Creating models in group settings isn t about drawing models to put into the documentation. Drawing models is intended to draw out information by allowing participants to visualize the bigger picture simultaneously while focusing on a particular part of the drawing maybe an external interface, or a process, or an actor, or some data flows. It s fine to take notes during an interview, then return to your desk to draw a model to aid in your own understanding, but to create models in a group setting is much more powerful and valuable. So it could be something like this high level Context Diagram showing actors and data flowing in and out. 1
Or it could be the generation of many ideas components of a system, processes to be included, problems to be solved, whatever and categorizing them into themes to make sense of them. In this picture, 40 participants are working on ideas for improvement to customer facing screens for a large retail organization. In the background is a sticky wall used to capture ideas written in markers and categorized as a basis for formulating detailed data needs. It can be a combination of both the categorization of information, then the development of swim lane diagrams to drive to the requirements and note how other info is residing on flip chart easels: 2
These three examples show how the displaying of visual information improves the acquisition of information and provides easy visual reference to participants, not available if a scribe is simply taking notes of the conversations. Mechanics and Techniques for Visualization It s easy enough to say draw something for everyone to see or categorize information on the wall but there are numerous little tips and tricks that really help in the creation of effective visualization and facilitation. Even writing information on flipcharts can be made more effective if people just knew the techniques to make it so. In the description of various approaches below, I will include these tricks and tips. 3
Above is an example of brainstorming a list of ideas. The ideas in this case are regarding reporting. In order to produce effective reports for Optimizing Complimentary Business, what questions must be answered by reporting? Small groups discussed this among themselves, giving participants a chance to formulate ideas vs. launching into an immediate brainstorming session, then the ideas were listed on the flipcharts. You ll notice that the colors alternate between each item. It s subtle, but it makes it easier to read and adds a little flair to the process. It s especially important if the items listed are written close together since you are trying to write as fast as you can. In this case, room was left between each item to allow space for a follow-on activity. Next, the questions were given a relative priority, shown here in red (Critical I need it for sure, Important can limp along without it, Desirable I ll get it one day). Again, it is a subtle color change but it makes it easier to see. We repeated this process for different report categories and posted each set of flipcharts on the walls. The last step was for participants to migrate to the topic they know the most about and work as teams to write in the data that would answer the questions. 4
Flip Charts plus Diagrams Some types of info is strictly text, other types of information can better be displayed in diagrams. Still better is using both. In the example below, which was an effort to visualize a process that had not ever been documented, it was not strictly a flowchart, nor a step by step explanation of what was currently being done. At top was the very high level process for configuring a company s products for a potential sale, and below were the details that the Systems Engineers did to accomplish what was needed. As shown, there was an output from the previous step, then the next step, who does it, and post it notes were used to ID the details within that step, followed by the output. Another example is below. In this case, a high level diagram was drawn of the current process, then swim lanes were created with post-it notes to identify the impacts of new regulatory mandates. Next was a listing of the mandates. As an understanding of the impacts was realized, the next drawing was made by a developer when explaining some general processing proposals, though it was way early in project. Next, we started to identify requirements. These led to numerous issues shown on the far left. The point here is that the information was displayed in a way to extract maximum brain power from the participants and to analyze the information in a visual and textural form. 5
In the example below, similarly, the current process was diagrammed with post it notes in swim lanes in order to determine which processes would be impacted by some changes to business processes resulting in modifications to existing systems. Here are some nuances about the process above. 1. Using post it notes makes it cleaner when mistakes are made, vs. crossing out mistakes. While it s true that a white board could be used, you can run out of white board space, forcing info to be erased, and you can t take the white board with you, so everything must be documented before leaving the room (or photographed). 2. Each post it note was numbered for quick reference during discussions. 3. Using that number, the flipchart to the right reflected which processes impacted by system changes. Also, notes about future discussions were made. 6
4. Colors were alternated on the flip chart for ease of reading as well. As issues were uncovered, these were quickly recorded on post it notes and placed on a flipchart. For this session, about 10 participants were seated at a long table, approximately 6-7 feet from the wall, so they could easily read the information. Sometimes, immediately, they were assigned out and the rest were assigned at the end of the meeting. You ll notice that these were also numbered for easy reference. Of course, one of the secrets of good visualization, is a well-planned approach and agenda. The agenda for the meeting above is shown below. Notice that items were checked off as the meeting proceeded and, once again, alternating colors were used for easier reading. 7
Chunkifying In some previous pictures, the use of a large blue sheet, the Sticky Wall was used to capture and categorize information for whatever purpose. The Sticky Wall is a 12 by 5 foot sheet of nylon ripstop, which parachutes are made from, that is extremely light weight. It is sprayed with Artist Spray Mount so that larger pieces of paper will stick to it, much like very large post it notes. Ideas are generated, written in marker by participants, then placed on the wall, then categorized into themes. If the sticky wall is needed for an additional exercise, long lengths of scotch tape are placed on the columns of information, columns are pulled off, then taped to the wall for reference. In the example below, this has been done. The question was What do you want the system to do? Each table generated ideas, these were placed in categories by common intent which resulted in the identification of the functions basically creating a functional decomposition via brainstorming. Then requirements for each function were identified. 8
The technique used here was that individuals made their own brainstormed list for a particular column on the left, discussed it with their table, then the full group brainstormed the requirements. Requirements were written in alternating colors with space left for modifications and clarity. Then after a section was brainstormed, each requirement was reviewed and clarified to minimize ambiguity (corrections made in a 3 rd color). The sticky wall can also be used to build high level plans as shown below. 9
The strategies were placed on the left and teams were assigned to identify milestones over the time periods shown at the top. Each team presented their plans, conflicts between items that had dependencies were made, and assignments were made for those responsible for the milestones. Another way to use the sticky wall is for evaluation of items, for example, the prioritization of enhancement requests. Below, cash register tape was placed on the sticky wall. Then, participants worked in small teams and identified enhancement requests for the next 6 months and wrote them on cards in marker. These were placed on the sticky wall with consideration for relatively high or low IT effort and high or low business benefit as shown here: Certain requests were clustered together to form a larger enhancement vs. smaller individual enhancements. Another example is the creation of skeletal use cases by using post it notes with the SMEs. The column headers were The Customer Needs to, The System Needs to, Human Needs to (which was to identify the support needing to be done) and Comments. Four teams worked simultaneously on 10
separate use cases, then each team leader presented their work to the whole group for feedback. Later that day, the business analyst on each team documented the use case more fully based on this session. Virtual Considerations Using Webex or similar tools, you can, of course, share your desktop to draw diagrams using Visio, PowerPoint, Smart Draw, or other tools. The issue is the slow speed in using a mouse and typing text to draw something that would be so quick and easy on a flip chart. When using a tablet connected via a USB, while closer to drawing on a flip chart, it can result in a very crude appearance as shown below: 11
However, I have found using the Wacom Bamboo Create Tablet with PowerPoint, it has the power to convert crudely drawn squares, arrows and circles into great shapes. Plus, you can print or write in cursive and it is translated into text as if you had keyed it. See below: I drew a rectangle, it was converted into a nice shape, inserted the word Account by writing it in cursive in the box shown above, and it inserted it into the rectangle. I drew a crude arrow, it was coverted into a nice arrow, I added another drawn rectangle, which was converted, then selected text box in PowerPoint with the tablet pen, positioned it in the rectangle, then wrote Process in cursive. Below is how the software converted this into text, then I touched insert and placed it into the rectangle. 12
With a little practice, you can generate lots of different types of diagrams as fluidly as you would drawing on a flip chart or white board. For brainstorming and categorizing ideas, Mindjet s Mindmanager is a versatile tool. Below is a brainstormed list, keyed by the moderator. They are numbered, as they would have been in person, so that participants can suggest which items belong together in a category. For this example, using the Roadrunner and Coyote cartoon as an example, the question is What do you want the system to do?. This would be the process to ID system functions. Then, ideas would be categorized into system functions by dragging each item to a category (a,b,c,d,e,f) and the function named as shown below: 13
Then, the specific detailed requirements would be identified for each function. The chunkifying of information can be used to improving processes, identifying use cases, identifying solutions and many other topics. In Conclusion Visualization is a very productive way to effectively mine group knowledge. By carefully planning the mechanics, either for in person meetings or virtually, it is amazing how much information can be captured in a short time period. 14