As a software professional, you might already be aware of different software development methodologies that people practice. Irrespective of the methodology being followed, there will be multiple environments, such as dev, staging, and production, where the application life cycle needs to be followed with the following critical stages related to development:
- Develop based on the requirements
- Build the application and fix any errors
- Deploy/release the package to an environment (dev/stage/prod)
- Test against the requirements
- Promote the release to the next environment (from dev to stage and stage to prod)
Note that for the sake of simplicity, initial stages, such as requirement gathering, planning, design, and architecture, are excluded just to emphasize the stages that are relevant to this chapter.
For each change that you make to the software, we need to build...