Monday 6 December 2021

How Flowchart can make process easier to resolve complex issues

In the recent company process re-engineering project is set against the backdrop of combing and refactoring all the business process functions in the company's existing internal systems to address most of the historical confusion and increase scalability. 

The system consists of two erp systems and a crm system and some independent tools, including sales, operations, marketing, finance, personnel, customer management and other modules.

In the process of advancing the work, constantly encountered a large number of problems and efforts to solve, this time mainly talk about a system due to the complexity of the impact of concept design and communication issues. 


Because the system itself is large and complex, and the design needs to coordinate communication between a large number of department heads and project stakeholders, and their understanding of software engineering or organizational systems is uneven, it is difficult to communicate on the concept of unity, especially at the business level to the development level of the gap, really caused me a lot of confusion.

Problem analysis


After careful examination, the following hypotheses are proposed based on ease of comprehension and workflow rationality:

  • for business units, pay more attention to what they see from their own point of view, and may even completely ignore the workflows of other departments that are relevant to their work. for example, a salesperson might not care how the finance person approves the receipt of funds, but only about getting their performance right away from completing the contracted sale. on the contrary, the financial staff is more concerned that the information of the arrival of funds must be firmly matched to confirm themselves so as to sacrifice the delay in time.
  • abstract conceptual representations are not easy for everyone to understand. these graphic abstractions make us comfortable with design, but they are difficult for some untrained non-professionals to accept.
  • there is a serious disconnect between business concepts and system concepts. for example, in a real business process that requires review by business managers, the concept within the system is customer service audit. many similar functions are so disconnected from concepts that business people are familiar with only a few commonly used features.
  • my own underestimation of the complexity of the system did not completely exhaust all the relevant processes within the system. the only document that takes over this is the code, and the complex systems that are riddled with historical legacies, are really just too bad to bury themselves in the pit.
  • and one of the first points from the perspective of solving real problems is suitable for the introduction of systematic thinking, the third point is the project at the beginning of the clear need to solve the problem, the fourth point is only to reduce my sense of self-efficacy this one useful.


So this article will start mainly from the second question, and introduce the first point of the problem's influence factors, record my thinking, logic and solutions. that is, how to standardize the design process and describe expressions that are easier for all stakeholders to understand.

