Openness and Requirements – Opportunities and Tradeoffs in Software Ecosystems
The backbone of the Connected Society is a growing number of software systems characterized by continuous evolution as well as by significant interdependence with other systems. Examples include apps on social media or mobile platforms, but the need for engineering software centric products and services that function as a part of such software ecosystems is ubiquitous; it increasingly affects software development practice for providers of infrastructure, automotive and smart mobility solutions, or eGovernment. This situation confronts software-developing organizations with a volatile and large set of stakeholders as well as with the need for transparent and open processes and information flows. While such openness helps with project and reputation management, it also brings some challenges to stakeholder management and core development processes. In this talk I report on experiences derived from a mixed-method study of IBM's CLM ecosystem that uses an open commercial development model. I describe the flow of product requirements information through the ecosystem, how the open communication paradigm in software ecosystems provides opportunities for 'just-in-time' requirements engineering, as well as some of the challenges faced when traditional requirements engineering approaches are applied within such an ecosystem. More importantly, I will discuss two tradeoffs brought about the openness in software ecosystems: i) allowing open, transparent communication while keeping intellectual property confidential within the ecosystem, and ii) having the ability to act globally on a long-term strategy while empowering product teams to act locally to answer end-users' context specific needs in a timely manner.
Eric Knauss Senior Lecturer in Software Engineering Chalmers and University of Gothenburg. His main research interest is in managing the Flow of Requirements and related Knowledge in Distributed and Cross-Organizational Software Engineering Projects, thus touching on Requirements Engineering, Software Ecosystems, Agile Methods, and Communication in Global and Large-Scale Software Development.