Tuesday, May 26, 2015

Weekend Escape an agile Backlog Management Game

Weekend Escape is an agile backlog management game where small teams collaborate to order a backlog with a specific business goal in mind. Once the team has produced their backlog, they review the output of another team and discuss the differences. Everyone participates and discussion plays a key part in the game. Participant’s eyes are often opened to the complexity of backlog prioritisation. The game has been designed for all staff, not just Product Owners. The Extended Version of the game ramps up the challenge. It is aimed at Product Owners, yet suitable for anyone with a little more time to spare.


Weekend Escape a backlog management game



Learning objectives

  • Experience the challenges of prioritising and ordering a backlog.
  • Understand how an agile team can help their Product Owner by making the backlog items easier to compare.
  • Extended Version: Experience how business goals impact the approach to prioritisation


Suitability

  • People: 6 to 20. People will be split into an even number of teams of 3 to 5 people. 
  • Time for Standard version: ~30 minutes.
  • Time for Extended version: ~75 to 90 minutes.
  • Requires roughly 1m to 1.5m of table space per team.

The detailed instructions are available in PDF.


One example of a completed backlog, Weekend Escape, Backlog Management Game
One example of a completed backlog

I am interested to hear any feedback about the game, especially from those that have tried it out. So please leave your comments below...



Sunday, February 8, 2015

Lack of empowerment is making your project late

Projects become late one day at a time because small impediments occur and front line workers are not empowered to resolve those impediments on the spot. Those small impediments turn into day long or longer delays. Once that day is lost to delay it is near impossible to get it back. To reduce this we need to empower front line workers to immediately solve impediments and to exploit opportunities that present themselves. 



Opportunities are the flip side of impediments; each day our front line workers experience impediments and opportunities. It is how they approach those situations that determine the outcome of our project. On a daily basis opportunities to improve quality, deliver faster, boost morale and drive innovation arise. Is your team ready to take advantage of them? 

Waiting for input to solve an impediment increases the impact of that impediment and often increases the effort needed to resolve it. Waiting for input to take advantage of an opportunity diminishes the value of the opportunity and again can increase the effort needed to implement it. 

Our front line workers need the authority, information, tools and support to make empowered decisions quickly.

Examples of impediments leading to day long delays

  • Scrum Master waits for his Line Manager to approve the purchase a $30 license for a communication tool that allows the team to more easily work at home; instead of purchasing it out of his own money KNOWING that his Line Manager will support the decision, and pay the expense claim.
  • A Product Owner waits until the end of the Sprint before contacting another team to make a small change in their component because the process demands it.
  • An experienced team member feels that he must wait for the Tech Lead to return from the training course his is on before he can implement a framework change.
  • Anytime, anyone waits for test results overnight.



Link to Lean
All successful lean implementations incorporate an extremely strong idea generation and execution process that involves everyone. This empowers all staff and makes fast decision making an everyday occurrence. This is a prime example of empowering staff to drive success. For further reading: The Role of Front-Line Ideas in Lean Performance Improvement


Don't let your project become late one day at a time! Empower your people; so that they own and drive project success

Photo Credit: damn_unique

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.


Monday, November 10, 2014

Backlog Prioritisation Frameworks

You need to make quick prioritisation decisions that satisfy your short term goals and move you forward towards your strategic objectives. These decisions often need to compare very different types of work (e.g. Revenue generation vs. Enabling future features), which is difficult to do with discussion based prioritisation. An appropriate Prioritisation Framework will provide a simple approach to compare different types of work. 

Prioritisation is often carried out by negotiation between multiple stakeholders and the Product Owner. The negotiation occurs at different times usually between one stakeholder and the Product Owner. This causes communication overhead, confusion and triggers reprioritisation. 



Prioritisation by negotiation, as often occurs

An appropriate Prioritisation Framework will build consensus for the prioritisation decisions, hence avoiding the above mentioned issues. Here the Product Owner uses the Prioritisation Framework and associated meetings as a way to facilitate the prioritisation process and ensure that consensus is reached with the majority of stakeholders present.


How a Prioritisation Framework can streamline the prioritisation process


