Sometime the intangible obscures the tangible.

Sometime the intangible obscures the tangible.

In the Software Process and Measurement Cast 37, Kenji Hiranabe suggested that both software and the processes were intangible and opaque.  In SPaMCAST 36, Phil Armour put forth the thought that software is a container for knowledge.  Knowledge is only tangible when demonstrated, or in software terms, executed.  Combining both ideas means that a software product is a harness for knowledge to deliver business value; delivered using what is perceived to be an intangible process. The output of the process is only fully recognizable and testable for the brief period that the code executes. On top of all that, there is every expectation that the delivery of the product will be on-time, on-budget, high quality and be managed and orderly.  No wonder most development managers have blood pressure issues!

Intangibility creates the need for managers and customers to apply controls to understand what is happening in a project and why it is happening.  The level of control required for managers and customers to feel comfortable will cost a project time, effort and money that could be better spent actually delivering functionality (or dare I say it, reducing the cost of the project).  Therefore, finding tools and techniques to make software, and the process used to create software, more tangible and more transparent to scrutiny, is generally a good goal.  I use the term “generally” on purpose. The steps taken to increase tangibility and transparency need be less invasive than those typically seen in command and control organizations. Otherwise, why would you risk the process change?

Agile projects have leveraged tools like WIKIs, standup meetings, big picture measurements and customer involvement as tools to increase visibility into the process and functional code as a tool to make their knowledge visible.  I will attest that when well-defined Agile processes are coupled with proper corporate culture, an environment is created that is highly effective for breaking down walls.  But, (and as you and I know, there had to be a “but”) the processes aren’t always well defined or applied with discipline and not all organizational cultures can embrace Agile methods. There needs to be another way to solve the tangibility and transparency problems without resorting to draconian command and control procedures that cost more than they are normally worth.

In his two SPaMCAST interviews, Mr. Hiranabe laid out two processes that are applicable across the divide defined by waterfall and Agile projects.  In 2007 on SPaMCAST 7, Kenji talked about mind mapping.  Mind mapping is a tool used to visualize and organize data and ideas.  Mind mapping provides a method for capturing data concepts, visualizing the relationships between them and, in doing so making ideas and knowledge tangible.  In the SPaMCAST 37, Kenji proposes a way to integrate kanban into the software development process.  According to WIKIPEDIA,  “Kanban is a signaling system to trigger action which in Toyota Production System leverages physical cards as the signal”.  In other words the signal is used to indicate when new tasks should start, and by inference, the status of current work.  Kenji does a great job at explaining how the kanban can be used in system development.  The bottom line is that the signal, whether physical or electronic, provides a low impact means of indicating how the development process is functioning and how functionality is flowing through the process. This increases the visibility of the process and makes it more tangible to those viewing from outside the trenches of IT.

Executed code that does what was expected is the ultimate evidence that we have successfully captured knowledge and harnessed it to provide the functionality our customer requested.  The sprint demos in Scrum are a means of providing a glimpse into that knowledge and to build credibility with customers.  However if your project is not leveraging Scrum, then daily or weekly builds with testing can be leveraged to provide some assurance that knowledge is being captured and assembled into a framework that functions the way that you would expect.  You should note that demos and daily builds are not an either/or situation.  Do both!

The lack of tangibility and lack of transparency of the process of capturing knowledge and building the knowledgeware we call software has been a sore point between developers and managers since the first line of code was written.  We are now finally getting to the point where we have recognized that we have to address these issues; not just from a command and control perspective, but also from a social engineering perspective.  Even if Agile as a movement was to disappear tomorrow, there is no retreat from integrating tools and techniques like mind mapping and kanban while embracing software engineering within the social construct of the organization and perhaps the wider world outside the organization.  Our goal is to make tangible what intangible, and visible that which is opaque.

Listen Now

Subscribe on iTunes

The Software Process and Measurement our essay on Mind Mapping. I view Mind Mapping as a great technique to stimulate creative thinking and organize ideas. Mind Mapping is one of my favorite tools.  Note:  this essay has a lot of visual examples, while there they are explained in the reading of the essay, I have also included them in a separate document for reference. 

If you want to reference the figures/examples in the essay download this PDF.  Mind Mapping Figures

We also feature Steve Tendon’s column discussing the TameFlow methodology and Chapter 4 of his great book, Hyper-Productive Knowledge Work Performance.  Steve and I discussed the impact of management’s profound understanding of knowledge work and that understandings impact on the delivery of value.

