A few months ago, I participated in the Berlin Scrum Gathering organized by Scrum Alliance, where I discovered that there are many organizations which dedicate a lot of time to mentality change. They have adopted an agile mindset as an answer to a fast changing environment, with fast changing customer needs, in which a few lost moments can result in a lot of unnecessary work.
When we talk about Agile, we talk about a mindset, about being able to react in time to change, about a group of methodologies based on incremental, iterative development and about close cooperation between team members with cross functional expertise.
Discussing with some of the people from the organizations I have mentioned before, I came to the conclusion that each of them came with a set of problems and challenges that they were dealing with or have dealt with during the change process. Some of the organizations were in an early stage and they needed an insight regarding the core principles of the agile mentality, others were already on a clear path and just needed counseling. The question that I asked myself was how can an agile coach find a way to channel relevant information depending on the level the client is at?
The answer to my question was given by Ken Power, who talked during the conference about different entities and dynamics an agile coach can approach when presenting the aspects of an agile mentality in an organization. Depending on the needs of the client, an agile coach needs to adapt his/her way of sharing the information. These entities are determined by the customer orientation which can be focused on results or knowledge gaining. It results in a number of nine entities which are: coach, counselor, facilitator, hands-on expert, modeler, partner, reflective observer, teacher and technical adviser.
Figure 1
The purpose of the reflective observer is to take part in day to day team activities, observe and comment based on what he/she sees. His/her main focus should be team events such as daily stand-ups, sprint planning, retrospectives, sprint review or the collaboration between team members. Without being intrusive, the observer can also view general interactions during lunch breaks and then comment on how team members communicate, talk or listen to each other.
By doing all the things above, the reflective observer can detect any possible problem that can arise in any working environment and come up with solutions that can handle and fix them.
One of the most common entities when it comes to agile coaching is the technical adviser. In our jobs it is critical to give and receive advice in order to avoid spending time on problems that should be resolved quickly. What differentiates this role from some of the others is the fact that, in order to give advice, you need to have a starting point. In our particular case, when we are talking about agile mindset in an organization, the client knows what he wants but he just needs a second opinion.
For this type of relationship to work, the client needs to be open minded and have a clear vision of the problem he is facing. Also, he should be willing to explain in detail what the solutions he came up with are. In the other corner, the technical adviser needs to be able to ask the right questions at the right time. By doing so, there is a chance that the client will become sure of a solution without having to actually hear the advice.
Lately, this type of approach is used in many organizations or at gatherings, one example being the Coaches Clinic which is a big success at Scrum Gatherings. In these clinics a 15 minutes discussion is enough for any person to receive some advice regarding a problem. If we do not find at least one piece of advice in this time, then maybe the person helping us should not be a technical adviser but one of the other entities/roles described above.
As the name suggests, the hands-on expert is the one who knows where the problem is and how it needs to be solved. After analyzing the situation, he will know what measures have to be taken for everything to run smoothly within the agile organization. There are many ways to do this. For example: act as a Scrum Master for one or more sprints, do pair programming with developers, choose the tools that will be used by the team.
Being the person who has expertise in this particular area, he will know about the urgency of certain things and will have the ability to create a plan and decide on the first steps and on the direction. This can also mean being involved in the hiring process if the situation allows it.
A facilitator will be very useful when the company is at the beginning of their transition to an agile mindset. A facilitator is someone who helps a group of people understand their common objectives and assist them to plan how to achieve these objectives. He needs to keep a neutral position in any situation. The presence of a facilitator is needed during the exploration of issues that can occur when a group is informed of any major decision. The facilitator will create the perfect context and environment and he will assure that the discussion does not lose focus. He will make sure that every involved party will get the chance to speak.
In order to maximize the benefits of the relationship, the client needs to trust the facilitator. This can represent a problem when trying to resolve a 1-on-1 or group conflict, or when trying to facilitate a problem-solving session. In respect to SCRUM for example, a facilitator can be the person who moderates a retrospective as this is a critical ceremony in the life of an agile team. By making sure that everybody gets a chance to express their concerns and beliefs during the first retrospective meeting, the facilitator will help the team to boost its confidence.
Together with the hands-on expert and the modeler, the teacher has a vast knowledge of what needs to be expressed when discussing about agility. The purpose of the teacher is to share all that he knows with the whole organization and for this to be done in the most effective way he needs to present all good practices that the client can apply without judging and without having diverse opinions or interpretations.
There are many ways a teacher can share knowledge, some of them being seminars or workshops on a specific topic regarding agile, methodology training like XP practices or SCRUM or even 1-on-1 teaching for e.g. Scrum Masters.
A modeler is the person brought into an organization with the purpose of being a role model. If the hands-on expert was there to be a Scrum Master in a sprint in order to get things going, the modeler will be the Scrum Master in the sprint and then somebody else will do the same thing as he did in the following sprints. The modeler needs to customize his/her role depending on the client's needs and needs to focus only on the solution. After finding the perfect way to approach a problem he will go ahead and solve it, leaving the client to acquire the knowledge over time.
If the modeler is brought to resolve a problem within the team, he can take part with a given role of developer, tester, manager etc. He will act as an example in any given situation.
As the name suggests, a counselor is there to provide counsel, advice and to present all the possible options. The client will have to take the decisions and be accountable for the outcome. The counselor cannot be blamed for any negative aspects of the resolution and he cannot take credit for a good solution. A counselor is there to actively listen to the problem and explain it and point out all the aspects that need attention.
Probably the most common name for an agile expert is coach. An agile coach is seen as the person who can be brought into a company in order to teach, adjust, present or discuss about agility. In reality a coach does not need to teach anybody anything. The role of a coach is to suggest solutions after a preliminary analysis. A coach will get the client out of his/her comfort zone and, in order for this to work the client should also want to improve himself/herself. He/she will provide solutions, will offer support, but the client will choose what to do. After this, the coach will provide feedback.
As for agility, we can expect from a coach to provide management and organization with different options to achieve it.
When an agile knowledgeable person is brought into a company as a partner, the two parties start with the mentality that "they are in this together". One's success is the other's success and vice versa. Of course, this is the same for failure. During the partnership the two parties will learn from each other and will share ownership of goals, risks, vision and culture. In this particular approach, the partner will also be involved as a stakeholder in all decision making, meetings and gatherings, and they need to stay positive that their vision is compatible and that they will always consider win-win situations and approaches.
In ISDC we have a group of specialists, called IDAM (ISDC Defined Agile Model), who are involved in the development of an agile methodology, based on Scrum, which is modified, tailored and modeled in order to be the most efficient in our environment, culture and organization.
One of our most successful projects is the IDAM Advisory program which combines some of the entities which were presented in the article. Most of the times, we assist at meetings and team related activities for a given period of time, observing and analyzing the behavior of team members and their reaction in respect to problems and solutions. Thinking of the nine entities, this would be consistent with a reflective observer.
After this analysis, we have one on one or group discussions with all the members of the team and, together, we find solutions for every identified problem. The activities are representative for the technical adviser.
After these moments have passed and solutions have been found and implemented, teams want and need to get better and more efficient. This is the moment where we take the role of an agile coach.
The three entities or roles that we play within our organization are what we need and are suitable for us. This way we can make sure that we focus on resolving the real problems that we are faced with and we do not waste time.
Based on what I have expressed before, I would like to come back to the main idea of this article which is how to share knowledge about agile methodologies and mindset within an organization. I consider that each company needs to make a thorough analysis of its current situation and identify its main needs. Once this stage is successfully completed, an agile knowledgeable person can come and present the agile concepts in a way the organization can benefit from.
If we are on the other side of the discussion and we are the ones sharing the knowledge, then we need to find the most appropriate way to do so. We need to be sure that our message will be clear and useful. Now we know that, depending on the situation, we need to teach, give advice, facilitate or model in order to reach an objective.