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.

Following my ethnographic research work at IBM Ottawa, my colleagues and I published the following paper (PDF here):

IT ecosystems are large software systems that consist of various, constantly interacting and partly autonomous subsystems as well as stakeholders of the overall system. Because of these specific properties, such systems are a highly relevant research area in the field of requirements engineering. In this paper we describe our approach to investigate and to model the flow of requirements in IT ecosystems. We are currently applying this approach in a case study in the IBM Collaborative Lifecycle Management project. This project is of particular relevance to the requirements engineering community because of its open commercial approach. This paper contributes by highlighting challenges of requirements engineering in IT ecosystems, i.e. contextualizing requirements, mapping them to subsystems, and communicating them to stakeholders. We define research questions and describe a mixed method approach to answer them.

We had set out to understand three phenomena:

  1. How requirement mapping is done
  2. How context is captured during elicitation
  3. How teams coordinate and communicate during a project