=Paper=
{{Paper
|id=Vol-1157/norms3
|storemode=property
|title=Quantifying the Impact of OSS Adoption Risks with the help of i* Models
|pdfUrl=https://ceur-ws.org/Vol-1157/paper10.pdf
|volume=Vol-1157
|dblpUrl=https://dblp.org/rec/conf/istar/CostalGLMSS14
}}
==Quantifying the Impact of OSS Adoption Risks with the help of i* Models==
Quantifying the Impact of OSS Adoption Risks with the help of i* Models Dolors Costal1 , Daniel Gross2 , Lidia Lopez1 , Mirko Morandini2 , Alberto Siena2 , Angelo Susi2 1 GESSI Research Group, Universitat Politcnica de Catalunya Barcelona – Spain {dolors,llopez}@essi.upc.edu 2 Fondazione Bruno Kessler I-38123, Trento – Italy {gross,morandini,siena,susi}@fbk.eu Abstract. Adopting Open Source Software (OSS) components in or- ganisational settings requires evaluating the possible impact of adoption decisions on business goals. Measures available in OSS, capturing indi- cators such as the quality of open source code and the activeness of the developing community, can be used as a driver to assess various risks in component adoption. In this paper we illustrate how risk and impact models are used to relate measures obtained from the component under analysis to business goals in i* -based OSS business strategy models. Keywords: Risk Assessment, Open Source Software, Business Strategy 1 Introduction During the development of complex software systems, the choice of adopting pre-existing software components can have a significant impact on the technical, organizational, as well as high level business objectives of the developing organ- isation. More and more, open source software (OSS) components are adopted by organisations in the development of commercial software systems, consider- ing possible advantages in license cost, time to market, security, maintenance efforts, or other factors, depending on the domain. However, OSS adoption also carries various technical and business risks, due to the lack of contract partners, lack of guarantees for future component maintenance and support efforts, the distributed, open development process, and the heterogeneous development com- munity. OSS component selection and maintenance thus claim for a thorough analysis of technical aspects of the components and their possible impact on the high level strategic objectives. The understanding and management of risks is a key factor for contributing to the success of the development project or to ratify its failure. In this paper we use and extend the i* modelling framework to support the evaluation of the possible impact of OSS component on the business objectives of a company. The framework was developed in context of the European FP7 2 project RISCOSS (www.riscoss.eu). It offers a risk model composed of a mea- surement framework for available OSS component data as well as a conceptual modelling language capable of representing risk events, indicators and situations. The risk model is linked to i* models that capture and represent high-level busi- ness goals and related business model strategies, by means of an impact model. Propagating the available OSS measures and indicators and the organisational data in these models, we are able to quantify the impact to business objectives, a prerequisite for undertaking proper mitigation activities. The work is also in- spired by various works [2, 1, 6, 3] that introduced the concepts of situations, risk events and goal analysis in the i* framework to deal with problems in business intelligence, risk analysis and norms compliance. We present the models in Section 2 and discuss their application in Section 3. We conclude with a summary of the current state of work and the short- and long term perspectives. 2 Modelling OSS Adoption Risks To quantify and evaluate the impact of risky events on business objectives, we make use of a number of interrelated models and techniques. In particular, we need to model (i) the (possible) strategy of the adopter, expressed in terms of goals to be achieved and tasks to be performed; (ii) the ecosystem, naively in- tended as the inter-relation among a collection of actors; and the conditions, that make risks more or less likely to happen, or increase or reduce their signifi- cance. Business strategies are represented using i* models, due to its support for modelling goals, actors and strategic dependencies. Risk conditions are modelled using an ad-hoc language, which uses in a new way concepts already available in existing literature. Underlying the goal models we developed an OSS ontology. The consor- tium has chosen an existing ontology, OFLOSSC [4], to define a standard set of relevant concepts, relationships and terminology to describe a terminology for OSS adoption, related in particular to OSS development communities and socio-technical interactions between OSS community members. Additionally, a Systematic Literature Review (SLR) was conducted by mem- bers of the consortium, on OSS adoption risks, available measures and mitigation activities. This SLR allowed us to gather knowledge used to build the initial tax- onomy of risks and risk indicators for creating risk model instances [5]. 2.1 Goal Models The i* model in the upper side of Figure 1 includes two main actors: the or- ganisation that adopts an OSS component and a prototypical OSS community that produces the OSS component. The reason why we only include the SR diagram for the adopter’s organisation is because the evaluation is from the adopter point of view. The higher goals, inside the organisation actor, represent the organisation strategic goals, for example to get involved with OSS (“OSS 3 Involvement”) and benefit from co-creating software assets with an OSS com- munity (“Benefit from co-creation taken”). The low-level goals and tasks, which represent requirements for an adequate application of the organisation OSS busi- ness strategy, appear further below and include for example “Select component” and “OSS Community contributed”. Overall the purpose of the goal model is to help understand how such lower level goals and tasks which are susceptible different kinds of risks are linked to higher level business goals and qualities. 2.2 Risk Models The bottom part of Figure 1 shows a risk model with selected OSS component adoption risks. The risk modelling language is built on top of existing i* -based languages and designed to support modelling and analysing OSS component risks. In particular, the risk modelling language borrows the concepts of Situa- tion and Indicator from works on business intelligence [2], and the concept of Event from the goal-risk framework [1]. The concepts have been adapted to the purpose of OSS component risk modelling and related to each other by ad-hoc relations. A further key concept is the Measure, a raw value obtained from indi- vidual observations of a real quantity at particular points in time. Measures are therefore time series. The Indicator is another key concept, providing a domain- and context-specific interpretation of measured quantities. More specifically, an indicator supports gathering evidence about states of things, and is defined as an abstract, normalised synthesis of the value of one or more measures. Indicators are in this sense derived metrics at a higher level of domain abstraction. While a measure is expressed using a metric, for example, 30 days per bug, and can coexist with other measures made in different times, an indicator is an aggregation of measures and is expressed in a neutral way with respect to some reference boundaries (e.g., days per bug: 0.8). An indicator is typically calculated using a function, which takes one or more measures as input, and maps absolute numbers of measures onto an indicator interval [0..1]. The functions can be of different nature: simple mathematical functions, such as 1 − (1/(x + 1)), depending on single measurements, or more sophisticated functions that use statistical parameters. A Situation is an abstract representation of a state-of-affairs [6], i.e. a partial state of the world. Situations are expressed by means of propositions, which carry an evidence that things are in the state they describe. The evidence values associated with a situation may be numbers in a range [0..1]. An Event is the occurrence, at a given place and time, of a change in the state of things [1]. Events are more or less likely to happen in given situations, and can be more or less severe. Events are also expressed through propositions, and describe things that may happen at a certain time in the future, as opposed to situations, which describes things as they are at the time of the observation. At the bottom of Figure 1, four indicators are depicted: “Commit ratio”, “Forum posts per day”, “Number of pending feature requests” and “Number of closed feature requests”. A measure observed over an OSS component that is of interest, is associated with each one of them. Indicators provide evidence that 4 situations are true. For example, “Commit ratio” and “Forum posts per day” provide evidence (indicate relation) that the situation of “Low activeness” is true. This situation, in turn, can raise (or lower) the likelihood that some events occur in the future. For example, through the expose relation a positive likelihood contribution is established to the “Lack of support” and “Low release frequency” events, while through the protect relation a negative likelihood contribution is established to the “Fast API change” event. 2.3 Impact Models The impact model consists in a set of relations that, in a way similar to [1], describes the connection between the risk model introduced in the previous sec- tion and the goal model describing the structure of an organisation. The main difference is that we consider explicitly the role played by an event’s likelihood and its significance, which together determine the event’s risk exposure. The im- pact relation, from a risk event to a goal, indicates that a higher exposure to the source risk event causes a negative impact on the satisfiability of the tar- get goal. Several examples of impact relationships are given in Figure 1 such as the relationship between an event “e2” (“Loose control on evolution”) and the softgoal “OSS Component evolves towards desired feature” meaning that if the Adopter looses control on the evolution of a particular OSS component, this can compromise the possibility to guide the component towards a planned set of features. 3 Risk Assessment In RISCOSS, risk models are used in conjunction with i* models to analyse the impact of OSS risk on business goals. The adopted risk analysis is inspired by the goal analysis technique presented in [3]. To each concept, one or more attributes are associated, which represent, for example, the evidence of satisfaction of a situation, the likelihood or severity of a risk event, or the impact on a goal. Starting from the values gathered by indicators, the values are propagated across the model through different relations. Figure 1 presents an example of impact propagation in a goal model. The model includes two actors “OSS Community” and “Organisation”, represent- ing the OSS Adopter, the risk event “Inability to be accepted as contributor” (e3) directly connected to the situation “no possibility of contribution” (s3), and the indicators “Number of closed feature requests” (i2) and “Number of pend- ing feature requests” (i13). We can start the propagation by acquiring data for the two measures from available the OSS community databases, for example 4 closed feature requests per month and 3 pending feature requests per month. These measures can indicate the situation of “no possibility of contribution” that exposes the risk of “Inability to be accepted as contributor” for a given OSS Adopter (see the dashed line). This event negatively impact the goal “OSS 5 OSS OSS Benefit from component involvement co-creation taken OSS User evolution Organiz manual influenced ation Technical Adopt OSS Technical Quality component documentation help Select Test New feature OSS Acquire user- component Maintain product report Commu level skills product help nity Quality of the help evolved OSS Integrate in the Quality of the component software product help evolved OSS Acquire component OSS Component Decide Goal model technical skills evolves towards wishlist desired feature OSS Component evolves towards Accepted as desired feature contributor help OSS Bug community report Send a contributed bug report Patch Send a patch report Develop Community patch knowledge acquisition Acquire According to managerial community skill practices impact Impact model impact impact impact impact impact impact impact e6 e8 e2 Error expose Loose control High amount Proneness e16 e4 of self-impl. code increase on evolution e11 mitigate expose Lack of Lack of support e17 Inability to expose increase expose expose security adapt the software Low release mitigate expose expose e3 frequency s10 Risk model e18 expose protect expose Inability to Fast API s9 be accepted Own Change as contributor requirements s3 s11 to implement Low activeness indicate indicate i14 no possibility i2 indicate Skilled i3 -indicate i17 of contribution developers Commit Number of closed Forum posts Number of pending ratio feature requests per day feature requests (240/month) (3) (4/month) (~1000/month) Fig. 1. A model of OSS component adoption risks. 6 community contributed” whose accomplishment can be compromised, also com- promising the goal “OSS component evolves towards desired feature” and the higher level business goals “OSS involvement”, and “OSS evolution influenced” that are connected via the “help” relationship (as shown by the continuous red line). 4 Conclusion and Future Work In this work we described a modelling language, which makes use of i* , extended by means of a risk model and an impact model to capture the impact of risks on business goals of an organisation. We are now developing a method, which makes use of risk models to perform risk mitigation. Among the available al- ternatives, the method seeks to find the one that better fits user needs while minimising risk. To this purpose, we need to improve the quality and accuracy of the models, and in particular of the parts related to risk, to have a reliable risk quantification. A tool is currently under development to support risk assessment in OSS component adoption. The tool automatically gathers measures from OSS data available online, and uses the i* and risk models described here to infer knowledge about risks and to allow for a comparison among various components. The tool will be web-based and, once developed, it is intended to be proposed to OSS communities and adopters as a means to support risk assessment among practitioners. For our point of view, the tool will also serve to gather feedback from in-the-field usage. Acknowledgement This work is a result of the RISCOSS project, funded by the EC 7th Framework Programme FP7/2007-2013, agreement number 318249. References 1. Yudistira Asnar, Paolo Giorgini, and John Mylopoulos. Goal-driven risk assessment in requirements engineering. Requir. Eng., 16(2):101–116, 2011. 2. Daniele Barone, Lei Jiang, Daniel Amyot, and John Mylopoulos. Reasoning with key performance indicators. In Paul Johannesson, John Krogstie, and AndreasL. Opdahl, editors, The Practice of Enterprise Modeling, volume 92 of Lecture Notes in Business Information Processing, pages 82–96. Springer Berlin Heidelberg, 2011. 3. Paolo Giorgini, John Mylopoulos, Eleonora Nicchiarelli, and Roberto Sebastiani. Formal reasoning techniques for goal models. J. Data Semantics, 1:1–20, 2003. 4. Isabelle Mirbel. Oflossc, an ontology for supporting open source development com- munities. In ICEIS (4), pages 47–52, 2009. 5. Mirko Morandini, Alberto Siena, and Angelo Susi. Risk awareness in open source component selection. In 17th Int. Conf. on Business Information Systems (BIS’14). Springer, May 2014. 6. Alberto Siena, Ivan Jureta, Silvia Ingolfo, Angelo Susi, Anna Perini, and John My- lopoulos. Capturing variability of law with Nòmos 2. In ER’12, LNCS 7532, pages 383–396, 2012.