Non exhaustive list of process that a Software Engineering team can implement. Note that process should also be removed sometimes, not only be added. ## Planning - Brainstorming sessions - Involving engineering in planning with other disciplines, such as design or business stakeholders - Project kickoffs - Design documents/requests for comments (RFCs) - Architecture decision records (ADRs) ## Building - Prototyping - Code reviews - Automated testing - Continuous integration - Documenting decisions ## Releasing - Continuous deployment - Release plans - Feature flags and experimentation - Signing off with stakeholders, such as product, compliance, security - Gathering feedback from customers - Canaries and automated rollbacks ## Maintaining - Oncall process - Support engineering - Incident reviews - Improving infrastructure and platforms - Periods of non-product development, such as fixing tech debt, improving infrastructure ## Engineering productivity - Team retrospectives - Handling tech debt - Investing in efficient tooling like CI/CD, helpful scripts, etc. - Reducing frequency of meetings - No-meeting days ## Team health - Team events and offsites - Spontaneous team events like getting ice cream. For remote teams, organizing events where everyone gets together, or virtual, fun events - Celebrating team and individual achievements