During my research work at IBM Ottawa in 2012, I had the opportunity to carry out ethnographic studies of software developers and testers in order to understand how they collaborate and how requirements are managed among them. From the large amount of data I was able to gather from interviews, developed work, and observations, I was able to coauthor “Openness and Requirements: Opportunities and Tradeoffs in Software Ecosystems” with Eric Knauss, et al. Download a PDF here.
A growing number of software systems is characterized by continuous evolution as well as by significant interdependence with other systems (e.g. services, apps). Such software ecosystems promise increased innovation power and support for consumer oriented software services at scale, and are characterized by a certain openness of their information flows. While such openness supports project and reputation management, it also brings some challenges to Requirements Engineering (RE) within the ecosystem. We report from a mixed-method study of IBM’s CLM ecosystem that uses an open commercial development model. We analyzed data from from interviews within several ecosystem actors, participatory observation, and software repositories, to describe the flow of product requirements information through the ecosystem, how the open communication paradigm in software ecosystems provides opportunities for ’just-in-time’ RE, as well as some of the challenges faced when traditional requirements engineering approaches are applied within such an ecosystem. More importantly, we 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.
Research presented in this paper follows preliminary investigations reported in another paper we published in 2012.