by Eric Ras and Jörg Rech
The integration of knowledge management and e-learning has been a frequent topic of discussion in recent years, but the idea has rarely been implemented. The Software Organization Platform (SOP) project is a technology-based approach to bringing the two streams of research closer together. SOP enables software engineers to act as both consumers and producers of information on projects, roles, processes, products, or other learning content. With a focus on the domain of software engineering and by using a semantic Wiki as a technical basis, SOP has recently been made open source.
As a very knowledge-intensive activity, software engineering strongly relies on an individual's competencies and skills. Short innovation cycles in software engineering and the rapid development of new methods and techniques lead to many learning situations in which new knowledge is required to solve the challenges at hand. Typical approaches include formal courses, seminars, and Web-based training, which are used to familiarize software engineers with new technology.
For the professional workforce however, learning has moved away from strict formal learning types towards more informal and collaborative learning and sharing. This Learning 2.0 is characterized by learning at the workplace, interwoven with work processes, related to daily activities, and integrated into available social networks. In addition, the rapid development of semantic Web technology and the availability of collaborative and social software (eg Wikis or blogs) enables the development of semantic work environments with intelligent assistance and offers new possibilities for the technical support of adaptive individual and organizational learning.
Wikis (which have their origin in software engineering) and blogs have been recognized as beneficial tools for knowledge management and group communication in the corporate Enterprise 2.0 world. However, the easy creation, structuring, maintenance, retrieval, dissemination, and understanding of knowledge and experiences still present great challenges.
In the SOP project, we approached these challenges by extending a lightweight knowledge management platform with semantic Web technology and e-learning functionalities. Individual learning in the workplace is supported by a context-aware fusion of previously developed learning content with collaboratively developed documents and experience descriptions from daily work.
The main ideas for SOP emerged from the national project RISE (Reuse In Software Engineering), funded by the German Ministry of Education and Science (BMBF; grant no. 01ISC13D). This research project was concerned with the reuse of software documents in agile software organizations based on ontologies, Wikis and semantic technology. The challenge of RISE was to integrate knowledge management into a software organization in a way that is fun to use and requires only minimal effort. Software developers received assistance in the reuse of requirements, code, information and decisions about the software system they were developing.
With the emergence of semantic Wikis, the ideas and technology developed in RISE were integrated into an internal project at the Fraunhofer Institute for Experimental Software Engineering (IESE), which was named SOP. This project resulted in a technology of the same name - the Software Organization Platform (SOP) - which is based on a semantic Wiki and is shaped to support software organizations. The first industrial applications focused on the phases of requirements engineering, where SOP demonstrated its usefulness especially for stakeholder participation. Thereafter, SOP was adapted for use during the whole software lifecycle and for assisting software engineers in managing their observations and experiences. Currently, we are integrating techniques to enhance experience management processes that support the stepwise aggregation of observations and experiences into software patterns.
SOP has been adapted not only to support the documentation of experiences but also to create learning content from existing Wiki content and to provide so-called learning spaces for context-aware workplace learning. A learning space is intended to enhance experience reuse by following a specific learning goal, and is created based on information about the current context (eg, working task, learning preferences, role, product type, competence profile). The learning space is presented by means of dynamically linked Wiki pages within SOP, which is based on a predefined set of didactical templates for experiential learning. The variations due to the individual context are resolved during run time, ie when a learning space has been requested by an engineer. The creation and annotation of learning content is done by means of a metadata editor in the Wiki and by using concepts of a software engineering domain ontology, which is available in the Web Ontology Language (OWL).
Supporting self-reflective processes in a learning environment could enhance the benefit of the activities performed within it, and provide an opportunity for reviewing previous actions and decisions before proceeding to the next activity. As a consequence, professional practice could be improved. An SOP case study showed that by enabling people to document their observations and experiences, reflection which is the prerequisite for learning from experience is stimulated. In addition, a controlled experiment showed that learning spaces improve experience reuse in terms of understandability and applicability to new situations. In addition, they lead to better knowledge acquisition compared to unstructured experience descriptions.
Fraunhofer Institute for Experimental Software Engineering
Tel: +49 631 6800 2141