Вы находитесь на странице: 1из 5

2012 Brazilian Symposium on Software Engineering

Software Ecosystems: Trends and Impacts on Software Engineering


Rodrigo Santos, Cludia Werner
Computer Science and System Engineering Department COPPE Federal University of Rio de Janeiro Rio de Janeiro, Brazil {rps, werner}@cos.ufrj.br
Abstract Economic and social issues are pointed out as Software Engineering (SE) challenges for the next years, since the field needs to treat issues beyond the technical side. These challenges require analyzing the field of SE from another perspective. In this sense, the study of software ecosystems (SECOs) is an emerging discipline that investigates the relationships among companies in the software industry. Companies work cooperatively and competitively in order to achieve their strategic objectives. They must engage in a new perspective, now also including third parties motivations and movements in the ecosystem, besides their own business viewpoint. Inspired on properties of natural and business ecosystems, SECO covers technical and business aspects of software development as well as partnership among companies. In this paper, we undertake a review on SECOs status as an emerging research topic in SE community. We map what is currently known about SECOs and also analyze them in a three-dimensional perspective in SE, i.e., technical, business and social. We observed that SECOs research is concentrated in eight main areas in which the most relevant ones are open source software, ecosystem modeling, and business issues. This paper also contributes to summarize the body of knowledge and presents a research agenda in SECOs. Keywords software ecosystems; software reuse; open source software, component-based development; global software development; social networks; value-based software engineering.

Olavo Barbosa, Carina Alves


Center of Informatics CIn Federal University of Pernambuco Recife, Brazil {oalpb, cfa}@cin.ufpe.br

affect, and are affected by, the creation/delivery of a companys own offerings [10]. According to these viewpoints, researchers have coined a new perspective to analyze the software industry, called Software Ecosystems (SECOs) [2] [3] [7] [9] [11] [13] [18]. This is an emergent field inspired on concepts from Moore and Iansitis business and biological ecosystems [10] [14]. According to Bosch and Bosch-Sijtsema [8], for most software systems companies, large-scale software development is complex, expensive, slow and unpredictable. An example is the fact that software teams have been working geographically dispersed since industry decided to explore the distribution of software development processes and resources as a mean to reduce cost and development time, and also to expand to new markets [16]. Three trends accelerate the complexity of software development [8]: (i) the wide-spread adoption of software product lines (SPLs) and the sub challenge of exposing reusable assets and opening the platform architecture; (ii) the broad globalization of software development (GSD) in many organizations and the sub challenge of elevated complexity of sociotechnical dependency management; and (iii) the importance of building a SECO as a community of external developers around a successful product (a popular and central hub to the strategy of many companies), and the sub challenge of structuring the dependencies between the platform company and the third-part developers, since it is an evolution of reuse [7]. In this sense, component-based development (CBD) represents a fundamental pillar for SECO platforms considering an engineering mindset and the three mentioned sub challenges. Components can be internally developed or acquired as COTS, or open source. Mature industrial applications are reuse-driven and use existent artifacts when possible, contributing to improvements and maturing repositories [22]. Thus, the development of a new system is focused on specific requirements and components that represent a competitive advantage for a platform, considering the system domain peculiarities, clients needs, existent technologies etc. The traditional strategy for developing a unique product has been changed into developing multiple products, based on a common system architecture that consists in exploring reuse [22]. On the other hand, due to the tendency of opening SECO platforms to third-part developers in
206

I.

INTRODUCTION

Economic and social issues in Software Engineering (SE) have been pointed out as challenges for the next years [6], especially due to software intensive systems and systems of systems scenario. Software and systems development involves better thinking about platforms, and their nets of artifacts and stakeholders. Thus, increasing attention is being paid to connectivity/dependency in relationships between companies. Innovations no longer originate in a single organization; rather they are co-innovations from different players [1]. Companies coevolve capabilities around a new innovation: they work cooperatively and competitively to support new products, satisfy customer needs, and eventually incorporate the next round of innovations [14]. These loose networks of suppliers, distributors, outsourcing companies, developers of related products or services, technology providers, and a host of other organizations
978-0-7695-4868-5/12 $26.00 2012 IEEE DOI 10.1109/SBES.2012.24

