Learning from latest coaching experiences

enter image description here

Last week, I have completed the contract in a banking organization as an Agile coach (or say, ScrumMaster). There were lots of learning from this experiences.

Background

This role was to coach a BAU(Business As Usual) team to adopt Agile principles and Scrum framework. The team, include about 15+ members, is supporting multiple applications include CORE banking system, online banking system and etc. The function roles include architect, developer, tester, BA and project manager. And the major technologies include Java, IBM MQ and T24 (a commercial system for CORE banking system).

They have worked with waterfall-like process for many years and have no any experiences about Agile.

Each team member has some degree solo focus to support different systems as well as technology. For example, some of them are very experienced for T24 system but have very few experiences about online banking. And they are experts for T24 and jBASE but cannot write Java code and IBM MQ.

For testers, they are all manual tester and there were no automation tests except some for MQ what are developed by MQ developers.

For BA, they are very familiar with business and used to to have a upfront big requirement analysis before implementation.

Challenges

There were lots of challenges for facilitate and coach this team to start the journey of Agile transformation.

From Agile transformation aspect:

  1. As support team, they have to deal with outstanding issues on daily base. So it is very difficult for them to have a iteration plan;
  2. They have used to work in a respond way for many years so it was difficult for them to have some degree focus;
  3. From team’s culture perspective, most of team members are quite comfortable to focus on their own area only. So it is difficult to change the mindset to set up a cross-functional team;
  4. The CORE system is using a kind of old technology and difficult to write automation tests against the codes
  5. The CORE system support team hasn’t set up the process to use any SCM to manage the source code versions because of some technical limit and habits;
  6. “Yes But” attitude among the team to stop them to learn something new;
  7. Like to have quick answer

From personal aspect:

  1. Different language is quite challenge at the beginning
  2. To adapt the different culture
  3. To earn the trust from the team

Strategy

At the beginning, I didn’t start to change something immediately. Instead I spent about 1 week to observe team’s work and discussed with team members and to understand the team’s situation. After that, I decided to help the team to start to adopt Agile principles and Scrum framework from two major aspects.

1. Iteration planning

2. Source code control

In order to improve them, I tried to focus on the following practices.

1. Set up definition of DONE

2. Set up more discipline daily Scrum and retrospective so to have improving mechanism.

3. SVN usage

4. Have transparency about team’s priority of focus

The reasons of these were that, according to my study, the major issues of the team are

  1. There are many business requests have been raised for long time but no priority plan to resolve them.
  2. Because of no agreed priority, team will tend to pay more attention to new outstanding issues or issues that could be fixed quickly.
  3. There are typical invisible walls between each function team (e.g. dev & test). Especially dev team won’t care about testing like many other organizations. The collaboration among the team needs to be improved
  4. It will be a long way from current situation to CI and CD. And the first thing needs to set is about source code version control
  5. I hope the team to own the improvement and their process but not me. The retrospective is the best chance to try to make it happen.

Achievements

For achievement as a coach, I really want to figure out what kind of good changes happened in the team. For this team, the things changed are (you may find that they are all small changes :)),

  • Team got used to the process which was set up on Scrum framework
  • Set up a roadmap for team’s Agile transformation
  • Some of earlier adopters of the team are understood that Agile is not only about set up some different processes but about continuous improving
  • Team has set up the definition of DONE so to have an initial standard of the quality
  • Team has refined the triage process for outstanding issues so to have better focus on daily work
  • Team started to have Sprint plan to focus on high priority work items
  • Team started to have more focus on high priority work items in one Sprint
  • Team started to have monthly discussion with business team about backlog priority
  • Team has started to have better collaboration and more transparency of team’s status. Like to customize JIRA so to highlight block issues, use issue burndown chart to have more focus on getting things DONE, track efforts for outstanding issues so to understand the team’s capacity and etc.
  • Team started to realize the value of Sprint planning, daily Scrum and retrospective and is able to run these activities by themselves
  • Team has started to share knowledges and experiences on Confluence
  • The whole team started to use SVN for their source code version control
  • Team has been aware of different ways to deliver software and started to realize the importance of automation testing. They actually started to try to figure out the possible solutions for their CORE system test automation
  • Test team started to learn how to create automation test for IBM MQ application based on the commercial tool – SoapUI
  • Team have started to study how to have CI for IBM MQ application (use Maven to execute SoapUI test and integrate it into build process)

