Anda di halaman 1dari 2

The Journal of Systems and Software 85 (2012) 14531454

Contents lists available at SciVerse ScienceDirect

The Journal of Systems and Software


journal homepage: www.elsevier.com/locate/jss

Software ecosystems: Taking software development beyond the boundaries of the organization
Jan Bosch
Chalmers University of Technology, Gothenburg, Sweden

a r t i c l e

i n f o

Article history: Received 20 March 2012 Accepted 20 March 2012 Available online 29 March 2012

Long reserved for a small number of large operating system vendors, we can see a trend developing where more and more companies are opening up their successful products and product lines for functional extensions by third party developers (Messerschmitt and Szyperki, 2005). Rather than being exclusive and closing off the product for external developers, organizations are exploring ways to offer access to external developers without sacricing important system properties such as reliability, security and safety. External developers, on the other hand, get access to a potentially large and highly targeted customer base that they can address with specic solutions extending the base product with highly differentiating functionality. This is typically referred to as a Software Ecosystem approach where a keystone company (Iansiti and Levien, 2004) builds a community of developers around its core product or product line to better serve its community of customers. However, there also are software ecosystems that are created around open-source communities where there is no keystone company, but rather a community of developers that also use the open source software themselves. There are, at least, two key drivers that cause companies to explore moving towards a software ecosystem. First, a company realizes that the amount of functionality that needs to be developed to satisfy the needs of their customers is far more than what can be built in a reasonable amount of time and with an R&D investment that offers an acceptable return on investment. For web services companies, as well as the software industry as a whole, the market often operates based on the winner takes all principle. Consequently, building a large customer base as rapidly as possible is a key strategy for long-term success. Second, the mass customization trend drives the need for a signicant R&D investment for successful software applications. Especially on the web, e.g. web service mashups, but also in other

domains, e.g. mobile devices, users demand a signicant degree of customization or even compositionality that allows each user to create a potentially unique conguration that addresses her or his specic needs and desires. Extending the product with externally developed components or applications provide an effective mechanism for facilitating mass customization. A typical pattern in this context is for an organization to rst build a successful product. In order to serve different segments of the market, the company broadened its product portfolio with additional products, leading to software product line. At that point, the need for personalization and customization then requires the company to look outside its own boundaries. This then starts the exploration of a software ecosystem approach. The external developers can then provide functionality that addresses the needs of user segments that the company, now acting as the keystone player, would be unable to develop by itself (Bosch and Bosch-Sijtsema, 2010). Although companies have different reasons for adopting a software ecosystem approach, one can identify a number of convincing arguments explaining the current trend (Bosch, 2009): Increase value of the core product to existing users. Increase attractiveness for new users. Increase stickiness of the product or product family, i.e. it is harder for customers to change. Accelerate innovation through open innovation in the ecosystem. Collaborate with partners in the ecosystems to share cost of innovation. Platformize functionality developed by partners in the ecosystem (once success has been proven). Decrease total cost of ownership for commoditizing functionality by sharing the maintenance with ecosystem partners. Although the notion of software ecosystems has received more attention over recent years, several companies have successfully

E-mail address: Jan@JanBosch.com 0164-1212/$ see front matter 2012 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.jss.2012.03.039

1454

J. Bosch / The Journal of Systems and Software 85 (2012) 14531454

