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