Showing posts with label scale. Show all posts
Showing posts with label scale. Show all posts

Wednesday, May 30, 2018

Review of “Certified LeSS Practitioner” three day course by Venkatesh (Venki) Krishnamurthy


The first two days of Certified LeSS Practitioner were engaging and challenging. I went into the course thinking I could tweet interesting snippets as we went through; however there was no time for tweeting or distractions it constant thinking, doing, speaking. Hearing and following through the questions of others in the course was often very interesting.

The last day was not nearly as engaging due to several factors: I was tired, the content shifting to a light touch of the remaining rules of LeSS and Venki mentioning we were on track to finish early; consequent the participants but the brakes on.



Preparation
We were provided a long reading list of books, articles, videos and set a knowledge test. The test was not referenced/used in the training and some of the answer conflicted with Venki’s teaching. Several people in the class had fragile knowledge of scrum, did none of the pre reading and managed just fine. I had already consumed many items on the reading list several years ago. I re-read some of the articles, watched a few videos and found that they were not a cohesive set of learning materials. It seems they were every public article of LeSS published, with lots of duplication included. This reading list should be shortened significantly perhaps just to the rules of LeSS and a video or two for background.

We were told to bring laptops to work on, but only needed one per table of people to read the scrum guide. We were also encouraged not to take electronic notes, instead were handed 48-page exercise books and encouraged to take notes, which actually worked really well. My suggestion would be that laptops were discouraged during the lead up and printed copies of the Scrum Guide provided to each group.

Delivery
While the first two days were engaging, it felt like we were on a roller coaster blind folded; only Venki knew where we were going. Jumping from topic to topic without structure, without order, ignoring the printed slides, it was hard to know if we were making progress. While it sounds terrible I can’t make out if it is a strength or weakness of his delivery. As questions were raised we would deep dive on the topic, the reason why and potentially tangents to that topic.

Venki did make sure that everyone’s question were answered. Sometimes those answers were in the form of a question, or reference to a principle; forcing us to think through the question and find a suitable answer. I feel that this approach was key to the engaging nature of the training.

Content
The content covered in depth was
  • History of LeSS – If I have to hear “600 experiments” one more time…
  • Ten LeSS principles
  • LeSS is Scrum, what is Scrum, how are they the same, how are they different.
  • Systems Thinking
  • Causal Loop Diagrams
  • The why behind the LeSS Framework
  • The LeSS Framework (three pages of rules) and LeSS Huge Framework. Please note that this could be explained in two hours if done in one hit. Rightfully so it did not receive much more time than that through out the three days; after all we can always read the rules on the https://less.works


The content only lightly touched on was.
  • The LeSS guides


I found it interesting that Venki played funny videos after each break session. It surely lightened the mood, however only a few of them were directly related to the training course. Most of them had a tenuous connect at best.

Most of the interactive exercises were fun, interesting and embedded knowledge in us; such as designing a multiple team sprint planning approach, casual loop modelling of feature teams vs component teams. There were several interactive exercises that fell down in delivery and/or opportunities for learning. i.e. While searching for hidden post-its around the room with types of wastes written on them was fun, yet it delivered almost nothing in the way of knowledge.