created ecosystems of external developers for decades with Microsoft as the leading example. The key development over the last years is that the creation and adoption of a software ecosystem is becoming pervasive and that increasingly many companies are platformizing successful products and opening these products up for outside innovation (Iansiti and Levien, 2004). Below, we provide an overview of the special issue and the articles that are included in it. The rst paper, by Geir Hanssen, presents a longitudinal case study of an emerging ecosystem. The studied company evolves from a traditional development approach to agile software product lines and subsequently adopts a software ecosystem approach. The paper raises interesting aspects of a theory of software ecosystems, including the role of a central referent organization, self-regulation, networked character as well as the importance of sharing values, control and the business and technology aspects of successful ecosystem adoption. The second paper, by Terhi Kilamo and co-authors, takes a different perspective and studies the challenge of putting software developed as closed source into the open-source domain with the intent of building a software ecosystem around it. The paper presents a set of best practices and tools for preparing and releasing originally closed software to the open-source domain. This is expressed in the form of a three phased framework and process for preparing, releasing and monitoring the software. The third paper, by Walt Scacchi and Thomas Alspaugh, broadens the perspective from focusing on open-source software ecosystems to software licensing in software ecosystems in general. In particular, the authors study the case where a software ecosystem has an open architecture consists of components with different associated licenses. The article presents techniques and approaches to reason about heterogeneous license structures in the context of software ecosystems. The fourth paper, by Slinger Jansen and co-authors, raises a very important challenge to many organizations and external developers looking to determine whether to invest in a software ecosystem: to what extent is the keystone company open and supportive of a thriving ecosystem around it. To that extent, the authors developed the Open Software Enterprise Model that provides a systematic, objective approach to determining the openness of an organization as well as the actions needed to open up further. Finally, the fth paper, by Rick Kazman and co-authors, focuses on software architecture analysis and how analysis techniques can be applied to software ecosystems. The authors present the result of years of research in software architecture analysis and conclude that also in software ecosystems, software architecture is the key artifact that links the business goals of both the keystone company as well as external developers to the technical implementation. Achieving these business goals requires explicit focus on quality requirements that, in general, have a stronger impact on the software architecture than the functional requirements. The concept of software ecosystems is broad and the articles provide different perspectives on the notion. One end of the spectrum is a company that takes a successful product or product family and opens it up for external developers. The other end of the spectrum includes open-source software communities where a community without a keystone partner manages to develop a thriving ecosystem. As an orthogonal dimension, the notion of openness and control is addressed differently by different ecosystems. Especially in open-source software ecosystems, ecosystem participants have full freedom in changing, cloning and evolving the software, although the result may not nd its way into the main baseline. Other companies include use directed selection of partners and build a basis of trust with these partners that alleviates the need

for certication, inspection and review of software. Finally, some companies open up the software ecosystem, but insist on formal certication of software in order to guarantee end-to-end system properties of the overall system. Software ecosystems deserve signicant further study and future research topics include a wide variety of areas. In Jansen et al. (2009), the authors present a research agenda for software ecosystems that organizes the research topics along two dimensions, i.e. the scope of the eld of study, including the software vendor, the supply network and the software ecosystem level, as well as the phase in the software lifecycle, including portfolio and product line planning, software architecture challenges, release heartbeat and timing and organizational challenges. In Viljainen and Kauppinen (2011), the authors focus on four main activities, i.e. technology scouting, orchestration, software supply network management and technology asset management. In our research, we typically study three stakeholders or parties, i.e. the keystone company providing the basic software ecosystem platform, the external developer community providing independent extensions to the platform and the end-user who composes the platform with the independent extensions. Although there are a variety of topics to study, in our experience there are three main topics that require prioritized attention for future research. First, the keystone company providing the platform for external attention needs to go through an identity change in that rather than building products directly for customers, the role is now to enable others to build great solutions for customers. Managing this change without losing revenue nor alienating the internal R&D organization is challenging and would benet from additional research. Second, the interface between the customer and the keystone company changes rather fundamentally in that the customer is now involved and likely responsible for composing the overall product, rather than receiving a pre-integrated solution. Transitioning the customer through this change without losing a signicant number of customers is challenging and requires additional research. Finally, the role and needs of external developers from the keystone company, ranging from technical solutions to a viable business model are key areas of concern for many developers. Helping these developers to take more objective and informed decisions would be particularly helpful. Concluding, the special issue on software ecosystems addresses a critical area of software engineering that has received limited attention in the past, even though its adoption is now accelerating and pursued by increasingly many companies. The articles address several perspectives, but complement each other in that the case studies are followed by more general software ecosystem topics such as license models, the necessary and actual openness of the keystone company and the role of software architecture analysis in software ecosystems. References
Bosch, J., 2009. From software product lines to software ecosystems. In: Proceedings of the 13th International Software Product Line Conference, ACM. Bosch, J., Bosch-Sijtsema, P., 2010. From integration to composition: on the impact of software product lines, global development and ecosystems. Journal of Systems and Software 83 (1), 6776. Iansiti, M., Levien, R., 2004. Strategy as ecology. Harvard Business Review 82, 6878. Jansen, S., Finkelstein, A., Brinkkemper, S., 2009. A sense of community: a research agenda for software ecosystems. In: Proceedings of the International Conference on Software Engineering Companion Volume, IEEE, pp. 187190. Messerschmitt, D.G., Szyperki, C., 2005. Software Ecosystem Understanding an Indispensable Technology and Industry. MIT, Press, ISBN 0262633310. Viljainen, M., Kauppinen, M.,2011. Software ecosystems: a set of management practices for platform integrators in the telecom industry. In: Proceedings of the International Conference on Software Business. Springer, Brussels, Belgium, pp. 3243.

Anda mungkin juga menyukai