order to get a competitive advantage and maintain a community around a platform and systems [12], CBD critical issues can be listed: standardization, information visualization, guidelines to support customizations, and intellectual property [22]. In the SE community, studies of SECOs were motivated by the SPLs approach aiming at allowing external developers to contribute to hitherto closed platforms [7]. However, different research directions indicated by literature and industrial cases reinforce important perspectives to be explored, such as architecture, social networks, GSD, modeling, business, mobile platforms and organizational-based management [11]. Besides, SECOs involve a multidisciplinary perspective, including Sociology, Communication, Economy, Business and Law. These studies are also motivated by the software vendors routine since they no longer function as independent units that can deliver separate products, but have become dependent on other software vendors for vital components and infrastructures, e.g., operating systems, libraries, component stores, and platforms [12]. In order to better understand SECO trends and impacts in SE considering the mentioned scenario, we undertake a review on SECO research, mapping what is currently known about SECOs and also analyzing them in a three-dimensional perspective in SE, i.e., technical, business and social. In this way, we intend to summarize the body of knowledge and present a research agenda in SECOs based on joining existing perspectives in SECOs research from combining a literature survey [18] and a systematic mapping [2] through a research strategy. Besides this introduction, the paper is organized in the following: Section II presents an overview of SECOs; Section III discusses the results of a previous study to characterize the SECOs research status; Section IV exposes a research framework for SECOs in SE area, called ReuseECOS; finally, Section V concludes the paper pointing out its contributions through topics for a SECOs research agenda in the global and Brazilian SE. II. SECOS OVERVIEW SECOs represent a new perspective in SE field due to their rapid evolution in the last decade [13][15]. Jansen et al. [12] defines SECO as a set of businesses functioning as a unit and interacting with a shared market for software and services, together with the relationships among them, frequently underpinned by a common technological platform or market, and operating through the exchange of information, resources and artifacts. Amazon, Nokia and Apple are pioneers in SECO analysis and have treated SECO as a relevant SE research. Some examples of SECOs are Microsoft SECO, iPhone SECO and Drupal [11]. These cases can be used to establish typical SECOs characteristics: SECOs can be contained in other SECOs (Microsoft CRM SECO is contained in the Microsoft SECO); and one might refer to iPhone SECO with its AppStore as a closed SECO, where SECOs are inside other SECOs in the Open Source Software (OSS), e.g., the Drupal SECO is an OSS maintained and developed by a community of thousands of users and developers. We can observe that it is characterized by

connections with others companies to create new modules and a large ecosystem is created among it. Different research directions at literature and industrial cases reinforce important SECO directions, e.g., the fact of its study in the SE community were motivated by the SPLs towards to GSD [7] [8]. It means that it is important to broadly understand how software vendors resort to virtual integration through alliances to create and keep networks of influence and interoperability, generating SECOs. Some challenges are emerging in this process [11]: (i) software vendors have to be aware of SECOs in a GSD scenario; (ii) they also want to be aware of survival strategies that exist among SECOs stakeholders; and (iii) they need an overview of possible ways for opening up the organizations platform without exposing their intellectual property. Jansen et al. [11][12] model SECOs in a three-level view aiming at understanding the mentioned challenges. Software vendor level is the first one where the objects of study are the actors and their relationships in the context of an organization in the SECO. In turn, software supply network level is the second one where the objects of study are the software supply networks (SSNs) as well as their relationships including all stakeholders and the characteristics related to the SECO health and stability. Finally, SECO level is the third one where the object of study is the SECO itself and its relationships. Strategic choices should be made on how a software vendor behaves in a SECO to maximize profitability, analyzing its lifecycle through four phases [12]: (1) the establishment of a market relationship with a dominant organization; (2) the emergence of a preliminary network; (3) the reduction of the dominant organizations power, and the stimulus of communities of practice; and (4) the existence of a community of creation, where no dominant organizations exist and the power is distributed. In this context, SECOs should have well defined frontiers, even overlapped, such as a market, a technology, an infrastructure or an organization, and also geographic restrictions, component specifications, license availability, age and history. III. SECOS RESEARCH STATUS