Anchoring the cast will be Gene Hughson, returning with an entry from his Form Follows Function blog.  This week Gene discusses the ideas in his entry, “Who Needs Architects?”

Call to Action!

For the remainder of August and September let’s try something a little different.  Forget about iTunes reviews and tell a friend or a coworker about the Software Process and Measurement Cast. Let’s use word of mouth will help grow the audience for the podcast.  After all the SPaMCAST provides you with value, why keep it yourself?!

Re-Read Saturday News

Remember that the Re-Read Saturday of The Mythical Man-Month is in full swing.  This week we tackle the essay titled “Calling The Shot”!  Check out the new installment at Software Process and Measurement Blog.

Upcoming Events

Software Quality and Test Management
September 13 – 18, 2015
San Diego, California
http://qualitymanagementconference.com/

I will be speaking on the impact of cognitive biases on teams.  Let me know if you are attending! If you are still deciding on attending let me know because I have a discount code.

Agile Development Conference East
November 8-13, 2015
Orlando, Florida
http://adceast.techwell.com/

I will be speaking on November 12th on the topic of Agile Risk. Let me know if you are going and we will have a SPaMCAST Meetup.

Next SPaMCAST

The next Software Process and Measurement feature our interview with Julia Wester.  Julia is an Improvement Coach at LeanKit and writes the Every Kanban Blog.  Julia and I had wide ranging conversation that included both process improvement and the role of management in Agile. Julia’s opinion is that management can play a constructive role in helping Agile teams deliver the most value.

Shameless Ad for my book!

Mastering Software Project Management: Best Practices, Tools and Techniques co-authored by Murali Chematuri and myself and published by J. Ross Publishing. We have received unsolicited reviews like the following: “This book will prove that software projects should not be a tedious process, neither for you or your team.” Support SPaMCAST by buying the book here. Available in English and Chinese.

Mind maps can be useful for note taking.

Mind maps can be useful for note taking.

Mind mapping is a technique for mapping information. A basic mind map typically emanates from a central topic with subdivisions branching out from that topic. The process for mind mapping has few basic rules and suggestions for constructing and formatting mind maps, which makes them highly flexible. Mind maps have a wide variety of uses based on one central theme: learning. The uses of mind maps include:

  1. Note taking: Most lectures tend to follow a more linear outline with relationships and linkages between topics inferred. Standard note taking is generally a reflection of how the lecturer thinks rather than how the note taker thinks. Mind mapping helps the note taker to capture the branches of the topic and then to visualize the linkages. Structuring notes based on how the note taker thinks makes memory recollection easier. Note: I occasionally use this technique to restructure standard notes as a means reinforce my memory.
  2. Planning: Few plans are linear. Mind maps are useful tools for planning and visualizing program-level backlogs. The branching attributes of the map provide a tool to show how functionality breaks down and then visualize the linkages (dependencies) between the entries. While every story should be independent, story and task independence is generally a goal rather than a fait accompli in many organizations. A second use for mind maps in the planning category is as a tool to capture sprint planning results. The sprint goal serves as the central theme with stories radiating from the theme. Activities and task branch from stories. Relationships can be added to show predecessors and successors (or as a trigger for re-planning).
  3. Research: Using a mind map a tool in research is very similar to how mind mapping is used in note taking, with a few subtle differences.  The first is that the mind mapper is generally gathering data from multiple sources while looking for gaps or unnoticed relationships as data is acquired. I often use mind maps as tools for gathering and reorganizing information that I collect (the ability to reorganize data is a strength for most tool-based mind mapping solutions). Many tools support clipping URLs and information for bibliographical entries.       The real power of using mind maps as a research tool is the ability to visualize the data collected, which generally makes gaps obvious and can be useful when looking for relationships between branches of the research.
  4. Presentation Tool: In the entry Mind Mapping: An Introduction, I recounted the story of Ed Yourdon using a mind map to direct his presentation. I have developed mind maps as a precursor to building a classic PowerPoint presentation. When developing or giving a presentation from a mind map, the flow of information reflects how you have visualized and reflected it on the map.
  5. Organizing thoughts: This is my favorite use for a mind map. I begin the organization process by generating my central theme and then using the theme as a hub add each separate item I can think of based on that theme. I generally do this on paper without worrying about spelling or whether one or two items are duplicates. The goal is get everything that is known around the central theme. A starburst pattern will be generated. A simple example:

