Dominik Renzel
Advanced Community Information Systems (ACIS) Group
Chair of Computer Science 5 (Databases & Information Systems)
RWTH Aachen University
Aachen, Germany
In this tool description, we highlight the integration of Requirements Bazaar with Atlassian JIRA, a professional issue tracker widely used in professional (Open Source) software development. In particular, we refer to Requirements Bazaar's workspace integration concept and its support for a two-way event message exchange mechanism to keep both end-users and developers informed about events in the co-creation workflow.
During our early work [1, 2] on Large Scale Social Requirements Engineering (LASSRE) and the evaluation of first system prototypes, we thought of Requirements Bazaar as "the one place to be" for both end-users and developers. End-users were reportedly intimidated by the technical jargon and high entry barriers of issue tracking systems normally used by developers. Therefore, end-users would receive a system that is easier to access and more intuitive to use than professional systems, thus raising end-user participation in LASSRE. Developers would in turn receive access to previously unavailable end-user input. However, evaluations of these early prototypes revealed that developers were unhappy with this approach, since it required them to use yet another system on top of the development support systems, in particular issue trackers they were used to and would not stop to use. Our conception of Requirements Bazaar thus changed to a portal hub that is integrated into an ecosystem of both end-user and developer workspaces. Requirements Bazaar therefore includes a workspace integration concept and several technical integration features. Requirements are collected either from within end-user applications (see also the tool description "Integrating Requirements Bazaar into the ROLE SDK" in this special issue) or the Requirements Bazaar itself and are then negotiated among end-users and developers. With sufficient negotiation and maturity of a requirement, developers can then take the lead for a realization and transfer the requirement with all its attached artifacts to their favorite issue tracker. With this step of commitment, a requirement proceeds into the assigned stage, and a two-way message exchange starts between Requirements Bazaar and the issue tracker. The highlighted area in the red box in Figure 1 shows this two-way message exchange.
Figure 1. Developer workspace integration of Requirements Bazaar with an issue tracker
In one direction, Requirements Bazaar initially exports a requirement as new issue and from then on forwards all activity and artifacts for this assigned requirement to the corresponding issue. Synchronization also works in the other direction. Once issues are resolved or closed in the issue tracker, the corresponding requirement in Requirements Bazaar pushes notifications to its followers and offers a link to a realization. In this tool description, we discuss Requirements Bazaar's means of integration with typical developer workspaces on the example of Atlassian JIRA [3], an issue tracking system popular among professional (Open Source) software developers. In particular, we guide the reader through the process of committing to become a lead developer for a requirement in Requirements Bazaar and then continue work in the issue tracker. Finally, we provide some implementation notes on how this integration was realized. We should emphasize that conceptually, Requirements Bazaar is not limited to this particular issue tracker Atlassian JIRA. From an implementation perspective, Requirements Bazaar is designed sufficiently open, such that further integration modules for other issue trackers could easily be implemented and contributed by the Open Source community (Requirements Bazaar itself is Open Source Software). The only prerequisite is that the particular issue tracker supports a RESTful API. This is increasingly the case for many modern systems of that kind, either directly from the provider as for Atlassian JIRA or by the Open Source community around it, as in the case of the Mantis Bug Tracker. To initiate the process of connecting Requirements Bazaar with an Atlassian JIRA issue tracker, a committed developer clicks the "Become Lead Developer" on an open requirement page (cf. Figure 2).
Figure 2. Become Lead Developer button on open requirement page
A wizard then supports the developer in exporting the requirement into an issue tracker of his choice (cf. Figure 3). The first step consists in selecting an issue tracker from a list of already registered issue tracker instances or to add a new one. The developer then has to provide his credentials for the issue tracker, such that Requirements Bazaar can export the requirement in his name. The second step consists in choosing a project hosted on the previously selected issue tracker and providing type and description of the issue to be created. Requirements Bazaar auto-fills the description field with the description of the requirement. The third step simply informs the user to spread the word about the new issue and is therefore not shown in Figure 3.
Figure 3. Wizard guiding a developer through the process of exporting a requirement to an issue tracker
On successful completion of the wizard, the corresponding requirement proceeds to the assigned phase, and a new issue is created on side of the issue tracker. Any further comments or artifacts added to the requirement are from now on also pushed to the corresponding issue. Figure 4 shows an example issue page in JIRA. The requirement's title is also used as issue title. The same holds for the requirement/issue description. Any artifacts added to the requirement are listed as issue attachments (e.g. stories as textfiles, screenshots as images). Any comments added to the requirement in Requirements Bazaar are shown in the issue comments section with explicit back links to the corresponding requirement page in Requirements Bazaar. The developer who created the issue is also treated as its assignee.
Figure 4. Example issue in JIRA exported from requirement in Requirements Bazaar
We furthermore include the notion of significant events in both Requirements Bazaar and JIRA, in particular status changes. If the developer closes an issue related to a requirement in the issue tracker, then the corresponding requirement is marked as realized on Requirements Bazaar automatically. The other way around, when a requirement is marked as realized on Requirements Bazaar, then the corresponding issue gets closed in the issue tracker. Technically, the two-way integration between Requirements Bazaar and multiple instances of Atlassian JIRA issue trackers is realized via the JIRA RESTful API. Pushing new issues or additions to existing issues from Requirements Bazaar to JIRA consists in a number of simple REST calls and happens in real-time. Each open/assigned requirement description includes a link to the respective issue resource. To make Requirements Bazaar users aware of developer events on a respective JIRA issue, we periodically poll for issue status, again using JIRA's REST API. Once a requirement reaches its status of realized, developers can still access the corresponding issue and update links to current realizations of the requirement (cf. Figure 5).
Figure 5. Realized requirement page in Requirements Bazaar
Acknowledgements
The research leading to these results received funding from the European Commission’s 7th Framework Programme (FP7/2007-2013) under grant agreements 231396 (Responsive Open Learning Environments) and 318209 (Learning Layers).
REFERENCES
[1] R. Klamma, M. Jarke, A. Hannemann, and D. Renzel, “Der Bazar der Anforderungen - Open Innovation in emergenten Communities,” Informatik-Spektrum, vol. 34, no. 2, pp. 178–191, 2011. [2] E. L.-C. Law, A. Chatterjee, D. Renzel, and R. Klamma, “The Social Requirements Engineering (SRE) Approach to Developing a Large-Scale Personal Learning Environment Infrastructure,” in 21st Century Learning for 21st Century Skills, ser. Lecture Notes in Computer Science, D. Hutchison, T. Kanade, J. Kittler, J. M. Kleinberg, F. Mattern, J. C. Mitchell, M. Naor, O. Nierstrasz, C. Pandu Rangan, B. Steffen, M. Sudan, D. Terzopoulos, D. Tygar, M. Y. Vardi, G. Weikum, A. Ravenscroft, S. Lindstaedt, C. D. Kloos, and D. Hernández-Leo, Eds. Berlin and Heidelberg: Springer, 2012, vol. 7563, pp. 194–207. [3] Atlassian, “JIRA - Issue & Project Tracking Software,” [Online available] https://www.atlassian.com/software/jira, 2014. |
E-Letter > STCSN E-Letter Vol.2 No.3 >