Project FLOW is concerned with the characterisitics, modelling, analysis, and optimization of information flows in software development. A fundamental feature of FLOW is the distinction between fluid and solid information stores and flows.
- The FLOW Project
- 1. Motivation
- 2. Basic Concepts
- 3. The FLOW Method
- FLOW References
The FLOW Project
|Name||Information Flow Optimization for Software Projects, short InfoFLOW|
|Duration||3 years, Nov. 2008 to Oct. 2011|
|Sponsor||Deutsche Forschungsgemeinschaft (DFG), Fundamental Research Project|
|Project Manager||Kai Stapel|
|Contact||Kurt Schneider and Kai Stapel|
Software development can be problematic despite of mature processes. Projects are delayed or even fail entirely. Required documents are not created due to time pressure. The specified process is not being followed. The promising agile methods cannot or can hardly be combined with the heavy-weight processes. What can be done to facilitate the strengths of both sides?
Information is the basis for all development activities. Because, no matter what the development style is, whether it is a document centric process or an agile method like eXtreme Programming, information has to be transferred from the customer to the final software product. Hence, information and their flow in software development projects are the basis of our research in project FLOW.
2. Basic Concepts
FLOW concentrates on characteristics, modelling, analysis, and optimization of information flows.
|FLOW is the systematic research on information flows in software development.|
FLOW research is based on a few fundamental assumptions, that were derived from industrial experience:
- Information flows link document centric and communication intensive approaches.
- Content is being modelled on a coarse level.
- Experience is a special kind of information, which is of important value in software development.
- Models are the base for discussions and therefore have to be as simple as possible and as complex as needed.
- Information has a state.
2.1. Metaphor of the State of Information
An essential concept of FLOW is the distinction between solid and fluid information and the respective flows. The metaphor is used so the main characteristics of information flows can be discerned.
|Information is solid when it is (1) long term accessible, (2) repeatable, and (3) comprehensible by third parties*.|
* Third parties do not have to be arbitrary persons, but can be e. g. from the same domain or project.
|Information is fluid when it is not solid.|
That means that information is fluid whenever one of the solid characteristics is not met.
The following table lists characteristics of solid and fluid information along with typical examples of information stores.
** Directly derived from the definition of solid.
2.2. Graphical Notation
The FLOW notation was developed based on the basic concepts and the information state metaphor. It allows to intuitively illustrate the fundamental aspects of FLOW, in particular the distinction between solid and fluid. Essentially, there are symbols for solid and fluid informations stores and corresponding arrow types for information flows. A symbol for activities complements the notation. It allows to incorporate FLOW models with existing process models like EPCs or UML activity diagrams.
|State of Information||Store||Flow||Activity|
<Type of Document>
<Type of Information>
<Type of Information>
The document symbol represents a solid information store. It was chosen because a document is the most prominent representative of solid information stores in software development. A set of documents (of the same type) is depicted by a triple document. Information flows originating from a solid store are themselves solid. They are depicted by an arrow with a solid line.
A smiley symbol represents a fluid information store. It was chosen because fluid information is always bound to people. A group of persons is depicted by a triple smiley. If it is necessary to distinguish between roles and individuals different caption styles can be used, i. e. an underlined caption for roles and a regular one for individuals (for example: "Johnson" as opposed to "Analyst"). Information flows originating from a fluid store are themselves fluid. They are depicted by an arrow with a dashed line.
In software development experience is an extraordinary valuable type of information. Therefore, FLOW has an explicit means to depict it. Usually a different color for stores and flows is used. For black and white printouts the "color" gray should be used.
In FLOW models the activity symbol has two functions:
- It subsumes information stores and other activities and hides them. Hence, it facilitates hierarchical structured FLOW models. Incoming and outgoing flows, the so called FLOW interface , have to be consistent with the underlying detailed (subsumed) model.
- It is used to connect FLOW models to process notations. By this aspects of information flows can be integrated in existing process models.
To depict the difference of information flows that are involved in an activity with regards to content and controlling flows, the flows can be attached to the activity symbol from different sides. Information that controls an activity is connected on top or bottom of the activity symbol. Information that controls something usually is experience. Information that is being or was altered and tranformed in the activity is connected from left or right.
Alternatively, the activity symbol can be used according to IDEF0. There are four connecting points for flows then:
ProFLOW () is the graphical modelling tool for FLOW. It facilitates creation and editing of FLOW models and process models supplemented by FLOW elements. ProFLOW was designed to be an easily extensible modelling framework, so new notations can be tried out with low effort. All new notations can be enriched with FLOW aspects. At the moment EPCs and UML Activity Diagrams are supported. You can download ProFLOW and give it a try on the ProFLOW Website ( in German).
ProFLOW Website: /pages/de:projekte_flow_proflow ( in German)
ProFLOW Development Site: https://trac.se.uni-hannover.de/trac/proflow ( in German)
2.4. Simulation of Information Flows
In the software project course of 2007/2008 students built a simulation game for software development using the software quantum metaphor to simulate and visualize information flow . Are you a good project manager? Then play the game and enter the highscore.
3. The FLOW Method
A description of the FLOW method will be published here soon.