As a new perspective in SE, SECOs should be characterized in order to understand trends and impacts in SE and review the body of knowledge in the field. This demand motivated a previous study focused on undertaking a Systematic Mapping Study (SMS) to present a review of primary studies on SECOs [2]. SMS is a method that provides a visual summary map of its results, after a systematic research process. The SMS was guided by four research questions: (1) What are the main characteristics of a SECO?; (2) What is currently known about the benefits, challenges and limitations of SECOs?; (3) What are the implications of SECO studies for research and practice in SE; and (4) What are the main areas studied from the perspective of SECOs? The SMS reviewed 44 studies and identified the main characteristics of SECOs. A notable result is the relevance of open source models in the context of SECOs. In fact, literature in OSS reinforces the importance of collaboration among players to

207

build a mature open source platform. Other results state that SECOs are linked to natural ecosystems, SPL, and business ecosystems. These fields are considered by many authors the origins of SECO research. Also, given that SECO is an emergent field, different research and industry communities have been investigating the area independently. There is a lack of widely agreed terminology and characteristics of what constitute a SECO. The most common terms and acronyms related to SECOs are: Software Ecosystems; SECO; Mobile Learning Ecosystems (MLES) / Mobile Ecosystem; Free OSS Ecosystem, Open Ecosystem; and Digital or Business Ecosystem DE or BE. Some benefits of a SECO were also identified according to the outcomes of the mapping study. Barbosa and Alves [2] identified that several studies discuss the benefits of SECOs to foster co-evolution, innovation and increase attractiveness for new players. Other general benefits found in studies emphasize that SECOs enable companies to decrease costs while supporting architectural decision making, sharing knowledge and communicating requirements among players. On the other hand, the main challenges and limitations involved in the SECOs perspective were extracted. From the studies reviewed, we can observe many difficulties regarding ecosystem modeling, architectural challenges, heterogeneity of licenses and software evolution management. Other important findings indicated a strong significance of academic institutions involved in the SECO field, where the most active academic institutions are: Utrecht University, in The Netherlands; University College London, in the UK; Boston University, in the USA, Babson College, in the USA, and University of Lugano, in Switzerland. Although there are not many papers from London School of Economics in the UK and Imperial College London, it appears that they are emergent groups of researchers studying this topic. In Brazil, two groups are directly working with SECO: Federal University of Rio de Janeiro (COPPE) and Federal University of Pernambuco (CIn). Tutorials in SE Latin-American events where found: Brazilian Symposium on Information Systems (2011), Iberoamerican Conference on Software Engineering (2012) and, now, Brazilian Congress on Software: Theory and Practice (2012). In addition, software companies and government also published papers, and it suggests that the field is also being investigated from the industrial point of view. However, the majority of specialists in the field are from academic institutions. Regarding the research methods adopted by SECO literature, we found an initial interest in theoretical studies (27%). This means that many researchers have been conducting foundation studies that aim to define or classify the characteristics of SECOs. Regarding empirical papers, we observed that case studies were conducted with varying levels of rigor. The majority of studies were primary studies; but a few reported ad hoc literature reviews. The topics addressed by these studies involve software evolution and co-innovation. These issues are essential properties of a product that sounds like a vital implication for industry development. We also identified that many studies have proposed

approaches for SECO modeling, conceptual models or ecosystem analysis. Finally, [2] identified that software ecosystems research is concentrated in 8 main areas, as shown in Figure 1.

Figure 1. The most frequent areas investigated in SECOs. Source: [2]