Haven’t Achieved

  • Haven’t be able to help the team to understand the whole picture of the value of Agile practices – Why all of those different practices and how to apply them together as a whole solution;
  • Haven’t help to set up a cross-functional team successfully. Most of team members are still only focusing on their own area;
  • Haven’t help the team to set up team learning environment and culture successfully. There are still lack of motivation of the team to learn something new;
  • Haven’t help the manager of the team to shift the focus from each individual’s utilization rate to real business value delivery;
  • Haven’t set up the pull system. Team members are still taking the task according to assignment;
  • Haven’t help the team to have more collaborative Sprint planning. Most of team members only paid attention to the items assigned to them;
  • Haven’t be able to to help the team to learn how to split big work item into smaller deliverable items. Right now, lots of big item will be split into multiple tasks, like developing and testing;
  • Haven’t be able to help team, especially BA, to practice about how to use user story to communicate the requirements instead of up-front big requirement analysis;

Learning

After listed out what I have achieved and what haven’t, I realized that the most achievements are about the practices and most of the things that haven’t achieved are about culture and mindset. Why?

What I have failed

  • Failed to help the team to understand why they need to be Agile except their manager required them to do it at the beginning
    • Haven’t organized efficient workshop/discussion about it at the beginning
    • Haven’t involved the team to discuss the roadmap of Agile transformation
    • Haven’t communicated with major sponsor of the transformation efficiently
  • Failed to help the team to get confidence to change
    • Lack of small wins for team’s improvement to get more trust from the sponsor
  • Haven’t worked with earlier adopter closely to help team to change
  • Spent too many efforts to find the solution for the team instead of facilitating the team to figure out the answer.
    • Team asked for quick answer
    • Team has lack of motivation to try something new
      • Lack of time to do it
      • The organization is caring about how busy a member is rather than how many real values have been delivered

What I have done right

  • Trust the team. Believe that the team can improve by themselves with proper coach and facilitate
  • Be patient enough. Although there were resistances from the team, I was keeping on trying to help the team to find improvements by the end of each Sprint.
  • Provided demos to the team about different practices to help them to be aware of something different
  • Let the team to run the Agile activities gradually, like planning and daily Scrum, and then to own the process by themselves

What need to do different

  1. Need to be more confident to share my experiences and opinion
  2. Have better communication with the team about why Agile in the context of the team’s environment
  3. Set up transformation roadmap with the team together
  4. Have regular communication with sponsor about the status and roadmap
  5. Have small wins continously so to help the team to gain confidence as well as the team’s trust
  6. Need to set up fundament knowledge base at the beginning
  7. Find out earlier adopter and work with them closely

Learning from latest coaching experiences

Last week, I have completed the contract in a banking organization as an Agile coach (or say, ScrumMaster). There were lots of learning from this experiences. Background This role was to coach a BAU(Business As Usual) team to adopt Agile principles and Scrum framework. The team, include about 15+ members, is supporting multiple applications include [...]

Lots of learningn in Agiletour Sydney 2013

It was the second time I participated the Agile community event – Agiletour Sydney. And the experience was just great like last time. There were more people to join and sharing (about 130 attendees). Actually it could be more if there were more sponsors (hope it can be even bigger event next year). What I [...]

Uninstall Agile

I joined today’s Sydney Lean Coffee Meetup and had some interesting discussion with community friends. Martyn shared an idea of a kind of workshop to help the organization to recognize the pediments that stop the organization to be Agile – Uninstall Agile. The workshop basically can be divided into two parts. Everyone brainstorm the elements [...]

Great Day – Sydney Agile Coach Camp

Great Day – Sydney Agile Coach Camp

The Saturday of September 7 2013, I participated a Australia Agile community event – Sydney Agile Coach Camp. Thanks a lot to the organizers, it was a so great day and I learnt a lot. The event was hold in Atlassian’s office building in Sydney and was a whole day Open Space. I really like [...]

Dairy of Agile coaching – Day 8

The team is struggling on planned work and unplanned incidents. By the end of Sprint, there were just few planned items had been closed. I collected the data about spent time on planned work and unplanned work of the team and shared them with the team in the retrospective meeting. I asked everyone how about [...]

Dairy of Agile coaching – Day 7

During today’s morning session the team updated to each other very quickly and completed it within 10 minutes one developer said he was working on one product issue what had some uncertainties. One BA said she could send him a form template what might be helpful. the developer said that would be awsome the only [...]

Dairy of Agile coaching – Day 6

The team needs to support multiple bank systems. And there are different environments to support the different implementation stages what include several development environment, SIT, UAT and Pre production. Because of the legacy issue, the codes of CORE bank system haven’t been managed by a SCM yet. Although the SVN server has been setup. This [...]

Dairy of Agile coaching – Day 5

the daily scrum, the team members didn’t started the session until I invited them. Some of them were working on some urgent issues and felt a little bit frustrated to have to join the 10 minutes team meeting.  I could felt a kind of resistance from some team members. The questions I want to ask [...]

Diary of Agile coaching – Day 4

In today’s daily scrum, I made a mistake and brough a wrong burndown chart to the meeting (the team is using JIRA and doesn’t use a whiteboard to physically display the burndown chart) and it showed that the left work had decreased significantly. Actually yesterday it was still at very high level and I sent [...]