Communication and team organization can work for you or against you, especially as you move from one team to scaling these concepts into a whole organization.
- Pivoting from a traditional waterfall to an Agile and Lean DevOps process can be very hard for an organization. Development teams might be aware of pair programming, Scrum and Kanban, but knowing about a practice and actually performing it are two very different things. It might also be daunting to get operations on board with this idea or the idea of Agile infrastructure. Some ops organizations might only care about system uptime and how to maximize that, and not about real business need.
Back in 1967, programmer Melvin Conway proposed what became known as Conway's Law. It states that organizations end up producing systems whose design copies their organizational communication structure. Given this, how you organize your teams and lines of communication become pretty critical to your product outcome. It's important to take this into consideration as you move through your DevOps transformation. One practice that works really well is to create pilot projects, where you can greenfield new ideas with a team of devs and ops who can build and run the product independently.
Pick team members who can communicate effectively and can see different perspectives. From a project perspective, first implementations are often difficult and you end up learning many lessons. Both Agile and Lean methodologies force the issue of communication among the team. It might be forced, and team members might feel threatened when a Scrum master goes into technical details that might not happen in a traditional waterfall scenario. Remind the team members that the goal is to build great software and everyone is working together to do this.
The annual State of DevOps Report collects data around DevOps practices in large number of organizations. It's found a correlation between high-performing organizations and a generative performance scoring to culture. This is described by the Western model of organizational culture, which is developed by a sociologist to predict better outcomes in the healthcare industry. The model breaks down organizational culture into three types, pathological, bureaucratic, and generative. Generative cultures are exemplified by cooperation and inquiry.
Double down on the communication part. If you don't already have a persistent group chat, create one and add all the team members to the channel. Maybe add different channels for builds, alerts, and deploys as well. Establish a habit of asking questions in the chat. Any fear of asking questions or identifying areas for improvement should be removed, and instead they should be considered a normal, expected practice. Always try to have team members demo the work at a sprint demo meeting, and take time to do retrospectives.
In a Lean and Agile world, everyone is always learning and always trying to improve. As you scale out your transformation into your larger organization, look to reduce barriers to communication. You can't always mix all the disciplines onto each team, but the concept of creating self-motivating and sustaining sales is important. There are methodologies like the scaled Agile framework that help you unwind the complexity of implementing Agile teams. Understand that goals and expectations of different groups in their organization need to be clear before embarking on this journey.
Allow teams to be empowered, to make decisions which might've been the role of upper management in the past. Making mistakes shouldn't be admonished, but rather expected and learned from quickly. Doing all of this effectively and building a learning organization will take time. And it's okay to take two steps forward and maybe a step back if need be. Coming up, we'll cover strategies and common challenges faced when we try and implement new ideas within an older organization.
- What is agile?
- What is lean?
- Measuring success
- Learning and adapting
- Building a culture of metrics
- Continuous learning
- Advanced concepts