donderdag 26 augustus 2010

Business process improvement using state diagrams

Over the last 10 years I became increasingly more interested in visualization of behavior and 'way of working'. I was focusing on process efficiency and quality, and I noticed that quite some organizations don't actually know how good or bad their processes run. They have a flow chart, a tool and are used to how the process works, including its workarounds and caveats.

The typical business process flowchart is focusing on descriptive text and RACIVS tables (Responsible, Accountable, Consulted, Informed, Verified, Sign off). Digging somewhat deeper in the process and checking the interaction of the users with the process flow, I noticed that moreover there was a lack of visibility of the process flow. Typically and largely a result of project focus on delivery, not on support/documentation. Users had to work with either the high level BPM diagrams or the application UML data diagrams.

One day we had to link our content management system to the customer relationship management system in order to pipe incentive and marketing data/feedback to the correct systems. It seemed an easy task and on the technical level it was, but still the CRM managers were not satisfied with the speed at which updates were delivered. None of the existing systems had been changed and all individual processes worked as usual so what went wrong?

Essentially, the connection between the systems and the visibility we got from the new department heads re-surfaced some existing issues we hadn't really fixed in the past. Some systems needed manual follow-up during batch processing of tasks so we timed those processes to run during working hours, having the IT staff readily available to monitor progress. Over time the systems were tweaked, performance and stability improved significantly but as usual, running projects had main focus so no one considered retiming the data pipeline for efficiency.

This is where I come in :-) In an effort to properly document the systems under my control and better understand the systems that we were feeding to, I started working on a data state diagram. None of the process management methods I knew covered what I needed to analyze so I used a Petri Net Diagram approach as a basis. My trigger came from my brother who is a Biochemical Engineer and overall smart ass. He once explained the state diagram approach to me and I tweaked it to fit my needs.

Basically a state diagram has 2 components:

  • State visualized by a circle
  • Action visualized by a rectangle

Here is a simple example showing the step of validating data, which needs to have the data available for validation and which will result in validated data.

SimpleDiagram.png

 

Remember that I don't care about who owns the data or system, I just want to increase efficiency of the throughput to satisfy my customer.  So I need to add the test scenario to the diagram as this could be a potential bottleneck in my throughput:

Screen shot 2010-08-27 at 1.28.34 AM.png

 

Nothing too spectacular here and although it provides me more insight in the system's complexity and dependencies, it will not really help me solve my problem.  The single most important thing that helped me identify the true bottlenecks and focus the developer's efforts was the step where I added timing.  The timing dependencies turned out to be crucial for optimal efficiency and we were able to derive the timing data from the obvious sources like existing Business Process Diagrams, overall Working Hours and Cron batch scripts.

Timing can exist of many features but for my purposes I required to know:

  • process absolute start (e.g. working hours, batch process kick off...)
  • process nature: automated vs manual
  • process run time

Having this information enabled me to run different scenarios to validate time related bottlenecks and overall it made the throughput time clear to al parties involved, reducing help desk tickets and inquiries tremendously.

TimedProcess.jpg

 

This is merely a small example to convey the concept to you.  Although there are some very powerful business process tools available that could do the trick including the automated scenarios, most of them would require a lot of information to be entered into the process entities before a flow can be generated.  I used Visio to visualize this complete data flow spanning multiple pages (we plotted the diagram on an A1 paper so show the full image).

Even though I have used this simple technique multiple times, the teams involved are every time again surprised about some of the unexpected dependencies that turn out to be the true culprit.  Some seem relatively obvious like working hours, customer feedback process, synchronization timing being daily instead of hourly.  At times I stumbled upon indirect timing dependencies like daily scheduled IT maintenance by other teams killing the network bandwidth...

 

 

 

Concept mapping to deepen project/product requirements Part 2

This is the second part of my blog on concept mapping and I will provide some details on how I have used concept maps to my advantage.

Constructing Good Concept Maps

