Research » FLOW
→ 
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.
Goals
Project FLOW was initiated in 2004 when the Software Engineering Group at Leibniz Universität Hannover was founded.
| Definition: FLOW |
| FLOW is the systematic research on information flows
in software development. |
FLOW concentrates on characterisitcs, modelling,
analysis, and optimization of information flows.
The following goals are pursued:
Basic Concepts
FLOW research is based on a few fundamental assumptions, that were derived from the goals goals
and have been proved reasonable in industry:
- 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.
Metaphor of 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.
| Definition: Solid |
| Information is solid when it is (1) long term accessible, (2) repeatable, and
(3) comprehensible by third parties*. |
| Definition: Fluid |
| 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.
| State of Information | Characteristic | Example Store |
| Solid |
- Storage costs time and effort
- Access costs time and effort
- Access is repeatable**
- Long-term accessible**
- Third parties can understand it**
- Information can not be lost or forgotton
- Context for interpretataion can be attached, at least to a certain level.
|
- Document (paper based and electronic)
- Audio-/Video recordings
- Screencasts
- Source code
|
| Fluid |
"What someone has in mind."
Fluid information is bound to peoples (previdous) knowledge, the so called context.
Information cannot be interpreted correctly without the appropriate context, thus, it cannot be understood.
- Can be lost (forgotten context) or forgotten
- Cannot be obtained or reproduced by third parties. The right contet for interpretation is needed.
- Fast, efficient transfer of information possible
|
- People
- Informal e-mails
- Text chat protocols
- Memos, note sheets
- Notes on whiteboards
|
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 |
| | 1 | 2..n | Project infos | Experiences | |
| Solid |
 <Document> |
 <Type of Document> |
 <Type of Information> (optional) |
 <Experience> (optional) |
 |
| Fluid |
 <Person> |
 <Group> |
 <Type of Information> (optional) |
 <Experience> (optinoal) |
Solid
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.
Fluid
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.
Experience
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.
Activity
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 [3], 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:
 |
- From left all information that is being processed in the activity is attached.
- Outgoing flows are attached to the right. By default outgoing flows have a solid line. If it is known
that an outgoing flow is fluid it can also be depicted with a dashed line.
- From bottom mechanisms that support the execution of an activity are attached. For example this can be a person that performs
the activity or a tool like a word processor.
- Controoling flows are attached on top of the activity. Examples of controlling flows are experiences in form of checklists or
specialized knowledge of a person. Therefore, control flows in activities are usually depicted in gray.
|
ProFLOW
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: http://www.se.uni-hannover.de/forschung/flow/proflow/ (
in German)
ProFLOW Development Site: https://locke.se.uni-hannover.de/trac/proflow (
in German)
ProFLOW Updatesite: http://www.se.uni-hannover.de/forschung/flow/proflow/
References
-
Kurt Schneider: LIDs: A Light-Weight Approach to Experience Elicitation and Reuse.
PROFES 2000, Oulu, Finland,
2000. BibTex. Abstract.
-
Kurt Schneider: A Descriptive Model of Software Development to Guide Process Improvement.
Conquest 2004,
2004. BibTex. Abstract.
-
Kurt Schneider, Daniel Lübke: Systematic Tailoring of Quality Techniques.
World Congress of Software Quality 2005, Munich, Germany,
2005. BibTex. Abstract.
-
Kurt Schneider, Daniel Lübke, Thomas Flohr: Softwareentwicklung zwischen Disziplin und Schnelligkeit.
Tele Kommunikation Aktuell 05-06 2005,
2005. BibTex. Abstract.
-
Kurt Schneider: Software Process Improvement from a FLOW Perspective.
LSO 2005,
2005. BibTex. Abstract.
-
Kurt Schneider: Vier Formen der Erfahrungsvermittlung im Studium.
SEUH 2005,
2005. BibTex. Abstract.
-
Kurt Schneider: Aggregatzustände von Anforderungen erkennen und nutzen.
GI Softwaretechnik-Trends, Band 26, Heft 1, Februar 2006, ISSN 0720-8928, 22-23,
2006. BibTex. Abstract.
-
Kurt Schneider: Rationale as a By-Product.
Dutoit, A.H.; McCall, R.; Mistrik, I.; Paech, B. (Eds.): Rationale Management in Software Engineering. Springer, Berlin, Heidelberg, 91-109,
2006. BibTex. Abstract.
-
Kurt Schneider: Software Engineering nach Maß mit FLOW.
SQMcongress 2006, Düsseldorf, SQS,
2006. BibTex. Abstract.
-
Eric Knauss, Daniel Lübke, Thomas Flohr: Learning to Tailor Documentation of Software Requirements.
LSO+RE 2006, Hannover, Germany,
2006. BibTex. Abstract.
-
Kurt Schneider, Thao Nguyen: FastFeedback – schnelle Anforderungserhebung mit hoher Ausbeute.
Software Quality Conference (SQC 2007), SQS, Düsseldorf,
2007. BibTex. Abstract.
-
Kai Stapel, Kurt Schneider, Daniel Lübke, Thomas Flohr: Improving an Industrial Reference Process by Information Flow Analysis: A Case Study.
PROFES 2007, Riga, Latvia,
2007. BibTex. Abstract.
-
Kurt Schneider: Generating Fast Feedback in Requirements Elicitation.
Requirements Engineering: Foundation for Software Quality (REFSQ 2007),
2007. BibTex. Abstract.
-
Kurt Schneider, Kai Stapel: Informationsflussanalyse für angemessene Dokumentation und verbesserte Kommunikation.
Software Engineering 2007 (SE 2007), Hamburg, Germany,
2007. BibTex. Abstract.
-
Kai Stapel, Eric Knauss, Christian Allmann: Lightweight Process Documentation: Just Enough Structure in Automotive Pre-Development.
EuroSPI 2008, Dublin, Ireland,
2008. BibTex. Abstract.
-
Kurt Schneider, Kai Stapel, Eric Knauss: Beyond Documents: Visualizing Informal Communication.
Third International Workshop on Requirements Engineering Visualization (REV 08), Barcelona, Spain,
2008. BibTex. Abstract.
-
Eric Knauss, Kurt Schneider, Kai Stapel: A Game for Taking Requirements Engineering More Seriously.
Third International Workshop on Multimedia and Enjoyable Requirements Engineering (MERE 08), Barcelona, Spain,
2008. BibTex. Abstract.
-
Kai Stapel, Eric Knauss, Kurt Schneider: Using FLOW to Improve Communication of Requirements in Globally Distributed Software Projects.
Workshop on Collaboration and Intercultural Issues on Requirements: Communication, Understanding and Softskills (CIRCUS 09), at RE'09, Atlanta, USA,
2009. BibTex. Abstract.