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.

Under the auspices of my PhD program at UVic, I’ve started an ethnographic study at the IBM Software Lab on 770 Palladium Drive, Kanata, Ottawa, ON. I will be collaborating with the software engineering team for the following two objectives:

  1. Understand how the IBM CLM team members coordinate work items and collaborate, given the fact that the team is not collocated. As part of this objective, I’ll be presenting ProxiScientia, a visualization tool I have developed with Adrian Schröter to measure software development proximity between collaborating developers.
  2. Conduct interviews with individual software developers to gather data around requirements ecosystems

In particular, I’ll be involved with highly-distributed teams working on several aspects of the CLM solution. The Collaborative Lifecycle Management (CLM) infrastructure integrates three core products: change and control management (a.k.a. Rational Team Concert, RTC), requirements gathering (a.k.a. Rational Requirements Composer, or RRC), and testing (a.k.a. Rational Quality Management, or RQM). All three products are pillared on the IBM Jazz Foundation, also referred to as the Jazz Application Framework, or JAF. Pretty exciting stuff! To learn more on the Jazz metaphor as well as the collaboration principles, this book by Adrian Cho is sufficiently elucidating, on top of the dedicated website.

I’ll be working extensively with the teams until August, after which time I’ll be disseminating related research.