1. Identify context: Concept map structures are dependent on the context in which they will be used and a good way to define the context for a concept map is to construct a Focus Question, that is, a question that clearly specifies the problem or issue the concept map should help to resolve. Every concept map responds to a focus question, and a good focus question can lead to a much richer concept map. These questions are maybe less important when the outcome is meant a overall documentation but e.g. "What external factors can we influence to enable a better product execution?" could lead to more insight in financial, environmental, logistical... factors that influence your customer/project.
2. Brainstorm concepts: The next step is to identify the key concepts that apply to your subject. Usually 15 to 25 concepts will suffice but make sure you keep them as concise as possible.
3. Sort concepts: These concepts should be ranked from the most general, most inclusive concept, for this particular problem or situation at the top of the list, to the most specific, least general concept at the bottom of the list. Although this rank order may be only approximate, it helps to begin the process of map construction.
4. Start connecting: You can now build a preliminary concept map and move these concepts into the map as you determine where they fit in. Some concepts may remain in the "parking lot" as the map is completed if you see no good connection for these with other concepts in the map.
5. Iterate and revise: It is important to recognize that a concept map is never finished. After a preliminary map is constructed, it is always necessary to revise this map. Other concepts can be added. Good maps usually result from three to many revisions. This is one reason why using computer software is helpful. After a preliminary map is constructed, cross-links should be sought. Cross-links are links between concepts in different segments or domains of knowledge on the map that help to illustrate how these domains are related to one another. Cross-links are key to provide insight in the relationships between the sub-domains in the map.

Concept mapping tools.

Concept maps are graphical by nature but PLEASE don't use Powerpoint or Visio as these office tools will require you to draw the graphics first and add the text later. Essentially they will bog you down and make you lose focus.
Concept mapping can be done by writing all of the concepts on Post-its(TM) and putting them on a white board or on butcher paper to move concepts around easily. I prefer using a tool like the FREE IHMC CmapTools [1] computer software program. Easy concept replacement is necessary during the initial process of building a good hierarchical organization and CmapTools allows me to move the concepts or groups of concepts together with linking statements to restructure the map. When CmapTools is used in conjunction with a computer projector, two or more individuals can easily collaborate in building a concept map and see changes as they progress in their work. CmapTools also allows for collaboration between individuals in the same room or anywhere in the world, and the maps can be built synchronously or asynchronously, depending on the mapmakers’ schedules.
CmapTools
Amongst its many superb features, CmapTools supports the possibility to link files, urls and other Cmaps to a concept (see icons at the concepts in above picture). The look and feel of the map is editable and making a concept map is just about automated: most mapping effort is click and drag. See the youtube movie for a first glance (click on picture).
CmapTools also has a life saver feature called 'Nesting nodes' that enables me to group closely related concepts into 1 box (can be clicked to 'close' or 'open'). Especially for documentation purposes this is an extremely interesting feature as the base concept map can be saved with nesting 'closed', making the overall story easier to grasp.

Nesting.jpg

Some tips and pitfalls

1. Although concept mapping will become easier with practice, never forget your own first steps as you are presenting the method to your colleagues. Not everyone can easily handle the 'meaningful linking structure' of concept mapping. Some people have a more linear way of thinking and will require more coaching. Others will require more assistance in the way they define the concepts.  Take some time browsing the web for supporting resources that explain how to get started with concept maps.  This information will provide sufficient triggers for an information briefing/session in which you can reveal the method, its benefits and use.
2. It is important to keep in mind that all concepts are in some way related to one another. Therefore, it is necessary to be selective in identifying cross-links, and to be as precise as possible in identifying linking words that connect concepts. In addition, one should avoid “sentences in the boxes”, that is, full sentences used as concepts, since this usually indicates that a whole subsection of the map could be constructed from the statement in the box.
3. Although the digital canvas is endless, make sure that the concept map will fit with readable font size on a piece of paper supported by your printer. For most concept maps related to building understanding of a 'limited topic' this should not post much of a problem. For concept maps that are destined as documentation, you could embed the following features:
  • nesting of concepts
  • linking to documents, web sites or other concept maps containing more detail or linking main conceptual elements of your map to their same level siblings in other maps.
  • use of a 'table of content' concept map that has each concept link to a sub-map much like a chapter in a book.
Finally, next to CmapTools you will for sure find other tools for concept mapping like Inspiration, Compendium,... on the web. The choice is not unlimited but you will hugely benefit from a concept mapping specific tool as the workflow is distinctly different than e.g. mind mapping. The 'other' tools lack the supporting workflow, often force you into a mind mapping mode and will be very inefficient in solving the graphic stuff for you. After all, you want to document the concepts, not design a fancy graphical chart. So go and download [2] Cmaptools for Windows, OSX, Linux or Solaris and check the videos on their web site [3] and on YouTube [4].

Happy mapping, let me know how it goes!

[1] http://cmap.ihmc.us
[2] http://cmap.ihmc.us/download
[3] http://cmap.ihmc.us/Support/Help
[4] http://www.youtube.com/results?search_query=cmaptools&aq=f

Concept mapping to deepen project/product requirements Part 1

