
Agreements
Aligning Teams for Success: How Clear Agreements and DevOps Practices Drive a Smooth Cloud Transition
- Roles and Responsibilities: Clearly define who is responsible for what tasks, such as code deployment, infrastructure management, monitoring, and release management. But also on who is leading the standup and who does stakeholder management.
- Communication Protocols: Agree on how and when team members will communicate, such as preferred tools (Slack, Jira, etc.), what kind of work framework (Kanban, Scrum), the frequency of meetings, and protocols for urgent issues. When is it allowed to contact who?
- Code Review and Quality Standards: It is also important to set expectations around code reviews, pair programming, and standards for coding practices (e.g., naming conventions, testing). Who is allowed to approve changes? The four-eye principle.
- Branching and Merging Strategy: Define the branching strategy to follow (Gitflow, trunk-based development) and the process for code merging and resolving conflicts. Never force!
- CI/CD Pipelines: As we are changing to a DevOps way of working, the power of CI/CD needs to be explained thoroughly. So, outline the expectations for continuous integration and continuous deployment, including what automated tests or security checks need to be run before deployment.
- Monitoring and Incident Response: Without observability, you are basically fishing in the dark. Agree on monitoring strategies (e.g., logs, dashboards) and outline a playbook for incident response, including escalation paths and on-call rotations. Moving to a DevOps way means you build it, you run it, you own it
- Collaboration with Other Teams: Define how the team will collaborate with other departments like QA, Security, or Product Management.
- Feedback and Continuous Improvement: Encourage a culture of continuous feedback, retrospectives, and learning, fostering improvements in both processes and technology.