What I took away
  • Use LeSS to descale / simply the target area of the organisation through empirical process control.
  • Don’ t use LeSS to scale up your existing agility.
  • LeSS is designed for a big bang change (limited to the target area of the organisation). i.e. The vast majority of teams MUST be fully cross functional feature teams, otherwise you are not doing LeSS.
  • The initial perfection vision of LeSS is a potentially shippable product increment every two weeks. Once that is achieved aim for one week.
  • Concept of understanding the System Optimising Goal of all systems you are interacting in / part of. I.e. What is the company/CEO’s System Optimising Goal? Is that the same goal as your area? Is it the same goal as the tool you are using?
  • Thinking in Systems: A Primer by Donella Meadows, is worth reading prior to the 5th Discipline by Peter Senge. “Thinking in Systems” will provide the though patterns that make it easier to digest “The 5th Discipline”.
  • Using a WIP limit indicates that there is a problem that you are not solving. Perhaps another team is flooding your team with work? Perhaps your own has an uneven flow?
  • Make all queues visible, then reduce/remove those queues.
  • Use LeSS Huge only when your one PO can’t handle the number of teams that you have. The 2-8 teams for LeSS is just a guide based on the worst and best PO’s they have seen. 9 teams is not the trigger point for LeSS Huge, it is purely down to the ability of the PO to handle the teams you have or not.
  • If you have LeSS huge try to only break out a new Product Area when you have 4 teams. This is so that the PO can keep those 4 teams effectively occupied. They have seen that having less then 4 teams for 1 PO often leads to starvation of those teams backlogs. So why do they suggest that use LeSS when you have 2 or 3 teams? The answer is that there is no better solution, better off using LeSS and potentially suffering some starvation than to not use LeSS when you have multiple teams.
  • Product Areas may be made up of multiple “themes” this is especially true when those themes only need a team or two to service them. E.g. your 4 team Product Area may be made up of 2 teams for theme A, 1 team for theme B and 1 team for theme C.
  • How can 1 PO handle 4 teams, let alone 8? The answer is to just to Strategy, Vision and Prioritisation. Leave the clarification of User Stories to the team who work directly with the customers. Cutting out this clarification effort frees up the PO to work with more teams.
  • When you need to seed knowledge across multiple teams; try creating a temporary “undone” team with someone who is strong in the desired skillset and stack the rest of the team with people who are keen to learn that skill. Temporarily they do all of the work related to the skill, once they have learnt the skill, the team is disbanded and they take their new found knowledge back to their feature team.
  • If you must have a distributed PO, place them in the same location as the customer(s) in preference to placing them in the same location of the team(s). The reason being they deliver the most value from better understanding the customers needs.
  • While LeSS demands that most teams are Feature Teams, it accepts that there will be some service teams, such as finance, admin, etc. It also accepts that the feature teams DOD may not be complete especially in the early days. That undone work will be covered by team(s) called “undone”. The name was chosen deliberately to be unappealing, because the aim is to get rid of those team(s) ASAP and have that work done by the features teams within the sprint.
  • Multi team Product Backlog refinement has recently been made the default over separate team Product Backlog refinement.
  • Have a clear product definition is crucial to a successful LeSS implementation. This definition should be as broad and as end user centric as possible.
  • The action plan from each team’s retrospective is shared at the overall retrospective. This is intended to prevent duplicated effort and worst still actions that interfere with each other.
  • The Overall Retrospective is held early in the next sprint, it is not held on the same day as end of sprint.
  • Every new role created in an organisation, disempowers another role somewhere in the organisation.
  • Financial matters are handled by the Product Owner in LeSS Huge it is still the single PO that handles the $$$.
  • Organisational agility is constrained by technical agility.
  • To constrain your causal loop diagram choose 3 to 5 parameters of interest before starting the diagram and focus on them. This worked during the training; however I am concerned that choosing/guessing those parameters up front indicates that you already understand the situation which you often don’t when you are creating a causal loop diagram in the first place. I will need to test this outside of a training environment


Overall Rating: 8/10

Monday, November 17, 2014

Multi team sprint planning

Scrum answers the question of how one team can effectively plan their work; however it does not address how multiple teams doing Scrum can effectively plan their work. What follows is a brief explanation of the multi-team sprint planning approach that I most recently implemented for a department containing six Scrum teams.

Multi team sprint planning scale many teams scrum agile


The short version

  1. Prior to the Joint Planning Meeting the project managers perform a preliminary allocation of Epics/User Stories to teams.
  2. In the Joint Planning Meeting, each team pulls in User Stories until they are full and posts those User Stories on the Joint Planning wall. The result is reviewed by all and updated as necessary.


The longer version


Prior to the Joint Planning Meeting
  • The Project Managers schedule the fortnightly Joint Planning meeting instead of fortnightly Sprint Planning Meetings. It is held in a room large enough to provide seating and tables all of the Scrum teams is necessary. It also needs additional seating for Project Managers, Product Owners, etc. Initially the meeting was booked for 4 hours, however over time this has reduced as the process became familiar to everyone.
  • The Project Managers work with senior staff from the Scrum teams to help them understand the rough size and scope of upcoming Epics/User Stories. This allows them to roughly allocate this work to the teams. So that going into the Joint Planning Meeting each team has a backlog of approximately 2 sprints worth of work that they can pull from. Overtime the teams have become more involved in this pre-allocation.
  • The Project Managers create the Joint Planning wall in the meeting room and post up the pre-allocated backlogs.


The Joint Planning Meeting

  1. Lead Project Manager, introduces the meeting, explaining any upcoming milestones, key events and/or themes for the coming sprint.
  2. Scrum teams work to pull in size, and split Epics/User Stories are normal. Their Product Owner sits with or near them. Team members are encouraged to talk to the PMs, POs, other teams, etc, as necessary. The amount of discussion varies significantly depending on how many teams are working together / depending on other teams. Once they have their Sprint Backlog prepared they post up the User Stories on the Joint Planning wall. It is up to the team to decide to split the User Stories into tasks prior to finalising their Sprint Backlog. Once the team has posted their Sprint Backlog they are free to go.
  3. At the agreed time, all teams come back to the Joint Planning wall to review and discuss the plan for the coming sprint. This is what is shown in the photo at the top of this article. During this discussion all kinds of changes may occur work dropped, work added, work swapped between teams, dependencies uncovered, impediments noted, impediments addressed. This is the crucial element of the Joint Planning meeting.