Scope of a framework

For items that need rapid prioritisation, such as small ongoing tasks like bugs, enhancements and tweaks to existing features; I recommend that they are handled outside of the prioritisation framework. The primary reason for this is that often those work items can be fixed faster than the time it takes to score, discuss and evaluate and analyze. 


Considerations for selecting an appropriate framework


  • The framework should be light weight & easily understandable. This will greatly assist the uptake, buy in and will reduce communication costs. 
  • The framework should allow for comparison of different types of work (e.g. Contractual vs. acquisition vs. vs. enablers for future work). None of the suggested approaches involve calculating the value of the change in $. Those calculations are complex at best, and impossible in the worst case. Instead the suggested frameworks focus on Relative Estimation over Absolute Estimation.
  • The framework should consider the rough size of each piece of work. This allows for small, medium value work items to compete with large, high value pieces of work. The end result being that we achieve a balance of quick wins and strategic goals.
  • The framework should provide a simple way to adapt the prioritisation decisions to your changing strategic needs. 
  • You need all stakeholders to buy into the framework, and agree that it will drive prioritisation. Once this is done, the framework will allow for fast decisions. If some stakeholders disagree with the framework, they will undermine the decisions that come from it. Lack of adherence, will slow down the process and cause confusion. 
  • All of the frameworks that I am about to suggest rely on gathering groups of decision makers together, so that the decision making process is transparent and fast. Gathering all of the appropriate decision makers may be a tough ask in some situations.  



Possible Framework - Value & Size Comparison 



Value is determined via Product Owner group applying absolute estimation highest is more valuable. Size is determined via Delivery Team Representative group applying Relative Estimation on the Planning Poker scale, larger is bigger Size/Cost. The changes are then mapped onto the matrix below, which leads to discussions on priority.




Cons

  • Subjective value measurement is open to emotion / rank over taking the real value.
  • Value is a very simplistic representation, which makes it difficult to compare changes of differing types. i.e. Customer Retention vs. Technology Enabler.

Pros

  • Simple, easy to understand and communicate.
  • Uses group consensus for both Value and Size, which builds acceptance of the decisions.


Possible Framework - Money Voting


A simplistic voting approach. It subconsciously makes the participant consider the relative real world value of each change.   

Each stakeholder is given a sum of imaginary money (say $100) which they are asked to distribute amongst the items on the backlog. Priority is then judged by the sum raised by each item.

Cons

  • Subjective value measurement is open to emotion / rank over taking the real value.
  • If ‘spending’ is done in the open, whoever goes first can set a precedent and whoever goes last has more power to influence the final outcome.
  • Can be time consuming if done in private, as different stakeholders will respond at different times. They may also delay waiting to see how over stakeholders are spending their money.
  • Does not include size; however it would be simple enough to divide the Total Score by Relative Size.


Pros

  • Simple, easy to understand and communicate.
  • Quick if done in the open, but has the Cons related to influence.


Possible Framework - Weighted Shorted Job First (WSJF) from SAFe



Documented in Scaled Agile Framework (SAFe), based on work in Don Reinertsen’s book ‘The Principles of Product Development Flow’ as explained here

Higher WSJF indicates higher priority.

User, Business Value, Time Criticality, Risk Reduction & Opportunity Enablement are all determined via Product Owner group applying Relative Estimation, on this scale (1, 2, 3, 5, 8, 13, 20), higher is more valuable. 

The value of User, Business Value, Time Criticality, Risk Reduction & Opportunity Enablement are estimated by the Product Owner group in turn. To do this they select the work item with the lowest User/Business Value and assign it 1. The other work items are estimated by applying Relative Estimation, on this scale (1, 2, 3, 5, 8, 13, 20), higher is more valuable. The Product Owner group then moves onto Time Criticality and repeats the process. Finally they do it for Risk Reduction /Opportunity Enablement.

Size is determined via Team Leader / Team Representative group applying Relative Estimation on the Planning Poker scale, larger is bigger Size/Cost. This is a stand in for duration. WSJF really calls for duration of the job not size but size is usually a very good substitute.