1Untitled

Once the starburst is created the map can be mined to establish major subdivisions and to indicate area where more research is needed. Walk through each entry and gather related items together. From the items you gather together, the name of the subdivision will emerge. For example, in our mind mapping mind map, when I gathered note taking, planning, research and other together the major subdivision titled “Uses” emerged.

2Untitled

Every Daily Process Thought essay begins using this type of mind map. Many people use the term brainstorming for this type of mind mapping activity.

Mind maps are tools for visualizing data. Seeing your thoughts put into patterns that represent how you think makes it easier to remember the ideas and concepts being mapped. Mind maps also help the mapper see gaps in the data or to jog creative thoughts by exposing relationships that do not jump out when processed linearly. Mind mapping is an extremely flexible tool, therefore there are an enormous number of uses. There is a saying that “if the only tool you have is a hammer, everything will look like a nail.” Given the varied number of uses for mind maps, perhaps they might be an information-visualization Swiss Army knife.

 

These are suggestions, not law.

These are suggestions, not law.

Mind mapping is a technique for mapping information using color, pictures, symbols and, most importantly, a branching structure emanating from a central concept. Tony Buzan in his book, The Mind Map Book, adds four characteristics to the definition that further define mind maps. They are:

  • The topic is the central image
  • Main themes radiate from the center
  • Branches are represented by a key image or word
  • Branches are connected

I would add a fifth characteristic. Topics that are less important tend to be placed farther from the center image.

These five characteristics can be mined for rules to draw a mind map.

  • Use images.  Images engage visual and linguistic learning styles which encourage memory. Buzan suggests that the central image should be an image. When hand drawn, the use of an image provides a strong anchor for the mind map. Drawing the image adds another layer of involvement in the map through physical drawing.
  • Use single words or a short phrase when you can’t use images. When using phrases make them as short as possible.
  • Color can provide added meaning to the images and words.  For example, use of the color red conveys danger or urgency (depending on context) while green tend to portray growth.  Frankly, I am colorblind (pretty close to total), so I use color sparingly as combinations I find pleasing, but others find befuddling (that is why plaid is my favorite color – think about it). Use color to draw attention, show linkage between items or highlight items that are helpful to you. While some think of mind maps as art, I think they are a tool that just happens to look cool.
  • Weighting can be used to show the relative importance of each topic. Two types of weighting can be used.  Varying font or image size is one way to convey importance. The larger the font the more important the entry. Second, the mind mapper can vary the width of the branch. This form of weighting can be difficult or unavailable if you are using a computer-based tool for mind mapping.  The goal of weighting is to draw attention to specific features to increase memory retention or to increase readability.  Remember not all entries or subdivisions are created equal.

Here is an example of the use of images, words, colors and weighting.

1Untitled

  • Crosslinking is a way to show relationships between items that are not within the same branch.  For example in the figure below, a relationship is shown between the categories of processes and common problems.2Untitled

Linkages allow the mind mapper to layer in nuances that might not be observable without repeating entries.

I consider these rules to be important, but not absolute.  I have created many mind maps whose branches include links to websites or whole paragraphs of notes.  I broke the “rules” because breaking them provided more value to me than not breaking them.  The only two hard and fast rules are:

  1. The core topic and branch structure.
  2. All the other rules are guidelines.

The rules and guidelines for mind mapping exist to help the mind mapper get the most value from the map possible.  The map should engage as many senses and learning styles as possible to get the job done.  Tomorrow we tackle different uses of mind maps.

A mind map can follow a tree or a starburst pattern.

A mind map can follow a tree or a starburst pattern.

Mind mapping is a technique for mapping information using color, pictures, symbols and, most importantly, a branching structure emanating from a central concept. Mind maps are built using a fairly standard set of practices.  I will walk through two of the basic patterns used to construct mind maps.

The basic process flow for all mind maps is:

  1. Draw a circle in the middle of a piece of paper and with the theme in the bubble.  The theme is generally a word or phrase that will be used to guide the building of the mind map.  For example, the central theme for this week’s essays is “mind mapping” and for last week was “Agile success factors.”
  2. Add branches beginning from central theme. Depending on the type of mind map, most are either developed down the major branches or in more of a starburst pattern, if you area using brainstorming techniques. Developing mind maps is generally an iterative process.
  3. Refine the mind map. After completing the initial mind map walk through the major and minor subdivisions (the breakdown of major to minor subdivisions gives mind maps their classic tree structure) to determine whether topics should be rearranged or whether there are gaps that need to be filled.  Refining a mind map is also typically an iterative process.

