WP3: Design of SPINT SMEs Knowledge Base
Duration: M9 – M16
Description of the approach: In order to design the structure of the SPRINT SMEs Knowledge Base we will follow an ontology-based approach. Different complementary ontologies have to be developed to address the full spectrum of knowledge in SW process improvement projects (i.e., tacit and explicit knowledge, knowledge about projects, knowledge in projects and knowledge from projects). At least three sub-ontologies covering three distinct process improvement knowledge areas will be defined:
-
Experience ontology: The experience ontology will describe skills and qualifications required for performing specific improvement practices.
-
Process ontology: The process ontology will enable defining a hierarchical process type structure and alternative process decompositions and dependencies (for example, it will be possible to state that “Requirements Traceability” is dependent on “Requirements Specification”).
-
Project content ontology: The project ontology will support the representation of information about the improvement project context. Examples are: “size of the project in person years = 1”, “average skill level of employees = experienced requirements analysts”, “process area domain = requirements engineering” etc.
For the development of the SPRINT SMEs knowledge base ontologies, we plan to use standard formal notations and tools for SW process description. Process descriptions in textual forms (e.g. documents) have some important deficiencies since: i) they are often verbose and difficult to understand and apply and ii) they are ambiguous due to the inherent ambiguity of free text and the informality of the descriptions. Thankfully standard formal notations for SW process descriptions exist, including visual notations which are very intuitive, to alleviate the difficulty of ambiguity by providing well-defined semantics. For example, the Software Process Engineering Metamodel (SPEM) [8], is a formal adopted standard of the Object Management Group (OMG). SPEM is defined both as a MOF metamodel and a UML profile and provides standard notations and semantics for the description of a family of related software development processes (e.g., Unified Process [9]). Some of the advantages of describing software development processes with SPEM include: (i) the use of UML which is a well-known standard in the development community, (ii) the clear and rigorous semantics provided by the definition of the metamodel itself, and (ii) the use of tools for the generation and verification of SPEM models. Especially the use of tools alleviates the difficulty of process description verbosity. For example, a role or a phase in a process is described once and the same definition is reused, whenever the description of the same role/phase is required. Furthermore, tools can also provide the ability to view process documentation in many different forms, including a website where all the process descriptions (phases, roles, work products etc.) reside with an easy to navigate structure.
A tool that provides the above mentioned capabilities and that we plan to use in the context of the SPRINT SMEs project is the open source Eclipse Process Framework (EPF) Composer [50]. EPF Composer provides the following advantageous features to be exploited by our approach: (i) A Method Content Authoring Feature, to define process roles, tasks, work products and guidances, independently from the process definition, a feature which makes these method ingredients reusable throughout the process description. (ii) A Process Authoring feature, to describe processes as sequences of tasks (performed by roles) which produce work products. (iii) A Process Configuration Feature, for incorporating the process descriptions into packages (plugins) to be re-utilized in the definition of other processes. This functionality allows the customisation of processes to particular contexts and it very important since a SW development company may follow similar but slightly different methods and processes. With this capability, the SW SMEs participating in the project can reuse the exemplar processes defined in SPRINT SMEs and customise them to fit their own particular context.
Furthermore, WP3 will particularly emphasize on knowledge management issues in the context of processes followed by SW SMEs to develop open-source software products. In such a process, the use of open-source software components promotes software reusability and provides means to create collaborative communities that enhance the overall technology exchange. In SPRINT SMEs, Free/Libre Open Source Software (FLOSS) will be considered since represents an extremely valuable resource for SW SMEs that allows them to drop their development costs and improve their products quality [51, 52]. In addition to economic and quality benefits, SW SMEs can be benefited by adopting practices followed by FLOSS projects. Of particular interest are the social networking aspects that are observed in FLOSS development. For example in [53] a social network structure is discussed in which two developers participating in multiple OSS projects link 5 OSS projects to a larger FLOSS community. These types of interactions can also benefit SW SMEs which participate in the same application domain. Similar social networking tools and approaches can potentially help SW SMEs develop a more collaborative and less competitive approach for their mutual benefit. To this extent, the SPRINT SMEs project will study FLOSS practices, processes and social aspects [54] with the aim to transfer this knowledge in the form of improvement suggestions to the SW SMEs participating in this project.
Deliverables:
D3.1: Specification of SPRINT SMEs Knowledge Base (M9-M14)
D3.2: Design of SPRINT SMEs Knowledge Base (M12-M16)
D3.3: Knowledge Management of Software Processes in Open Source Development Projects (M9-M16)
WP3 Leader: George Kakarontzas
WP3 Members: L. Anthopoulos, I. Stamelos, S. Bibi
- WP1: Project Management & Dissemination of Results
- WP2: Requirements Analysis for SPIRE Projects
- WP3: Design of SPINT SMEs Knowledge Base
- WP4: Multi-Criteria Analysis for Software Process Assessment/Planning
- WP5: Techniques for Supporting Cooperation/Coordination in Software Processes
- WP6: Techniques for Analyzing the Value of Investment in a SPIRE Project
- WP7: SPRINT SMEs Framework Validation