This guidance is in addition to the Agile Methodology & Software Development Cycle Video and describes Agile Methodology and how it applies to Primero.
Agile software development refers to a group of software development methodologies based on iterative development.
The steps in the software development cycle include defining requirements, UI design, development, quality assurance, deployment and support and maintenance. In this guidance we will walk through how Primero applies Agile methodology in each one of these steps and how each of these steps are currently managed.
The Primero team utilizes an agile methodology because cross-functional project stakeholders are:
- Available to provide input,
- Customized functionality of software is needed quickly,
- Flexibility is desired due to accommodating the various requirements depending on the country context, and
- The respective teams and steering committees are able to effectively collaborate.
This iterative approach allows Primero to accommodate various needs.
- Defining Requirements: currently feedback is gathered directly by the CPIMS+, GBVIMS+ and MRMIMS+ coordinators. Feedback is then translated into user stories and provided to the development teams for clarification and estimation of effort. Development will commence once requirements are clear and consensus is met. Management of the development cycle is completed by the product owner.
- UI Design: once requirements are defined and there are changes required in the user interface, the development team shares wireframes of those changes for sign-off with the product owner.
- Quality Assurance: a team of testers who are tasked with ensuring that the system is not breaking, there aren’t any bugs preventing the functionalities and workflows of the system, and that the system is functioning as per the business requirements. Currently in Primero, the development team shares a test environment of their code with the QA team. They will provide the QA team with user logins, user stories and test scenarios to review. The QA team will unit test, regression test, script and run automated testing, and conduct smoke testing. If bugs arise during testing, the QA team reverts back to the development directly to fix any issues. All instances of Primero are required to undergo thorough QA testing to ensure quality prior to going live.
- Deployment: once QA is complete and signed off, configuration, deployment or releases of the new functionality can go ahead. Release information can be found on the support hub at support.primero.org. Here you will find release notes and accompanying videos summarizing any new functionalities.
- Support and Maintenance: provided on an on-going basis for all functionalities and processes of Primero. The support hub is where the team manages support tickets and assigns them directly to the respective development teams for troubleshooting. The support hub is centrally managed by the Primero team.