The basic process can be leveraged with minor tweaking for many different types of mind maps. Here is an example of a topic-driven mind map:

  1. Draw the topic circle in the middle of the paper. Before you commit to a topic for the mind map think carefully about where the topic might drive you.  For example, if I choose the topic of “mind maps” rather than “mind mapping” the subtle difference in wording could have cause the focus to shift from how to mind map to what is mind mapping.Untitled1
  2. Based on the central theme identify the major subdivisions or subcategories.  For example:Untitled2

In many cases the person building the mind map will have a general understanding of the major subdivisions, therefore listing the subdivisions makes sense. Where you are less sure I would let the subdivisions emerge using the starburst or shotgun method of developing a mind map (read more about that here). Regardless of technique, do not be afraid to add, change or delete subdivisions as you learn more or a better structure suggests itself.

  1. Break down the major subdivisions to the relevant level of detail.  For example:Untitled3

Brainstorming is a good process to jumpstart breaking subdivisions down. When using this process for mind mapping, I generally begin with a bit of research to prime the pump and focus, followed by brainstorming to drive out details and then more research to fill in the gaps.

Drawing a topic-driven mind is generally where new mind mappers begin. A topic-based approach provides structure to guide building a mind map. The one downside I have experienced with beginning with topic-driven mind maps is that the assumption of major subcategories can be constraining (similar to an anchor bias). Generating a mind map in a group session that includes diversity of thought is one way to avoid constraints and to leverage mind maps to help think out the linear box.

A mind map on mind maps

A mind map on mind maps

A number of years ago I was the chair of the IFPUG Conference Committee.  Finding a keynote speaker that had the gravitas to fill seats and that would challenge the audience(on a budget) was a difficult chore. I had been pursuing Ed Yourdon for a few years, however he was too expensive. In 2002 my annual begging and the weak conference market convinced Ed to give IFPUG a break so we could afford him. A few weeks before the conference Ed announced that he would not be providing a set of PowerPoint slides, but rather would be using something called a mind map. I think I considered calling in sick to the conference I was so worried by the approach.  In retrospect Ed’s use of mind mapping represented one of those life-changing moments.

Mind mapping is a technique for mapping information using color, pictures, symbols and most importantly a branching structure emanating from a central concept. The technique and term mind mapping were popularized by Tony Buzan in 1974. Mind mapping includes and leverages ideas and techniques from other problem-solving techniques and concepts, such as radiant thinking and general semantics.

Mind mapping lets you organize your thoughts in a non-linear manner that allows you to see the whole picture at once and the relationships between the components of the map. According to Buzan, outlining, one of the most popular technique for gathering and organizing information, forces users into a top-to-bottom, left-to-right view of the data. Outlining by its nature can impart a deterministic view of the topic being studied (a form of cognitive bias). The popular psychology promoted by Buzan suggests that mind mapping by using words, color, pictures and symbols engages more parts of the mind. In Learning Styles and Teams we discussed the Seven Learning Styles model. Each style absorbs and processes information differently, but while everyone has a predominant style of learning they also are influenced by other styles. The use multiple techniques to gather, organize and convey information engages multiple learning styles therefore we would expect mind mapping to be useful to a broad range of learners.

Mind maps have a few drawbacks. I have observed that some people are (or are trained to be) very linear thinkers. The non-linear approach of a mind map does not work well for linear thinkers.  Note these types of thinkers will also generally have trouble with techniques like affinity diagramming. If you are linear thinker, feel free to experiment with mind mapping but remember that you always have the classic outlining techniques to fall back upon. A second drawback is that since when you draw a mind map the map is a reflection of how you think. In many cases this means the resulting map will be difficult for others to interpret. If a group is going to use the mind map to plan work (one use for a mind map), I strongly suggest building the map as a group effort.

The branching, tree-like structure of a mind map presents a central concept at the center of the map with major topics radiating from that topic. The map continues to branch out to the level of granularity that is important to the person drawing the map. A mind map allows the user to organize and visualize information so it can be consumed both at a big picture level and then drill down to a granular level in a manner that exposes relationships and engages the senses.