Adapting agile software development for research projects
By Petri Kannisto, VDEh-Betriebsforschungsinstitut (BFI)
Agile methods have proven beneficial in software development, and because many research projects develop software, they can benefit from agile methods too. Still, the methods must be adapted to the specific needs of collaborative research projects.
As compared to pure software projects, the special characteristics of research projects are as follows.
- Challenges occur in planning due to the commitment of the participating persons to multiple tasks beyond software development. The tasks include a mixture of coordination, publishing and reporting.
- Difficulty exists in coordination due to the loose relationship between organizations. The organizations can interact over national borders, and the roles of the organizations are not always explicit.
- The underlying motivation is not only “working software” (as assumed in scrum, for instance) but also a mixture of project KPIs or other promises made between the partners.
- A steep learning curve can be faced, because a lot of researchers have no previous experience about software development methods.
The special characteristics can be met with a few adaptations. The cycle time or sprint duration must be longer because the mixture of duties causes slowness, often beyond the direct control of each researcher. Furthermore, there must be flexibility considering the steep learning curve of the methods to the persons with less background in software engineering. That is, the attitude must be flexible regarding the agile practices, and not everything should be strictly required. Additionally, as issue lists are collected, the researchers should focus on items that require interaction between the organizations and could potentially cause problems over organizational borders if delayed.
Multiple tools exist to help in coordinating the sprints. These include, for instance, GitHub projects and Jira. In ALCHIMIA project, GitHub was chosen because many researchers already had a user account and the platform is free of charge. On the other hand, its issue management tools are easy to learn, providing a visual Kanban board.
In ALCHIMIA, agile methods have already shown their power. The cycle-based method brings routine to communication as the researchers meet weekly to briefly explain their progress and plans. The selected cycle time is 5 weeks to enable flexibility in planning. Furthermore, the Kanban board provides a systematic method to plan tasks as well as a communication platform more organized compared to emails. The platform enables anyone to see an overview of the current tasks and the related status information.