Building an agile organic learning machine
Why is so important for your company to actually let the agile worth spread around it?
It happens that when a company decides to embrace agile, it thinks to help its teams during the transition from a previous software developing model (waterfall or in general any phase or gates development model), to an agile one. These companies often hire a coach in charge to accompain the teams throught this transformation, by delivering training and assisting and facilitating their way of working using the new paradigma.
After a first period, the honey moon period, the teams start to struggle because of difficulties of changing their working behaviors, because of many impediments often coming from external interferences or interconnections with some other external teams (agile or not).
This is the moment in which the coach and the company, start to think about scaling agile in the enterprise, introducing what Schwaber and Sutherland called ‘Scrum of Scrums’ or Shalloway revisited and named ‘PCT – Product Coordination Team’.
No matter what the name and method you and the company choose to adopt, start soon to scale agile, otherwise synch problems become so important and tough, that agile is no more the fantastic new model to adopt for developing software.
What I’ve seen and experienced, is that scaling agile is not enough. There’s at least one another step to nurture the change process that such a company needs to totaly and completely understand and embrace agile.
What is missing, at all, in a scenario like that, is an organic mechanism of knowledge sharing and learning.
Let me explain.
As you probably know, a superb way to share knowledge within a team, is to pair.
XP prescribes (yes, it is prescribed like what the doctor does with medicine) the practice of pair programming, in order to cure these main symptoms:
- general knowledge leverage for junior, pairing them with senior guys
- in case of particularly complex or important piece of code to develop: here the reason is that two pair of eyes is better than one
- in case of high specialization of one team member over a specific professional domain or part of code (do you knowthe bus factor?)
- help the team members to know better each other
Hence pairing helps a lot within a team; but how it can be used to involve the entire company? It cannot.
We have, instead, some other techniques to spread agile within the company and these are called: communities of practices, open spaces, user groups and conferences.
Communities of practices
This kind of “human aggregation” is what a company, the one that has several teams adopting agile, should initiate in its reality. These groups share common interests. ScrumMasters or ProductOwners communities or, yet, organized by methodology: Scrum, lean, XP or Kanban communities. Within these free association of the employees, the company have a great opportunity to create occasions where the people share ideas, experiences and usually create new standards or best practices to apply.
Open Spaces
Visit this link to gather detailed information about this open spaces.
This kind of meetings can be used to share knowledge, to try to solve problems, to analyze risks or to share any experiences with other colleagues. Take a look here: the Agile Coach Camp 2012 un-conference, is completely arranged following the open space philosofy.
Here are my reflections about the past event in 2011 and, obviously, I’ll be there also this year (within a week……can’t wait).
User Groups
Even if a company does not have the possibilty to create the knowledge sharing spaces above reported, it must try to invite the team members to join the agile user groups already existing in their city. It’s much more easy, if the company directly contacts the external groups asking for the meeting dates and arranging an evening with them.
Conferences
The last, but not the least, method is to let the guys attend to some conferences. This has the double positive effect to let them learn from professionals and create a team building effect. A moment in which the team members can confront each others.
Agile, as you know, is a matter of practicing, collaboration and confrontation. It’s paramount to create a process that helps to refresh and reinforce constantly the knowledge and the practices.
In my opinion, a company should not be afraid to spend some money to create these “spaces“: these are investments, to be looked as great opportunity to let the entire company grow and becoming an organic learning machine.







http://www.inspearit.it/it/