What does it mean when you say: "I understand"? Does it mean the same thing to you as it does to your customer or supplier? Wouldn't it be great if there was a way to demonstrate your understanding? Is there a way to get an inventory of the topics you need more information on?
(and obviously there is as this would otherwise be a very small blog entry)

A concept map presents the relationships among a set of connected concepts and ideas.

Constructing a concept map provides a way to exposedemonstratereflect onenhance and share your understanding.  It is a tangible way to display how your mind "sees" a particular topic. By constructing a concept map, you reflect on what you know and what you don't know. In a Concept Map, the concepts, usually represented by single words enclosed in a rectangle (box), are connected to other concept boxes by arrows. A word or brief phrase, written by the arrow, defines the relationship between the connected concepts. Major concept boxes will have lines to and from several other concept boxes generating a network. This concept network could span multiple concept maps, linking them together.

Do not mistake Concept Mapping for Mind Mapping!

  • Mind mapping is a graphical technique used to explore ONE central key word or idea. It uses a radial hierarchy and tree structures to denote relationships with the central governing concept.
MindManager Screenshot
  • Concept mapping provides insight and understanding as it connects MULTIPLE ideas with their documented relationships.
About Cmaps-small

Why use concept mapping?

The main reason I use concept maps is quick access, easy edits and smooth browsing of my information. The concept map works like an offline brain dump: the key elements of information with their specific relationships to each other are easily available and I can add new information or change existing information on the fly, ensuring that my concept map truly reflects my latest level of understanding.
This setup also works in teams where the digital concept map is available to add and detail information. No more fiddling with word processors and lengthy text as if you're writing an essay, just add the essential blocks of information and share with the team in an instant.  Concept mapping is - next to state diagrams [1] - my favorite knowledge visualization method. I have used it for
  • documenting project and product details for internal and external partners
  • gathering sufficient understanding of requirements and their influences on the whole
  • capturing team knowledge
  • online reference
  • jotting down and analyzing new processes and production scenarios
Concept mapping earns itself back in an extreme short period of time:
  • Time: Putting the information to file does not require extensive writing skills and does not force you to use a graphics application.  This will definitely save precious time.
  • Quality: Most projects I ran did not have a technical writer on the team so the customer wanted the programmers to document as they worked. Big mistake! Programmers write code, not English. They comment instead of document and they will detail what THEY see fit at that particular point in time. The 'documentation' will become part of the code base or will be so cluttered with screenshots and code snippets that no one will be able to mold it into something usable.
  • Budget: In one year's time, the project team will have moved on and the new hires will not be able to fully comprehend WHY stuff was coded in a certain way.  Ever tried to figure out how much time is invested by new team members to get a basic understanding of WHY stuff is done the way it is done? What time are they spending asking your senior members which are even more expensive and whose work is on the critical path?
If you feel at this point that you have no use for concept mapping, rejoice as you have reached the end of the blog.  Thanks for sticking with me!  On the oher hand, if you want to know more about concept mapping, feel free to read part 2 of this blog here.
[1] See my upcoming blog on BPM with state diagrams here

zondag 8 augustus 2010

It's been a while ...

since my initial (and last) post but I have been busy analyzing my interests to be able to exclude some of them.
You see, I'm basically interested in the world around me from the overall world order algorithms to the individual's way of linking concepts in the brain. Anything that in some way impacts people is of interest to me but as my brain cells are being bombarded with more and more input, I need to step back and start screening, refusing and remapping things.

This self analysis leaves no visible traces (that I can detect) but it does make my heart feel lighter and rejoices my soul :-)
Finally: focus. And the winners are 3D, audio and video, and the way human emotions and behaviors can be triggered by them.

From early on I have been a 3D CGI man and this interest never left me since my thesis on 3D CAD for furniture design in 1989. The way a designer can provide feedback to his customer is a very essential aspect of the collaboration and interactive 3D is about the closest you can get to sharing your brain.

Audio and video are direct enablers of emotional expression and as such interest me a lot. I'm doodling with some concepts for making my own music and in time I will provide more info on this.

I especially like the new media aspects that have rekindled my awe for moving imagery. This was triggered by the launch of Ventuz [1] and advances in VJ software. Some years ago I stumbled across a video of a project called Crystal Mesh by Realities:United [2]. This company focuses on the "architecture's outward communicative capacity" and user experience. They support designers and architects in creating more interactive communication capabilities in architecture, urban planning, interiors... and I am fascinated by the technology, the results and the untapped potential.

Now that my focus is clear, let the blogs begin ...


[1] http://www.ventuz.com
[2] http://www.dezona.com/materials/roof-facade/623-crystal-mesh-by-realitiesunited-woha-architects.html