As with all agile practices this meeting continues to evolve and change. For example some teams found the large room too noisy to hold the discussions that worked for them, hence they stayed for the initial introduction then headed off to a private room to form their Sprint Backlog before returning for the sharing and discussion.


Saturday, October 11, 2014

Waterfall Iterations softening resistance for the transition to Scrum

Switching from traditional waterfall development to Scrum is a very big mental change for many people. These people can be resistant to the change and potentially lead to a failed transition. It you have detected resistance to the transition to Scrum, before making the big change, consider an intermediate step to ease everyone into Scrum and lower the resistance to change. Consider changing to ‘Waterfall Iterations’ for a while before moving to Scrum.


waterfall iterations


When faced with transitioning from traditional waterfall development to Scrum, there are many unknowns and misunderstanding to be overcome. In some organisation this breeds significant resistance to the transition. If left unchecked this resistance to change can derail the whole transition. It is a great idea to find out what unknowns and misunderstanding exist and deal with them one by one. However that approach is not scalable and some issues will remain as the switch over looms. 

What I have used and seen to be successful in change resistant organisations is to stage the transition. Teams change from Waterfall to Waterfall Iterations for a couple of months, then the switch over to Scrum. Teams can be switched over a couple at a time, so that they can learn from and support each other. There is a co-ordination cost to having teams operating in different approaches; however it is generally worth it to smooth out the transition.



Waterfall Iterations

This phase introduces everyone to Iterations, co-location, cross functionality, Product Owners and Scrum masters. 

  • Cross functional, co-located teams of 5 to 9 people.
  • Teams use Sprint Retrospectives, Task boards, Burn-downs and Daily Stand-ups just as in Scrum. 
  • Iteration planning occurs every two weeks, where the Product Owner works with the team to pull in work items that have been created by whoever in waterfall created/allocated work items.
  • Iteration Review occurs every two weeks where the team demonstrates their completed work items to the Product Owner.
  • Functional testing carried out by the team with in the Iteration.
  • System testing carried out by separate testing team, outside of the Iteration.



Scrum

The switch to Scrum from Waterfall Iterations; focuses teams on completing (including System testing, deployment) User Stories, that they themselves have created, split and sized.


A note

In organisations where there is strong support for the transition (or even only light resistance) I would recommend switching straight to Scrum.


Another note

Kanban is an evolutionary process improvement approach that dramatically reduces resistance to change. That is another option to consider.

Photo Credit: https://www.flickr.com/photos/16516058@N03/

Monday, May 20, 2013

Transforming the Scrum of Scrums and Delegating Release Co-ordination


“The agile manager’s scariest move; handing over responsibility”

Once we* had our Delivery Teams regularly delivering increments of valuable working software; the management team made the tough call of pushing the responsibility for co-ordination of releases to the Delivery Teams. This blog post follows this decision through its successes and failures and explains how we adapted to the feedback we received and issues that we identified.

*The Royal we: Management Team, Transformation Team, and Coaching Staff.

Attempt 1 – Complete freedom

A meeting was arranged by the management team to announced to the Scrum Masters (and a few other stakeholders) that as part of the ongoing transition the Scrum Masters must step up and take ownership and responsible for co-ordinating our quarterly releases. After this meeting the management team deliberately sat back and let the Scrum Masters sort it out themselves.

The Scrum Masters held a brief meeting to decide how they would handle the situation. They quickly selected two Scrum Masters to lead the co-ordination effort. One of them took the lead and did a great job of co-ordinating the release, which went out on time and to the quality we had aimed for. There was plenty of room for improvement but no major disasters.  

While the Scrum Masters were comfortable with this change, the management team quickly lost visibility of any issues that were occurring and at the same time were getting feedback from many staff members about a lack of communication between the Delivery Teams.

Another couple of issues popped up, which told us another approach was needed for the next release: 
  1. The Scrum Master who lead the co-ordination of the previous release was promoted into the management team. 
  2. The other Scrum Master who had been involved was currently swamped with practice improvement work. We were not sure who would step up to the take the reins.


Attempt 2 – PMO established Scrum of Scrums

