Recommended Software development life cycle
This is my SDLC framework for teams to manage the complexity of software development and ensure that products are delivered successfully. We want to constantly release to production based on team communication, QA engineers’ review, QA roles and responsibilities and automated tests.
By integrating CI/CD into the SDLC process, development teams can identify and fix issues early in the development process, reduce development cycle times, and achieve faster time to market. The CI/CD pipeline automates the build, testing, and deployment of software products, enabling development teams to deliver high-quality code more quickly and with greater efficiency.
Trunk-based development workflow
Trunk-based development (TBD) is a popular software development methodology that emphasizes the continuous integration of code into a shared mainline or “trunk.”. Trunk-based development encourages developers to commit their changes frequently and ensures that code changes are tested in the same environment as the rest of the codebase. This helps to prevent integration issues and reduces the likelihood of bugs making their way into production.
Release Life cycle
- Developers will merge to the Main branch and deploy to development after getting at least one approval.
- Developers will trigger the staging deployment after manual testing and E2E tests pass.
- QA will manually test on staging and start working on an automated E2E test for the User story.
- Developers will release to production after the approval from QA engineers and Product owner
- Developers will close the User stories after the Product Owner approval
- QA will finish the automated E2E tests covering the user journey of the feature
Release to the development environment
The code merged to the main branch is automatically deployed on the Development environment and run E2E tests.
Release to the staging environment
The staging release is triggered after creating a release-*
tag.
Release to the production environment
The production release is a manual step. Once the Staging E2E test passes, a manual job button will be enabled, and then we can click on Production deploy job to release the code to production.
Tech leadership playbook
Check out my tech leadership playbook