IV. SECOS RESEARCH FRAMEWORK IN SE AREA When GSD, SECO and SPL are put together in an architecture, business and social-based view, many organizations play with a resulting model from older and newer SE process models in the market. Considering the SECO challenges [18], such as why do SECOs appear and disappear? and how to define and monitor SECO scope, types, roles and characteristics, and the current lack of work in this direction, ReuseECOS was proposed as a research framework. The goal is to understand SECOs generated by different SSNs throughout their lifecycle phases from their birth to their death or impairment, in their three levels of scope and allowing the identification of new SECOs. That is, from the calibration of the GSD experience reports and historical data repository based on a research methodology, a SECO M&E mechanism provides a step-by-step process to extract a SECO diagnosis (Management) and to interfere in the SECO (Engineering). ReuseECOS structured the first initiatives about SECO in a set of research opportunities classified in three basic dimensions extended from [9] and integrated through a M&E dimension according to a SECO 3+1 view (Figure 2) in order to support a SECO Roadmap in SE area. x Dimension #1: technical dimension focuses on the SECO platform (market, technology, infrastructure or organization) through platform domain engineering process establishing its lifecycle, commonalities and variabilities management defining platforms features, and developed SPL architecture treating the platform as SPL. This dimension aims at selecting the SECOs target platform in order to contextualize its project and development e.g., understanding platform health from productivity, robustness and niche creation indicators; plan its opening process considering its architectural styles, elements and factors related to uncertainty, complexity and activity awareness; and balance modularity with componentization and transparence with information visualization during its evolution and maintenance, called translucence, which represent SECO

208

engineering. This dimension also aims at analyzing SECOs through making analogies with other types of ecosystems (e.g., natural, business and social) to obtain and derive methods and models for organizing, classifying and evaluating SECOs and their platforms lifecycles. This dimension directly appears in four SECO areas as concluded in the Section III: Software Evolution, Software Architecture, Operating Systems, and SPL. Details in [18].

acquired, exchanged and transmitted knowledge in these networks, generating the so called sociotechnical networks. Thus, identifying and analyzing requirements, creating and managing software systems can be considered as a social activity. This dimension directly appears in one SECO area as concluded in the Section III: OSS. Details in [20]. x Dimension #4: M&E dimension, focused on merging the three basic dimensions through three relationships towards an establishment of a technological infrastructure: relation #1: platform development and evolution, motivated by links and traces between the business and technical dimensions, focusing on understanding relationships and system models in a broader way, not just technically, and also in a GSD point of view; relation #2: platform establishment, done through links and actions between the social and technical dimensions, which highlight the involvement of (and attention to) the community around the SE platform; and relation #3: platform value, maintained through links and communication between the social and business dimensions, which aim to map value propositions (i.e., what the concept of value is for all stakeholders from their point of view) and realizations (i.e., what the feeling of value is for all stakeholders from SE environment and context perspective). V. FUTURE DIRECTIONS

Technical

SECO Management & Engineering

Business

Mapping value propositions and realizations

Social

Figure 2. 3+1 view of SECO M&E [19].

Dimension #2: business dimension focuses on SECO knowledge flow, that is, artifacts, resources and information, through business establishing SECO goals and action plans by programs and projects, innovation linking a SECO to a software market, and strategic planning understanding how, when, where and who will perform the goals. This dimension aims at capturing the platform context in order to apply the GQM (Goal-Question-Metric) approach [4], i.e., (i) selecting SECO goals, e.g., to be competitive, (ii) specifying questions in order to better understand the goals, e.g., what is the SECO value?, how is the market niche? etc., and (iii) defining, collecting and analyzing related metrics, e.g., number of developers, involved countries and users, percentage of platform benefits, risks and opportunities being reached etc. This approach allows to collect, manipulate and show sustainability and diversity information as health indicators of SECOs. From the set of indicators, a framework of SECOs monitoring and management can be modeled and instantiated based on definition of result/value chains [17]. This dimension directly appears in three SECO areas as concluded in the Section III: SECO Modeling, Business, and Software Co-innovation. Details in [19]. Dimension #3: social dimension focuses on SECO stakeholders through balancing proposition and realization of utility (why stakeholders integrate, extend and modify knowledge in a SECO, and interact to each other in GSD), promotion (how stakeholders capabilities and engagement are implicit and explicitly recognized in GSD), and knowledge (how open source development and other social network opportunities contribute to stakeholders in GSD). This dimension aims at understanding how the social networks creation, organization and maintenance can affect the communities that belong to a SECO, considering

