The Engineering Coaches Team — Another tool in the RBI DevOps Toolbox
The Engineering Coaches Team — Another tool in the RBI DevOps Toolbox
Imagine you have teams in your company that work well from their perspective, they have optimised their ways of working over many years but now they find out that this finely tuned process does not fit to the market needs any more. Things need to change — the team is required to deliver faster, in smaller iterations and with low risk.
Methods like Continuous Delivery require a lot of knowledge, skills, and discipline. Rather sophisticated tooling must be set up and many processes need to change. Just recently, I wrote about RBI’s approach for engineering teams to find high leverage transformational activities in a structured way. Check it out here.
How to start?
Let’s assume that the team has identified important improvement areas, but now the next difficulty appears — how to start? How can you embark on your improvement journey if you don’t know the required practices, if you are missing the necessary knowledge and skills?
Of course, you can try to figure out things on your own and this may be a quite useful and entertaining activity. But wading around in this sea of endless possibilities can be very frustrating and from a company perspective, it is certainly useful to provide a helping hand to teams that want to improve.
And this is exactly the point in time when our team of Engineering Coaches enter the stage!
The Agile Engineering Coaches
I would like to expand a bit on how we shape this role in our company and share some experiences we had.
The engineering coaches are a team of Senior Engineers with quite some (practical) experience in the area of CI/CD and Testing/Test Automation. Their task is actually straight forward: work with the hosting teams and coach them in what is needed to acheive the identified improvements — practical, hands on collaboration. Coaches help in setting up test strategies, automated testing frame works, CI/CD pipelines, and maybe also work on coding practices like reasonable branching or security scanning.
It is a bit more complicated…..
So far so good. But it is clear that however we structure this support activities, we must avoid the well-known problems of a centralized team of experts: becoming a bottleneck and a dependency.
We tried to avoid this by defining a kind of framework how engineering coaches are interacting with the hosting teams but also how they make sure that they have the appropriate skills, knowledge, and alignment.
An important inspiration was the concept of Enabling Teams as laid out in Matthew Skelton’s and Manuel Pais’ book “Team Topologies”.
Let me lay out the framework briefly:
Before coaches work with teams, a maturity review is done. This helps to create a joint understanding of the most important improvement areas
The team agrees with the engineering coach on a more or less fixed scope of work and a time box for the coaching. Assignments usually last between 3 to 6 months. After that, the coach leaves the team.
This of course requires that the hosting team has sufficient capacity. Coaches are not with the team to do the work FOR them but WITH them. The team needs to be able to do the work on its own, after the coach leaves.
If during the assignment the team is losing people with the effect that the coach would need to do the work, the coach leaves.
Coaches work ideally around 50% of their time with the team. The rest of their time is used for self-training, training others and community work in guilds and chapters
The coaches are also expected to be ambassadors for our central engineering platform and must be able to explain the benefits of good engineering practices. As they get in contact with many people they can also collect and promote ideas for our reuse/InnerSource programs.
Based on these expectations I think it is sufficiently clear that this is quite a demanding job. It not only requires deep technical knowledge but also great coaching skills.
Additionally, as most of the people working in this area will know from painful experience, many problems in transformation processes are not of a technical nature. Engineering Coaches must understand the socio-technical nature of their work and make sure they are in close alignment with Agile Coaches if they are also active in that area.
As a side note this is of course also true in the other direction as Agile Coaches need to understand that any notion of agility in the way of working for a team is deeply connected with good engineering practices!
Experiences
Our experiences are overall really good but there are also some things we are struggling with:
Keeping the pre-agreed time box is often difficult as coaches take real ownership and have a hard time leaving if things are not completely done.
Making sure that hosting teams have sufficient capacity is hard sometimes. We are rather strict here and have cancelled assignments.
Demand is high but we only have limited capacity — in some cases coaches work with more than one team. This limits ownership but sometimes is unavoidable.
Prioritisation of assignments can be quite difficult and must be decided also strategically. This may leave some teams quite disappointed.
The 50% capacity limit for assignments can only be reached on average. There are times when the coach is needed more. It is difficult but very important to have good time management!
The work coaches are doing is highly appreciated by the most hosting teams. What teams like the most is the hands-on approach that entirely different from a kind of consulting where potential improvements are presented in slide decks but then the team is left alone.
Coaches really can make a difference here and speed up the process of improvement tremendously while enabling the teams to learn and gain experience in a guided way.
BTW, if this kind of work sounds interesting to you, we are hiring. Check it out!
If you want to know more about our Engineering Maturity Assessment, you find the article here: https://rruzitschka.medium.com/the-engineering-maturity-review-a-team-self-assessment-approach-to-improvement-d3fac629d161