Sometimes the old ways are the best ways, and one of the oldest ways to communicate information about system design and implementation is the data flow diagram. Straightforward and simple to understand, this tool can be helpful in gathering requirements from non-technical users. Here’s an introduction for the uninitiated.
Some modern diagramming systems such as the Unified Modeling Language are so complicated they are not much easier to understand than the source code itself. Certainly some level of training and study is needed before one can take advantage of these complex diagrams.
The data flow diagram is different. It is straightforward enough that little training is needed to comprehend and contribute to one. This makes it extremely helpful for gathering user requirements from non-technical users.
The intuitive nature of the data flow diagram ensures that even the most computer-illiterate user can understand the most “geeky” information flow topics. Just spend a few minutes showing data flow diagrams to users, and you will start to get a rich flow of information about how the system will need to operate in the real world.
Data flow diagrams are also great for deconstructing complex systems with several diagrams. Even the most grandiose organizations can be modeled in data flow diagrams. No matter how much complexity is needed, data flow