There are several issues that make the establishment of a research field for SECOs appropriate in SE area, as observed throughout the last sections. More research must be addressed in order to provide a more cohesive set of classification of SECO stakeholders. One relevant classification of SECO stakeholders is the role that a company or an organization plays in the SECO. A further analysis of [2] indicated factors that leverage an OSS ecosystem: recognition from peers, sense of community, sense of code ownership, feedback from others, learning, financial reward, engage with new technologies, and altruistic intentions such as utilitarianism. We provided indications that two key communities are investigating this field: ACM/IFIP International Conference on Management of Emergent Digital EcoSystems and IEEE International Conference on Digital Ecosystem Technologies, and International Workshop on Software Ecosystems and International Conference on Software Business. We observed that these two communities generally do not cite each other, and the second one has some relations to SE community, although both areas have inherited similar concepts from business ecosystems. To strengthen the field, we suggest more collaboration among these communities and SE. Some questions emerge and can guide SECOs research, generating a roadmap, as shown in TABLE I. These questions impact the software industry, and SE area starts observing them because it requires linking a technical, a business and a social-based viewpoint in an integrated way. This viewpoint can be analyzed by a SECO M&E approach. Since SECO has focused on large systems of systems, this concept is not formally applied to Brazilian platforms yet, although the governmental platform can represent a significant case study [21], considering initiatives in Software

209

Reuse. Also, agile methodologies and specific software quality models such as MPS Model can create opportunities to generate a large SECO from a set of micro/small/medium companies [18]. TABLE I. SECOs Research Roadmap in SE
(1) OSS or proprietary: what is the best scenario? It is important to identify the impacts of the user as a third-part developer in a SECO in order to extend SE techniques for SECO platforms through modeling of relationships among platforms orchestrators and third-part developers. (2) What is the most attractive strategy in GSD? It is important to map the strong and weak aspects of SECO platforms in order to define and automatize a framework for management and monitoring of SECO platforms in a global and local perspective. (3) What is the most innovative strategy considering SPLs? It is important to analyze architectural issues, such as platform interface stability, security, reliability, and business strategy in order to integrate and empirically validate SECO activities in SPL engineering. (4) How to perform the process of opening the platform architecture? It is important to research suitable architectures to OSS and proprietary styles and assess how open and flexible architecture is in order to support common contributions to different platforms. (5) How to explore SECOs in Brazilian SE? It is important to model Brazilian SE platforms (as discussed in Section II) such as Brazilian Public Software (BPS), MPS, Lua etc., as well as those developed by small and medium enterprises (SMEs) in order identify their particularities when compared to the global platforms and to support a lifecycle-based diagnosis that helps in co-innovation and maturity.

[2]

[3]

[4] [5] [6] [7] [8]

[9]

[10] [11]

[12]

This paper presented a review on SECO status as an emerging research topic in SE point of view. We mapped what is currently known about SECOs and also analyzed them in a threedimensional perspective in SE. The contribution of this paper was to understand how SE community can understand SECO as SE elements to evolve Software Reuse, SPL and GSD perspectives. As concluded, it is impossible to treat SECOs with a pure engineering approach. We also discussed the relevance of the SECO field for the SE body of knowledge [2] [18]. Thus, this scenario impacts the decision making in software industry because it requires not only the understanding of investments and costs, but benefits, risks and opportunities. These issues compose an integrated co-evolution, innovation and value-based approach [3] [5]. In addition, it is necessary to deal with platforms security and privacy. As future work, we are evolving the SMS in order to explore new high and low level findings in SECOs focusing on how SE methods, techniques and tools are changing in Brazilian and global scenarios, i.e., this paper represents a first step to guide our research. We hope that our contribution can reveal the relevance of analyzing trends in the software industry from the perspective of an integrated ecosystem. REFERENCES
[1] Arndt, J. M., and Dibbern, J., Co -Innovation in a Service Oriented Strategic Network. In: Proceedings of the IEEE International Confer ence on Services Computing, Chicago, USA, 285-288, 2006.