Cons

  • Cost of Delay is difficult to explain
  • Assumes that there is equal importance between the three key criterion (User/Business Value, Time Criticality & Risk Reduction/Opportunity Enablement. This may not match the needs of the business.


Pros

  • Financially sound approach (minimising cost of delay).
  • Purely relative estimation approach, each round of estimation is only using the current projects to help determine priority.
  • Uses group consensus for both Value and Size, which builds acceptance of the decisions.
  • Removes some emotion from prioritisation process.
  • Allows for comparison of different types of changes.



Possible Framework - Prioritisation Matrix


This comes from the model documented by University of Wisconsin-Madison

Higher score indicates higher priority.

An agreed set of Criteria (with scoring notes) are selected for use in the framework. Each Criterion is given a weight relative to the other criteria. These criterion and weights do not change. 
Criteria Scores are determined via Product Owner group absolutely rating each change on the scale of 0 to 9, using the Scoring Values for guidance. 9 is the highest value. These scores are then used to calculate the total score.

It is best explained with an example.


Cons

  • Does not include size; however it would be simple enough to divide the Total Score by Relative Size.
  • It could be difficult to gain acceptance of the criteria scoring system and weightings.
  • Uses rating (matching up to the scoring values) instead of Relative estimation.


Pros

  • Customisable criterion, enable the prioritisation matrix to match the business needs.
  • Uses group consensus for Value, which builds acceptance of the decisions.
  • Removes some emotion from prioritisation process.
  • Allows for comparison of different types of changes.
  • A key benefit of this is that everyone understands the main company goals and is motivated to come up with features that push the scoring up.



Possible Framework – Customised WSJF Framework



A combination of WSJF with a customised Prioritisation Matrix. This is what I would usually recommend.

Higher Score indicates higher priority.

Similarly to WSJF the Product Owner group estimates each criterion in isolation; however the list of criterion is an agreed list of criterion similar to the Prioritisation Matrix. They start with the first criterion, select the work item with the lowest value and assign it 1. The other work items are then estimated relative to the first item for the current criterion, on this scale (1, 2, 3, 5, 8, 13, 20), higher is more valuable. The Product Owner group then moves on the next criterion and repeats the process, until all criterions have been completed.

Size is determined via Team Leader / Team Representative group applying Relative Estimation on the Planning Poker scale, larger is bigger Size/Cost. This is a stand in for duration. WSJF really calls for duration of the job not size but size is usually a very good substitute.

To keep the process quick I recommend that a maximum of 5 criteria are selected. I would start with:

  1. Constraints – Time constraints, Regulatory constraints.
  2. Customer Joy – delighters, differentiators.
  3. Revenue – conversion rates, income, projected income.
  4. Risk Reduction / Opportunity Enablement (RR OE) – Increase redundancy, reduce technical debt.


Other suggested criteria to consider

  • Strategic Alignment – matching the company’s strategy goals.
  • User Impact – high number of user or small number of key users impacted.


Cons

  • Cost of Delay is difficult to explain
  • It could be difficult to gain acceptance of the criteria scoring system and weightings.


Pros

  • Financially sound approach (minimising cost of delay).
  • Purely relative estimation approach, each round of estimation is only using the current projects to help determine priority.
  • Removes some emotion from prioritisation process.
  • Allows for comparison of different types of changes.
  • Customisable criterion, enable the prioritisation matrix to match the business needs.
  • Uses group consensus for criterion, which builds acceptance of the decisions.
  • A key benefit of this is that everyone understands the main company goals and is motivated to come up with features that push the scoring up.


An example again helps to explain it.




FINAL NOTE

It is rare that I suggest adding more process. However when dealing with the kinds of situations that can come up when prioritising work for several teams with, many competing stakeholders to deal with  some process is a good thing.

Sunday, November 2, 2014

Promoting constructive discussions in Retrospectives

When transitioning to agile from a strong command and control environment, many team members say as little as possible in Retrospectives. They are used to being told what to do, and do not want to seem like the ‘trouble maker’ by pointing obvious issues. Over time they will realise that it is a good (and safe) thing to point out issues so that the team can work on solving them. 



The scope of what they could change in the past was very limited, which compounds their reluctance to speak up. Usually it takes a while for them to realise that the scope of what they can now change is vast. The task board is quiet often seen as something the team owns and due to its highly visible nature is one of the first areas that teams start to make changes. After the team has implemented their first couple of changes, the Scrum Master should explain to the team just how big their scope for change through Retrospectives really is. 

To aid the explanation of scope and to help bring out information from quiet team members the following list of questions is often useful. For the Scrum Master it will be worth reading these questions prior to each Retrospective and working out which questions could be used to prompt discussion.

Delivery / Completion

  • Why did the extra tasks appear in the sprint? 
  • Why were User Stories/Tasks not completed?
  • Why were some User Stories/Tasks, only partially completed?
  • Did the team over commit? 
  • Was the team reliant on one person/skill set to complete a task? 
  • Were any milestones missed?
  • Were last Sprint Retrospective actions items completed?
  • Where our estimates accurate? Both Story Points and hours?


Quality

  • What was the quality of work produced like?
  • Was the test coverage (both automated and manual) sufficient for our needs?
  • Did our documentation provide the information that we required to complete our jobs?
  • Did rework hold us back this sprint?
  • Did the Review/Demo make you proud to be a member of this team?
  • What was the cause of the bugs/tickets that we worked on this sprint?


Scrum / Continuous Improvement

  • What did everyone work on immediately after the Planning meeting? Why did people work on items other then high priority User Stories?
  • Was the Product Backlog ready for use at the planning session? Prioritised, estimated, enough detail?
  • Did the Burndown Chart realistically represent the progress of the team?
  • Did everyone view the Burndown chart as useful?
  • Were last Sprint Retrospective actions items beneficial?
  • How did everyone contribute to User Story value?
  • Is everyone happy with how the Stand ups are working? Can they be improved?
  • Is everyone happy with how the Reviews are working? Can they be improved?
  • Is everyone happy with how the Retrospectives are working? Can they be improved?
  • It has now been X sprints that we have been using Scrum, do we think our situation is better or worse since starting? What is better? What is worse?
  • Why were low priority tasks being worked on, while high priority user stories were on hold?


Communication and Team work

  • Was everyone clear on the team goals?
  • Was everyone clear on their personal priorities?
  • Did internal knowledge transfer occur in a timely and effective manner?
  • How was the team internal communication? Was it clear, concise and timely?
  • How was the intra-team communication? Were expectations and dependencies clear?
  • Did anyone have difficulties obtaining timely information/assistance from people outside of the team? I.e. Product Owner, external Technical Expert.
  • Did anyone have difficulties obtaining timely information/assistance from people in the team? I.e. Architect, Test Specialist, Documentation Specialist, Scrum Master, etc.


Photo Credit: https://www.flickr.com/photos/ajc1

Sunday, October 19, 2014

Funnel Task Board helping agile teams delivery more

Many agile and Scrum teams struggle to limit their work in progress. This results in task switching, delays and other wastes, overall reducing how much the team delivers. Physically limiting space on a team task board asks as a mental barrier. This can be used to limit their work in progress and hence deliver more. I have had good success with Funnel Boards. The User Stories fall from the backlog into one of three spots available in the funnel for User Stories. It is a simple and effective way to limit the teams WIP. I heard of Funnel Boards at Agile Tour London 2013.


Zombie Team, Funnel Task Board
Zombie Team Funnel Board
The funnel board, leaves plenty of space around the edges for avatars, notes and other visualisation.

An empty Funnel Board


Funnel Task Board, empty, limiting WIP

The backlog at the top, is the Sprint Backlog. It is populated during Sprint planning and empties out as the Sprint progresses. Hopefully it is empty at the very end of the sprint.

Work flows from top to bottom


Funnel Task Board, flow, limiting WIP, limited WIP, lean, scrum, agile

As one of the three in progress stories is Done, the next story from the Sprint backlog flows down into the available spot.

A simulated sprint in progress


Funnel Task Board, flow, limiting WIP, limited WIP, lean, scrum, agile

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/