Introduction
The Department of Information Technology uses an agile methodology for developing and digitizing government services. The process for developing a digital service consists of a cycle of four different phases:
Discovery phase​
The first step of the process is to understand what is the service, what are the problems that the service is going through, what the user needs, and what are the constraints related to this service. Understanding all these concepts will help in digitizing or developing the service in the best way possible. The discovery phase is a crucial part of the project life cycle, that is why all the conducted research on the service and the users (citizens or government employees) is documented. This documentation is used later on in the development phase for developing the software the best way possible before shipping it to production.
Development phase​
When enough requirements are documented after the discovery phase, the Development team starts developing the system with the latest technologies and standards. Additionally, the DevOps team starts preparing the development environment, and builds the CI/CD pipelines for the project. In this phase the system goes through an iterative development process until the software is ready for production. At the end of each iteration the Business Intelligence and Requirement Analysis team checks if all the requirements are met, then the Quality Assurance team will start testing the software before it is released.
Quality Assurance Phase
Once the development of the software is complete in each sprint, it will be handed over to the Quality Assurance Team along with the technical documentations prepared in the Discovery Phase.
Based on the provided technical documentations, the QA team will plan and test the system properly. When there is a bug or an improvement needed, it will be reported to the development team. Upon a fix by the Development Team, it will be re-tested by the QA team again. This cycle will continue until the software is stable to ensure delivering high-quality services that match user needs and stockholders expectations.
It is highly recommended to involve the QA Team from the early stages of the Software Development Life Cycle (SDLC). Integrating QA practices at the beginning will result in a well-planned and executed project that successfully delivers high value to the stockholders.
Production phase​
After the software is developed and tested, it is shipped to production. Even in production the software is still monitored for any error or bugs for further improvement. If there are any changes that need to be made, the cycle goes back to the discovery phase where the Business Intelligence and Requirements Analysis team starts researching the changes. Furthermore, handover details of the changes to the Development team, and after changes have been implemented shipping it back to production again.