[13] [14] [15] [16]

[17]

[18] [19] [20]

[21]

[22]

Barbosa, O., and Alves, C., A Systematic Mapping Study on Software Ecosystems. In: Proc. of the 3nd IWSECO, 2nd ICSOB, Brussels, Belgium, 15-26, 2011. Barbosa, O., Santos, R., Alves, C., Werner, C., and Jansen, S. A Systematic Mapping Study on Software Ecosystems through a Threedimensional Perspective . In: Slinger Jansen, Michael Cusumano, & Sjaak Brinkkemper (Eds.), Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry. Cheltenham, UK and Northampton, MA, USA: Edward Elgar Publishing (in press). Basili,V., Shull, F., and Lanubile, F., Building Knowledge through Families of Experiments. IEEE Tran sactions on SE 25, 4, 456-473, 1999. Biffl, S., et al. Value-Based Software Engineering. Berlin: Springer Verlag, 2006, 388p. Boehm, B., A View of 20th and 21st Century Software Engineering. In: Proc. of the 28th ICSE, Shanghai, China, 12-29, 2006. Bosch, J., From Software Product Lines to Software Ecosystem. In: Proc. of 13th SPLC, San Francisco, USA, 1-10, 2009. Bosch, J. and Bosch-Sijtsema, P., From integration to composition: On the impact of software product lines, global development and ecosystems. The Journal of Systems and Software 83, 1, 67-76, 2010. Campbell, P., and Ahmed, F., A Three-dimensional View of Software Ecosystems. In: Proc. of the 4th ECSA, 2nd IWSECO, Copenhagen, Denmark, 81-84, 2010. Iansiti, M., and Levien, R., Strategy as Ecology. Harvard Business Review, 82, 3 (March), 68-78, 2004. Jansen, S., Finkelstein, A., and Brinkkemper, S., A Sense of Community: A Research Agenda for Software Ecosystems. In: Proc. of the 31st ICSE, Vancouver, Canada, 187-190, 2009. Jansen, S., Brinkkemper, S., and Finkelstein, A. Business Network Management as a Survival Strategy: A Tale of Two Software Ecosystems. In: Proc. of the 1st IWSECO, 11th ICSR, Falls Church, USA, 34-48, 2009. Messerschmitt, D. and Szyperski, C., Software Ecosystem: Understanding an Indispensable Technology and Industry. MIT Press, 2003. Moore, J.F., Predators and Prey: A New Ecology of Competition. Harvard Business Review, 71, 3 (May/June), 75-86, 1993. Moore, J.F., The Death of Competition: Leadership and Strategy in the Age of Business Ecosystems. Harper Business, 1996. Pinto, A., Al meida, A.C.M., and Morais, E., Collaborative Software Development Process for Geographically Distributed Teams. In: III WDDS, XXIII SBES, Fortaleza, Brazil, 89-97, 2009. Santos, R., Werner, C., and Silva, M., Brech -VCM: A Value-Based Approach for Component Markets. International Transactions on Systems Science and Applications, 6, 2/3, 179-199, 2010. Santos, R., and Werner, C. A Proposal for Software Ecosystems Engineering. In: 3nd IWSECO, 2nd ICSOB, Brussels, 40-51, 2011. Santos, R., and Werner, C., Treating Business Dimension in Software Ecosystems. In: 3nd ACM MEDES, San Francisco, USA, 197-201, 2011. Santos, R., and Werner, C., Treating Social Dimension in Software Ecosystems through ReuseECOS Approach. In: Proc. of the 6th IEEE DEST, Campione dItalia, Italy, 2012. Stefanuto, G., Spiess, M., Alves, A. M., and Castro, P., Quality in Software Digital Ecosystems The Users Perceptions . In: Proc. of the 3nd ACM/IFIP MEDES, San Francisco, USA, 85-88, 2011. Werner, C. et al. Towards a Component a nd Service Marketplace with Brech Library. In Proc. of the IADIS International Conf erence WWW/Internet, Rome, Italy, 567-574, 2009.

210

Вам также может понравиться