For this research project, instead of a plan-driven or a disciplined methodology, we use an Agile Software development framework, SCRUM. But what is SCRUM?
SCRUM is an iterative, incremental framework for agile software development. Scrum encouraging co-location, and verbal communication across all team members and disciplines that are involved in the project. A key principle of SCRUM is its recognition that during a project the requirements could easily change , and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. As such, Scrum adopts an empirical approach, accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team’s ability to deliver quickly and respond to emerging requirements. There are several implementations of systems for managing the SCRUM process, which range from yellow stickers and whiteboards, to software packages. One of SCRUM’s biggest advantages is that it is very easy to learn and requires little effort to start using.
But, how can this be useful within a research environment and how can it help in short-term projects where a scientific article has to be produced? In fact, using an agile development methodology:
- Allow Rapid and Continuous delivery. An Iterative development with small iterations (1 week) is encouraged and progressively align the business needs with business goals. Working software is the measure of progress of the project, so by any time we have e a operational prototype functioning.
- Fast Responding to changes as we use adaptive and flexible methods. Allows a project’s direction to be redefined on completed work, not on speculations and predictions. As some of project topics are not well researched and state-of-art tools and methodologies are being used, the requirements could easily change and we have to be cautious.
- Collaboration between self-organizing and cross-functional teams. It is important as each team member is an expert in one domain area.
- Continuous Cooperation between business individuals and developers. Collaboration between experts and stakeholders, which permanent feedback has to be taken in account.