In this section we describe the creation of the method chunks that are used as starting point to design the OSSAP method that will be presented in Sect. 4. First, we focus on the method chunks for obtaining the OSS adoption strategies and then on those for obtaining the OSS business processes to implement them.
3.1 Method Chunks for Defining OSS Adoption Strategies
We have applied the re-engineering SME method [8] on the DKE-approach [5]. As explained in Sect. 2.1, the reengineering SME recommends to redefine first the process model of the existing method by using the Map formalism. Then the process map sections are formalised as method chunks. We develop next these two steps.
Step 1: OSS Adoption Process Map Construction.
The DKE-approach is described in detail in [5]. Its process map is shown in Fig. 1. The initial intention is to document the organization business and its strategic goals (I1). As suggested by the DKE-approach, this intention is achieved by using i* goal-oriented modelling as strategy (S1). Then, the DKE-approach proposes a two-step process with intentions: selecting the appropriate OSS adoption strategy from a predefined set of candidates (I2) and upgrading the organizational goal model with the goals defined in the selected strategy model (I3). To satisfy intention I2, the DKE-approach proposes (S2) the catalogue of OSS adoption i* models described in Sect. 2.2 and a set of coverage metrics that measure the similarity of each of them with the organizational model. I3 is achieved by merging the organizational goal model with that of the selected strategy (S3).
Step 2: Method Chunks Identification and Construction.
As explained in Sect. 2.1, the identification of method chunks is based on the analysis of the process map sections. The process map resulting from Step 1 is composed of three sections: <Start, S1, I1>, <I1, S2, I2>, <I2, S3, I3>. We consider each of these map sections as reusable method knowledge and accordingly we identify three method chunks:
-
MC1: Goal modelling with i*. It corresponds to the i* modelling framework [3].
-
MC2: OSS adoption strategy selection. Provides the guidelines to select OSS adoption strategies as described in the DKE-approach [5]. Since these guidelines include a catalogue of candidate models (see Sect. 2.2), MC2 can be considered as an aggregate method chunk and each of the six OSS adoption strategy models as a sub-chunk, MC2.1-MC2.6 (e.g., MC2.1 is OSS Acquisition adoption strategy).
-
MC3: i* model merging. Provides the guidelines to merge goal models as described in the DKE-approach [5].
We present three of the identified method chunks using a tabular representation based on the method chunk metamodel [8]. The process and product parts are presented in an abridged form. Table 1 describes the MC2 aggregate method chunk. Its process part guides the business analyst to select the adoption strategy which best covers the organizational goals. For each adoption strategy there is a corresponding sub-chunk.
Table 1. Method chunk for selecting an OSS adoption strategy
Table 2 presents the sub-chunk MC2.1 for the OSS Acquisition adoption strategy. All the sub-chunks for adoption strategies share a similar structure: situation: represents the decision to adopt the strategy; intention: documenting the goals related to the strategy; process: application of the proposed model; product: the i* model representing the strategy. The Acquisition strategy implies to use OSS without contributing to the supporting OSS community. The product model shows how the OSS adopter only obtains and uses the component from the OSS community and does not give back any return to it. Therefore, only outgoing dependencies stem from the adopter actor and it depends on the community to obtain the OSS component and its documentation.
Table 2. Method chunk for the OSS Acquisition adoption strategy
Finally, Table 3 describes the method chunk to refine organizational goals with the goals of an adoption strategy (MC3). Its process part consists in the application of guidelines to merge goal models. This method chunk is described in a way that can be applied to any context that requires merging two i* models, making it highly reusable.
Table 3. Method chunk for merging two i* goal models
3.2 Method Chunks for Defining OSS Business Processes
In this section we describe the creation of method chunks for obtaining the OSS business processes that an organization should implement to attain the goals of its selected OSS adoption strategy. To our knowledge there are not existing proposals to define business process models for OSS adoption, so the reengineering SME method applied in Sect. 3.1 is not applicable. Instead, we have applied the ad-hoc approach in which the method chunk construction is made from scratch (see Sect. 2.1) [10].
Method Chunk Identification.
We have elicited the goals that represent requirements that the adopter organization must fulfil to apply each strategy from the adoption strategy i* models (one shown in Table 2 and the rest available in [5]). These goals have led to the identification of method chunks for defining a specific OSS business process aimed at their satisfaction. In Table 4, we list those goals as method requirements together with their associated method chunks. For instance, the goal OSS component used from the OSS Acquisition strategy (see Table 2) has yield to the requirement Defining business processes for using an OSS component (third row in Table 4). There are three method chunks for it because the adoption strategy i* models [5] include different ways to achieve it, depending on whether the component is simply deployed or it is integrated as part of another software artefact or, in the latter case, depending on whether the component is redistributed or not (i.e., OSS licenses define different rights for the case of redistributing the software [11] since the distributed software needs a license compatible with the OSS component license and the licenses of the OSS components inside it). The last row of the table provides the requirement Defining business processes for OSS adoption which embraces all the previous ones and leads to the identification of a method chunk which is the aggregation of all the rest which can be seen as its sub-chunks.
Table 4. Method chunks for Defining OSS business processes
Method Chunk Construction.
When constructing new method chunks from scratch, theory plus best practice facilitates the initial definition of chunks [6]. Therefore, we have based our method chunk construction on the allocation of OSS adoption activities and resources from the OSS RISCOSS ontology [5, 12] (partially based on OFLOSSC [13]) to the method chunks; in other words, the business processes related to the method chunks should include the allocated activities and resources. The allocation has been based on the RISCOSS ontology definitions together with the expert knowledge from the RISCOSS EU-funded project industrial partners (www.riscoss.eu). Table 5 provides this allocation for one of the method chunks that we have identified, namely MC10: Patching OSS. According to the ontology, patching OSS refers to the development of a patch to correct some bug or add some new feature to an OSS component.
Table 5. Allocation of activities and resources from the RISCOSS ontology
Table 6 describes the Patching OSS method chunk. Its situation reflects that it must be applied when an organization has as part of its adoption strategy the goal of providing patches to an OSS community. Its product part consists in a BPMN diagram with the activities and resources allocated to the chunk organized in a process.
Table 6. Description of the patching OSS method chunk
This chunk has activities devoted to acquire the needed skills to develop patches for OSS, activities needed to develop the patch and reporting it to the OSS community and, in case the adopter organization is allowed to do it, the commit to incorporate the patch to the OSS component. All these activities come from the RISCOSS ontology except for: (1) Acquire Community Practice Skills and Acquire Technical Quality Knowledge which, actually, specialise an activity from the ontology, Acquire Management Skills, because only the part of the governance documentation related to community practices and quality policies is needed by the adopter to know how to develop the patching process and (2) Report Patches which is a specialization of Discuss solutions. All resources come from the RISCOSS ontology although the resource Governance documentation has been split into three: Licensing Policies, Quality Policies and Community Practices in order to distinguish the different parts of the governance documentation that are needed for different activities.
Table 7 describes the aggregate method chunk MC14: Defining OSS Adoption Business Processes. Its process part provides the criteria to discriminate which of the chunks for defining OSS business processes (MC4 – MC13) must be applied in a specific case according to the strategic goals of an organization.
Table 7. Defining OSS adoption business processes method chunk