With issues around lack of visibility, low communication between teams and concerns about how repeatable our previous success was, the management team decided that they needed to act.

At this point in time the culture had moved from ‘responsibilities being assigned to individuals’ towards ‘responsibilities being assigned to teams’. Looking at our current issues the decision was made by the management team to rotate the responsibility for Release Co-ordination between Delivery Teams each release, along with establishing a Scrum of Scrums as a status reporting, cross team communication and impediment removal approach.

To get things moving quickly our PMO manager booked a weekly meeting with the Scrum Masters, during which they were asked what the status was of each release that was in progress (we have 1 or 2 maintenance releases and 1 feature release in progress at any one time). The Scrum Masters saw it as the PMO meeting and were fearful of raising issues at the meeting, as those issues would then be forwarded onto the management team. The Scrum Masters thought that any issues that were raised made them look bad, meanwhile the management team was hanging out to know the real status of the releases, so that they could help wherever was needed. This fear or lack of a ‘Safe to Fail’ environment was addresses separately (and is perhaps the topic of another blog).

With the PMO established Scrum of Scrum operating, the management team continued to receive feedback that there was not enough team to team communication, however we did start to get some issues raises and did get some feeling for how well the releases were going (and they were going well). We were still concerned that the level of ownership of Release Co-ordination was not as high as we needed it to be.

Attempt 3 – Scrum Master established Scrum of Scrums

With Attempt 2 still not providing the results we wanted, we decided to intervene by re-invigorating the ‘SOS’ (this unfortunately meeting name was one of the first things to go).
To kick off the change our two Engineering Managers (who have responsibilities around People and Practices) each talked one-on-one with the Scrum Masters that reported to them. 

They asked about the Scrum Masters view of the SOS meetings and set out some clear expectations around team to team communication, Scrum Master to team communication, the raising of issues, ownership of release co-ordination and running the Scrum of Scrums. Lastly they were told that a meeting would soon be organised with all of the Scrum Masters where they would have to work out how they would re-invigorate the Scrum of Scrums.

I facilitated the meeting with the Scrum Masters and the Engineering Managers in attendance. We started with one of the Engineering managers setting down the expectations regarding the Scrum of Scrums:
  • Raise team specific risks, so that the other teams are aware and can assist.
  • Explain what each team is doing, so that the other teams are aware and can assist.
  • As a group uncover big risks and either deal with them or escalate them.
  • As a group review and understand commitments especially those with specific dates.




Goals of the Scrum of Scrums


Once those expectations were clear we got down to the business of the Scrum Masters deciding what information they needed to be able to meet those expectations, how the meeting would be organised, when it would occur and who should attend.

Self selected actions for making the Scrum of Scrums effective


In summary they decided upon:
  • All Scrum Masters and the PMO manager would meet weekly on a Monday after all of the Stand Ups were completed. No other people had to attend, however back up Scrum Masters and the Lead Architect was optionally invited.
  • Using a large highly visible planning board, showing all teams, all key user stories, dates, etc.
  • A simple agenda: Each Scrum Master presents in the order shown on the board, and then any issues/news is discussed as a group.
  • Each Scrum Master was responsible for keeping their team’s row up to date.
  • One volunteer would create the first Scrum of Scrums board.


Multi-team release planning board


Continuation / Tuning

The first meeting went reasonable smoothly, a due date was clarified, a risk was discovered and they discovered two teams that needed to co-ordination on a user story. A few tweaks to the board where suggesting, including using a consistent colour coding scheme.

The next few meetings were tentative affairs as each Scrum Master was ‘feeling out’ how they should behave in this new situation.

The fifth meeting seemed like they were starting to get off track and just running through the motions of an ineffective status update meeting.

Multi-team release planning board


The sixth meeting had some minor cross team concerns discussed. A couple of teams had let their information get out of date, with only one user stories up for the current sprint. The major issue was that we were fast approaching a critical release date, and there was no communication around the status of features that had been committed in the release. It seems like the Scrum Masters were not considering the whole release as much as was hoped by the management team. This prompted a lot of one-on-one discussions and feedback sessions, which thankfully all hit the mark.

Seventh meeting: Great, they are really getting it, taking ownership, asking questions, self-organising. The teams that last week only had one card had added all of their planned user stories and provided more detail in their summaries; this triggered conversations and overall seemed successful.

The Eighth meeting was held part way through the first sprint of our new Release cycle. The board had the next 4 to 5 sprints filled in for most teams (only at a high level for sprints 2 to 5). As a group they spotted three key issues and quickly resolved them. It looks like the Scrum of Scrums is working and is here to stay.

Multi-team release planning board, after several evolutions