The Agile Process for Software Development in the GreenSCENT Project
Alessandra Aurelio (Engineering team) – 20th December 2022
The main objective of the GreenSCENT Project is to support the implementation of the Green Deal policy through the involvement of EU citizens, especially young people, in the co-creation, testing and validation of a Multidisciplinary European Competence Framework (GreenComp) covering the main thematic areas of the EU Green Deal.
As part of the project, in order to carry out the stakeholders’ engagement process, Egineering (ENG) will develop a set of tools provided in Work Package 3 (Wp3), which we define as Digital Demonstrators.
In WP3 ENG will therefore be in charge of the agile and iterative development of the GreenSCENT mobile application and of the GreenSCENT storage and distribution platform, together with its open access semantic Application Programming Interface (APIs).
The development of the software components that build the Digital Demonstrators is carried out following Agile approach, a methodology that enables a high level of interaction among the technology partners and the different stakeholders, in order to achieve an output that meets the requirements of all partners involved in the production process. Agile software development is a set of techniques and methodologies that allows speeding up the time to market of additional applications or functionalities, achieving higher quality code and bringing the product in line with user requirements and needs. The main advantage of this methodology is that the engineering team can implement new requirements and changes requested by stakeholders on an ongoing basis. This makes the process flexible and ideas can be adapted as the project grows. This makes future results even more inspiring.
In particular, ENG will follow SCRUM, which is one of the most popular frameworks for agile software development. SCRUM is an incremental and iterative process based on repetitive cycles of activities (Sprints) and basically adds organisation and structure to the Agile approach. Each block takes 2-4 weeks and is aimed at achieving an increment or small improvement in the application, such as additional functionalities, bug fixes, etc., while keeping the direction towards the final goal. During the Sprint, the objectives set in the planning phase remain constant, as well as the duration: once the deadline has been reached, the Sprint ends even if not all results have been achieved. If the objective of a Sprint becomes obsolete and clearly useless, an entire Sprint can be cancelled: but given the short duration of the Sprint, this is a very rare occurrence.
After development, the aim is to gradually and frequently release updates and new functionalities. Users, including the various stakeholders of the GreenSCENT project, can start using the new versions right away, benefiting from the improvements immediately, without waiting for the final version. At the same time, they can report problems and suggestions for changes or improvements. Developers thus get valuable feedback on the outcome of the project, being able to correct errors and fix bugs during the development phase, thus reducing the risk of possible failure.
In order to successfully meet these objectives, the technology partners of the GreenSCENT project organise regular meetings to discuss new developments and receive feedback on previous ones, sometimes also to solve any software problems that may occur. This process allows all project partners to be always aligned and in agreement on the partial results and, consequently, on the final outcome of digital demonstrators.