Emily Bache - Technical Leadership for Empowered Teams
As technical leaders we aim to help all the developers in our organizations to make better choices. How do we do that when empowered/Agile/DevOps teams make many choices independently? In this talk you will learn about a coaching technique for building up people, skills and teams.
In a DevOps world of Agile empowered teams, exerting technical leadership across an organization is challenging. When I was a junior to mid-level developer, the technical leaders in my organization were called Architects. Day to day, I saw little of them. The help they gave me comprised mainly of architectural diagrams to guide development work, and compulsory standard tools and frameworks. Occasionally they would hold workshops with the whole team and go through important technical decisions. These people, although once skilled programmers, did not write code themselves any more.
More recently, I've found DevOps to be a great way to get teams aligned with sensible shared goals, and to ensure they there is enough automation so there is time available for the important work of developing new features. I'm seeing a lot of people migrating to a microservices architecture, and gaining advantage from smaller, more manageable codebases. This is all good stuff. My biggest concerns now that I am a more senior developer and technical leader, is how to ensure the code produced is of good quality, has automated tests, and follows broad architectural guidelines. These concerns are similar to those of the past, but in my opinion the kind of technical leader we need today looks a lot more like a coach than a traditional architect.
Lately I have been using a coaching method that was originally developed by Llewellyn Falco. It involves first teaching each development team how to do mob programming. This is combined with a short daily training class teaching agile development techniques. Once each team has learnt mob programming, you can use this forum to coach them in their codebase. It's the most effective way I have found so far to teach a skill like Test-Driven Development. I believe you can also use this coaching method to encourage consistent use of other coding techniques, libraries and frameworks.
In this talk you will learn what Mob Programming is, what it is good for, and how I am using it. I hope hearing about my experiences will help you to add this coaching technique to your arsenal as a technical leader in a modern, Agile, DevOps organization.