(I don't talk about why i chose to express it in graphic form, i think information visualization is the most balanced way to communicate in terms of difficulty and comprehensibility in production.) )

The problem study

First familiar with the usual several ways of drawing, flowcharts, lane diagrams, time series diagrams, use case diagrams, prototype diagrams, but the following diagrams do not follow the rigorous uml way of mapping (now even development does not need strict uml? ), for reference purposes only. well, start analyzing the pros and cons one by one and study the problem carefully.

Flow chart

  • Pros: logic, clear concept, and easy to do particle control.
  • Disadvantages: more expression of the system's behavior, more neglect of the role of personnel and the interaction of the system, the actual mapping is more biased towards the development side of expression, cross-departmental communication is not friendly enough;

swim way map


A more complete description of the process, equivalent to adding roles to a normal flowchart that demonstrates all the interactions involving modules, and a visual sense of all the behavior within a particular lane.


When the system is higher than complex, the graph is extremely complex, the readability is very poor, and the information display method is not intuitive enough, and does not match the general cognitive habits.

The time series chart


Can be said to be very fine, and can even fully express the details of the system of the smallest behavior, not only can represent the sequence of behavior, but also at the data level to represent the way the network request. to reach a picture without explanation of the situation, can be counted as an upgraded version of the swim lane map.


In my current experience, this kind of diagram if the development of students do not need to be useless, because it is poor readability, and particle size is very fine when there is also the problem of information overload, when involving callbacks and synchronous asynchronous problems need more professional reading skills, increase communication costs, it is better to let the development students handle the design themselves.

Use case diagram


The benefits are easy to understand, especially when traversing single-role tasks, and easy to layer by granularity.


In the concept design is easy to ignore the whole, process integrity is difficult to intuitively feel. in addition to a single role to do mace analysis is more useful, the rest is not very useful, after all, test students will handle their own use cases

Prototype diagram


This should be everyone's favorite picture, many benefits, both intuitive, but also a good display of functions, but also can do interactive marking. according to particle degree can be divided into low guarantee high fidelity, low guarantee easy to communicate, high fidelity convenient user testing.


Prototype diagram is already very close to the actual development stage, not all projects (not even recommended any projects) are directly to the prototype stage, early thinking and demonstration is very important, prototype is only the results of all previous stages summary, repeated modification of the prototype can easily lead to serious project progress management problems, so direct to the prototype design process is very problematic.

Expression element analysis


  • roles, representing the roles involved in the scene
  • behavior, which represents the action made in the scene
  • data, which represents the flow of information data in a scenario
  • state, which represents a state change caused by a scene
  • interface, which represents what interface and its style are located under the scene


The design stage


Break down several design phases to make it easier to identify the goals at each stage to select the desired scenario.

  • the business concept phase, which focuses on what needs to be done in a real-world business scenario, and the design of business process specifications
  • the functional concept phase focuses on how the product meets the requirements of the business concept, what features need to be designed, and how the functional modules are organized and coordinated
  • interactive prototyping phase, this phase focuses on product implementation of the presentation scenarios, how users operate, how the interface feedback
  • fourth, the solution
  • after a wave of real-world attempts, some of the current more applicable solutions have been drawn. first, make it clear that there is no one way to solve all problems, and this is also to find a balance between readability and integrity.

Business use case diagram


First, in the business concept phase, a diagram that represents all the processes within the system is needed and shows the differences in roles, facilitating cross-departmental communication. the focus is on being simple, quick and easy to understand, and finalizing the scope of all business impacts before starting the design.

Therefore, the use of ordinary flowchart easy to understand the expression, directly introduce the concept of roles, if the chart is too complex, starting from the particle size, and then introduce the "package" and "field" cutting concept is perfect.

The form of an entire diagram

 Adjustable particle behavior and the introduction of role concepts, is really and the concept of weak thinking students to communicate the sharp instrument, but also convenient for the whole system architecture of thinking, because reasonable cut / increase particle size, the support for large amounts of information is very friendly.

The first half of the example diagram was intercepted by me, which is actually an entire business process diagram that represents all the major business processes. some additional concepts can also be expressed in the form of small labels. for example, a small purple icon in my legend indicates that the operation allows the sales pone to assist the customer in completing the operation.

Slicing introduces the form of a collection

Due to system size limitations, it may be necessary to subdivide task graininess and, where appropriate, increase the segmentation phase. try to use ideas like ddd domain segmentation to divide complex systems into stand-alone systems, concepts, or process packaging to simplify the problem of excessive information when designing from the top down.

Encapsulate the "user first enter" process and reference it directly in other processes for overall management. To what extent can the process be simplified? see figure below

Is it too easy?

Data status map

Secondly, we need to improve the functional concept stage, we need some better expression of abstract objects, as a tool for product design, supplementary thinking about boundaries and exhaust all possibilities to avoid the appearance of design bug. there are also key changes in grooming status and data.

Behavioral data graph

How does the data come about? by some kind of behavior, causing a change somewhere, generating data. so the figure shows "place" (page), "behavior" (action), "data item" (input and output).

Fearing interfering with the idea of developing student database design and selecting data storage scheme, a "data storage/recording" concept set is adopted to represent the collected data collection. if you need to represent additional limits on a data item, you can include parentheses after the data item, for example: version 1-1 (maximum number of characters 25, disable state).


Surface interaction is the interaction that the user can feel, and the underlying interaction is the internal interaction of the system that the user does not feel, mainly because sometimes the node triggered by the underlying interaction is inconsistent with the surface interaction trigger node (the system always silently does more behind the scenes).

The status map

The status within the parenthesis "(-) " indicates the status corresponding to the status of the foreground presentation, and the content at the "

Interactive prototype


Finally, in the interactive prototyping phase, a diagram representing the elements of the interface is needed to demonstrate functionality and introduce interactive expression, which is familiar and less said.




When designing systems that are too complex, it is easier to build a reasonable system by designing them from top to bottom. a good way to move the project forward steadily is to segment the task phase, phase confirmation and phased design (a bit like the ci/cd concept?).


Multi-layered confirmation and detailed communication will not be bad, so that partners understand that "business first" and "collective participation" will make the design more stable and test-tolerant.

Content comes from personal thinking, or biased, or inadequate, expect your communication, which will allow us to progress together.

No comments:

Post a Comment