Abstract
Several large companies have conducted initiatives for systematic learning from experience in software engineering. In the international Software Experience Center (SEC), for example, five companies exchanged experiences and collaborated in building experience exchange mechanisms to be used within each company. Many insights were gained and lessons were learned over the years, among them: (1) Written and documented experiences are the exception rather than the rule. (2) Although not documented in detail or controlled by a process, experience needs guidance and support in order to reach the designated person or group. The “flow” of experience must be kept in mind. (3) Experience is a delicate material, and any avoidable effort or threshold to participate in systematic experience exploitation may endanger stakeholder participation and success. (4) Tools can effectively be built to support orderly flow of experience, but they must be optimized for cognitive support of their users. These lessons learned from supporting experience exploitation can be applied to software projects more generally: Requirements, rationale, and other information flowing through a software project resemble experience with respect to the above-mentioned characteristics: They are often communicated orally rather than in a document. There are diverse processes and practices designed to channel information flow. Early and vague requirements must be handled with care, and tools need to be optimized to reduce cognitive barriers and thresholds, or they will not be accepted. A focus on information and experience flow takes the above-mentioned lessons into account. Information flows within one project, while experience often cuts across several projects. Requirements of one project are useful only in that same project. Experience in designing a product, however, may be reused in subsequent projects. Information and experience flows need to be modelled explicitly. A simple notation is proposed to capture just the essence of flowing information. What may seem like a subtle shift from processes to flows offers a new perspective: Based on those models, dedicated techniques and tools can be developed for analysing and for improving the flows. A wide range of current trends in software engineering can benefit from a better understanding of – and support for – appropriate information flow: Interfaces to the subcontractors, distributed and collaborative teams, Wiki webs, and a variety of new communication channels in global software engineering call for a focus on information flow.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schneider, K. (2008). Supporting Experience and Information Flow in Software Projects. In: Jedlitschka, A., Salo, O. (eds) Product-Focused Software Process Improvement. PROFES 2008. Lecture Notes in Computer Science, vol 5089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69566-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-69566-0_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69564-6
Online ISBN: 978-3-540-69566-0
eBook Packages: Computer ScienceComputer Science (R0)