There are numerous software programs (applications) running in any IT infrastructure. These applications can be a diverse range of low-level system programs, middleware, or end-user programs running on different platforms from the Web to mobile devices. Irrespective of this diversity, they all typically go through a similar life cycle from their inception to retirement.
Following are the four default life-cycle stages that come with WSO2 App Factory:
- Development: Application is still being built. Developers are writing code according to requirement specs given by stakeholders.
- Testing: After the application is built, it goes to the Testing stage. In this stage, the application's functionality is tested against requirement specs in environments separate from the development.
- Staging: An application moves from Testing to Staging after certain standards and policies are satisfied. In Staging, the application's security details are verified.
- Production: This is the final destination of the application and where the end users and stakeholders usually do the final acceptance tests before launching in business. In extreme Agile development environments, applications can be pushed to the production stage several times a day.
Each of these stages is typically managed by the following IT roles defined in App Factory by default:
- App Owner: The app owner creates an application and invites users to collaborate on it as any of the roles below. This role is automatically assigned to any user creating an application.
- Developers: Developers check out the source code from source control systems and write code for the application. They deploy the application in a development environment and test the application. Once certain standards are met, they promote the application to the Testing stage, at which point WSO2 App Factory automatically deploys the application to the Testing environment.
- QA: QA users run tests on the developed applications to verify that they satisfy the requirement specs or quality standards. If a defined percentage of tests pass, the application is promoted to Staging. If not, it is demoted back to development. The QA role also deploys the application to the staging environment.
- DevOps: DevOps users verify the application in the Staging environment and either promote it to Production or demote it back to QA.
For details of these life-cycle stages and roles, see Building your Team.
The following diagram provides an overall view of the life-cycle stages of an application, their IT roles, and the responsibilities of each role. The check boxes in the diagram represent the preconditions to promote an application from one stage to another. This sample life cycle can be completely adapted to your enterprise needs, should it be in terms of life-cycle stages, roles or pre-conditions.
Next, see WSO2 App Factory features.