Feeds:
Posts
Comments

Firstly I do apologise for the long absence on the blogging scene. This was in part due to my shift from Brisbane to Sydney, lack of internet, lack of technology, but also due to illness. So for my first blog back for the year I would like to implore you – PLEASE if as an adult you haven’t had any form of immunisation then go see a doctor and get some shots!

I was under the mistaken belief that I was fully immunised and didn’t need anything further in my adulthood and have been surprised to find that I was not covered when I got hit with Whooping Cough. Having been out of the country when the big Australian hoopla happened about Whooping Cough I was terribly ignorant of it and didn’t realise just how bad a bacterial infection it was. I am now six weeks into a three month problem and every day is very hard. 

micro

Thankfully I didn’t share it with anyone (but sadly my kids did give it to me as carriers). Anyway, onto the blog at hand.

My preference over the years has always been to work with User Stories as my lowest level of work. I have never really felt like I needed to break stories further down into tasks in the manner in which Scrum does. The reason for this is fourfold:

  1. I like my stories to be no bigger than four days. Ideally they are around the 2-3 day mark to deliver end to end. If they are this small then individuals can still be held accountable for progress on the story.
  2. I have rarely seen teams care about how a Story is being delivered whilst it is in progress. The fact that a team member is working on the unit tests now and then will be going onto the database changes has little consequence to the functioning of the other team members. The ‘aha’ and roadblock moments I see coming out of the Daily Standups very rarely arise from technical implementation at a task layer.
  3. The time it takes to break the user story down could be considered waste. For me the value in estimation is not the number you get, but the conversation of assumptions, dependencies and constraints that you have on the way to get an estimate. You can still have these conversations when planning the iteration.
  4. The extra time that it takes to generate a Burn Down chart. I would rather have a look at the where the stories sit within the flow against the current day of the iteration and see if the team is behind/ahead from that. It isn’t a science like the Burn Down chart, but if you really think two to four hours is going to make a big difference you are probably looking at the wrong things. I find that teams that focus solely on hours being Burned Down only tend to have a lot of carry overs due to a lack of focus on getting the story wholly to done.

So recently I started working with a team that, when I joined them, were already using tasks and hours to track.  I made a conscious decision to not change or influence their desire to use tasks and consequently through myself with gusto into ensuring that all stories within the current iteration were fully broken down into tasks, estimated and tracked via a Burn Up chart (at the time there was too much volatility in the iteration from a change perspective to use a Burn Down).

What I found didn’t really change my dislike for tasks or burning down hours in the iteration but it occurred to me that when I focussed on work at an hour by hour basis rather than a day by day basis that I was becoming a scrum micro-manager. I instantly cringed at the realisation and wondered how empowered or autonomous the team felt from when they were being tracked at this layer.

So I asked them whether they felt that being tracked at a task layer, hour by hour felt like they were being micro-managed – the results? 71% of the team felt that it wasn’t micro-management, leaving 29% to feel the opposite. It would be interesting to see how this co-relates to performance, but I don’t think I will go into that on a personal blog.

Two of the team members did say they didn’t feel it was micro-management but expressed concern at the sheer visual weight of the number of cards on the wall. To put this into context at the moment we are mid iteration and have fourteen stories (consequently rows) in scope and around one hundred task cards flooding through the wall. This is ignoring the cards that are being fleshed out an iteration in advance (let’s ignore this slight scrumfall-ish behaviour), the product owner decision cards and the eighty story cards in the event horizon backlog. I do try to clean up the done work every day so that it looks a little less scary visually but at the start of Iterations I can definitely see it being a concern.

So what do you think – is it micro-management to track to the hour using tasks in Scrum?

It is highly regarded among many in the Agile community that:

  1. One of the most common causes of Agile transformational failure is due to either the lack of focus on or lack of effective change of the middle management layer.
  2. One of the more common successes of Agile transformations is when small, incremental or evolutionary change is encouraged (rather than what I have termed “legion” style transformation which includes massive roll-outs of training and sparse support).

But I wonder if there is a better way, a way that combines these two points together for more successful, albeit slower and less Agile Coaching consultative heavy model -

Rather than trying to teach Agile inside of an organisation day 1, instead work with the middle management layer to re-introduce learning as one of their key practices.

learning

If middle managers spent one to two days a week learning what do you think that would do to the organisation? I think it might kick start the organisation in all sorts of unbelievable ways. I think middle managers, rather than being forced to have these new approaches thrust upon them, would instead be the most passionate advocates for them. They might not choose to try Agile, they may want to try something else, but at least they are experimenting and thinking wider than just the day to day firefighting.

I know some managers already do this, but it is the exception and not the rule. But why is this? Do managers stop learning because they think it ends at university? Do they stop learning because they think it ends when they finally get into a leadership position? Or is it because they no longer have time anymore? Always in meetings or always fighting a fire?

Maybe the only way that managers will have the time to create a learning culture is if they limit their work in progress and begin to trust and empower their staff more? Now if managers start to trust and empower their staff more because they have to limit their work in order to learn, it is sounding like a win-win to me.

What do you think?

A little while ago in a private Agile forum I saw a post by a person who was very frustrated with Agile.

Their main concern was over the manifesto value “Working software over comprehensive documentation”. The scenario that they presented was one, where as a Product Owner, they wanted to understand a few of the business rules that the product had within it. They were informed by the product development team that they would need to create a user story for it, prioritise it against the backlog and when it hit the top of the queue it would get done.

Now the Product Owner chose to put it midway through the queue, but they were still unhappy with the fact that given the team’s backlog it would mean they would get their answer to what they felt was a simple question in two months time.

Why can’t I have just some documentation so that I don’t have to wait two months to get an answer on this? If we were still using waterfall we would have the answer right now.

A few people responded that Agile doesn’t mean no documentation, that there is often the documentation that is needed, but obviously this was one of the rare cases that the needs were greater than normal.

My thoughts on the problem raised were almost completely different:

  1. By not spending time documenting everything the team would have saved time over a prolonged period. If the team had spent time documenting everything to the nth detail then it might have taken a total of two or three months additional effort, for something to only be requested once. Now think about how much extra development work, actual beneficial changes to the customer, that they would have delivered in that time.
  2. The Product Owner chose to prioritise this knowledge below half of the outstanding work. It was always in their power to make it the highest priority item if they wanted to.
  3. There is a bigger issue that is being ingored or overlooked – the fact that the team had a four month backlog. I am not saying that a four month backlog is wrong, I am saying that a four month backlog is worthy of investigation to see why it is so long and whether something can be done about the constraints in the system to lower it. Think about how the team may feel knowing that there is four months of work hanging over their heads. They are unlikely to feel inclined to innovate knowing that there is so much that the product owner still wants delivered.

Do you think if the backlog was only a week long that the original forum poster would have made a comment about the Agile manifesto not working? Of course not, they would have waited only a week to find out that information and the team would have been considered responsive in their eyes.

Seven years ago I was involved in an open debate at an IIBA meet up on the role of Business Analysts within an Agile environment. At the time my opponent contested that Business Analysts were defunct under Agile and were no longer required. I debated that they were still needed but that their role changed somewhat.

My main argument was that they were no longer the provider of lengthy requirements documents written in advance with little to no collaboration in the team. This didn’t mean that Business Analysts were no longer required to write any form of documentation, just the amount of documentation, the collaboration involved to reach a common understanding and the timing of when the documentation is done changed. With this reduced amount of time directly spent writing ‘War and Peace’ requirements they would instead use their time in a new skill set – as facilitators. I saw the role of the Business Analyst as being very compatible with the Scrum Master role, where the Business Analyst could encourage an environment of collaboration and ensure that the ‘promise for a conversation’ occurred. Business Analysts would still need to have skills drilling into the root cause of problems, to understand and analyse and question the business process, but in a good Agile team everyone would also have this skill.

Time has moved on and most of what I predicted for the Business Analyst role has come to pass within Agile environments. But I believe that it is time to make a new prediction.

We have come a long way towards mastering the art of building the product right, our next journey is to build the right product. After all, according to Lean principles, the biggest waste is the waste of overproduction and this can take the form of producing an unneeded or incorrectly targeted product.

Thus, in today’s ever shifting environment, I see the role of the Business Analyst as that of being at the heart of data. I see the role transforming to focus more on data analytics and the understanding of data associated with the product. Some may say that this is the role of the product owner, to which I probably wouldn’t disagree with and as such I see the Product Owner and the Business Analyst roles merging even closer together but with an incredibly strong focus on data.

So what is all the data that is being analysed about? Four things:

  1. Are we improving the number of customers seeking our product?
  2. Are we retaining our existing customers?
  3. Are customers getting value out of our product?
  4. Is our product revenue model generating net profit?

If the answer is yes to the above questions, founded soundly on data then your product is in a great place. If you cannot answer these questions then you really should start working on it (before you go out of business). For those of you familiar with the Lean Startup model then the above discussion should be something very familiar to you, for I believe the Business Analyst role should be centered around enabling the data gathering to support a Lean Startup approach.

You don’t have to be a start up to gather this data. You don’t have to measure once every three months. You can start measuring your existing product and incrementally improving on the four questions right now and everyday from this point onwards. Armed with this data  you can know whether a change you made today will make a difference to your business tomorrow.

Maybe the role shouldn’t be called “Business Analyst” anymore . Maybe we should start to create “Product Analyst” roles instead?

Reviewers required!

 

I am currently in progress of writing my first Agile book. It is basically a beginners Agile book targeted outside of the software development industry with a major twist.

 

If you would like to participate as a reviewer can you please contact me via twitter with an @AgileRenee mention and then I will send you a direct message to get your email address (if I am not already following you, otherwise just DM me). Alternatively you can email me at renee@theagilerevolution.com

 

 

 

This blog is in response to a number of requests about creating Agile games. I have spent the last two years creating a number of Agile games and whilst I certainly wouldn’t declare myself and expert next to the amazing machinations of @lukehohmann of Gamestorming I do try to make games that are fun, educational, simple and easily repeatable.

In today’s blog I want to describe the journey and thought processes that I took to build a game that I call “Kanuzzle”.

It started about two years ago when Russell Healy first introduced Kanban to me through his amazing getKanban game. Russell spent considerable time, effort and personal expense to produce this high quality, repeatable instructor toolkit. I enjoyed the game and found it quite educational but did have difficulty with the setup time and the time it took to instruct on how to play the game. Taking that aside I felt the participants in the room were able to pickup the concepts embedded within and the competition levels were high which increased the fun factor of the game.

When I returned to Australia I tried to find some interest for Russell’s game but there was a perception that the game costs were too high (for an instructor to purchase). I was personally less concerned with this as I understood the investment Russell had made, but was more concerned about the maintainability of the game once purchased.

As time went on the needs that I had for a Kanban game grew away from getKanban. I needed a game that was less software focused and was easily digestible to business specialists who were using Kanban outside of software development. I also needed a game that was quicker to kickoff and one that could be maintained an enhanced. Production costs were an issue and management ideally wanted games that costed little more than paper and pens.

So given these new constraints I went about building a new game. To overcome the production cost issue the board I created was printed on A3 and laminated. Tokens and any other artifacts went through a similar production method. This resulted in kits that cost a little more than a few dollars. Additionally I wanted to build in more “chance” to the game and brought in a design concept directly off Monopoly  building in “wildcards”. When a wildcard was landed on it represented the real life occurrence of an event that was either positive or negative to the team’s ability to deliver. The set of board steps was also fixed as opposed to getKanban’s varying cost to deliver a story. Using colour themes similar to Monopoly’s “set of hotels” I had colours that represented a number of board steps for a particular non software role.

Teams were given preset WIP limits for their board which was setup to deliberately be dysfunctional. After a few two person practices, I released my new “Kanbanopoly” game for training. The first few sessions resulted in some instructional tweaks but overall the exercise went well – I cut the exercise time down from 2 hrs to a 45 minute game. The game was run in three rounds (split among theory). The first round was the dysfunctional one. The second round the team were able to change their WIP limits as they saw fit against an overall resource constraint, in the third round they could change the WIP limits again. Team’s rarely got the WIP limit right by the second go but always did by the third.

But a few things concerned me about this variant. Firstly it was still taking too long for people to understand the instructions, especially the Cummulative Flow Diagram. Secondly people were having trouble making the leap between the game and what they were doing on an Agile basis from day to day.

So I did what any good game designer needs to be open to and totally scrapped it. My new requirement was that the game be runable within 30 minutes with similar production costs and a five minute instruction time.

What I wanted was the ability to have a massive wall and for the team to stand at the wall to do the exercise, in this respect it would be more closely aligned to what they were used to. But the problem was that they couldn’t deliver software in the classroom and I didn’t want them to do a manufacturing based game as I wanted to highlight the knowledge work element strongly. So I toyed with the idea of a game within a game and created “Kadoku”, a Kanban Sudoku variant.

Children’s Sudoku puzzles (of varying difficulty) were printed and a value was attached to them. They were then cut up and placed on the wall with a pre-setup WIP limit. Roles were given out and metrics were kept. The WIP limits were setup for success but deliberate defects were put into the puzzles to force certain roles to hit their limit and cause a flow issue. The game went fairly well as far as the lessons learnt. The instruction time was certainly reduced and the costs were even lower. Additionally it felt more familiar and transposable to the participants. But there was a serious issue. Defects took too long to resolve and the Sudoku execution itself was taking longer than expected with each puzzle taking between 8-10 minutes to get out. Simpler puzzles took too short a time being doable in under one minute.

So that variant was re-adjusted. I scrapped the Sudoku puzzles due to their complexity and went with simple kids puzzles that should be achievable by 7-10 years olds. The game was renamed to “Kanuzzle” and re-run. This game has now been running for about eight training sessions without further issues and is now considered final. The cost is about 20 pieces of colour paper and blu-tack. The setup time is about fifteen minutes to cut out the puzzles, blu-tack them and setup the physical board. The instruction time is about 3 minutes and in game running time is about 15 minutes. The design intent from a learning perspective is to get a feel of the Kanban concepts with a particular focus on WIP limits, managing flow, pulling work and handling expedites. People won’t be experts by any stretch, but they will be informed enough to now give it a try and self-adjust.

So lets take a look now at the things that you need to consider when building your own Agile game:

  1. Who is the audience? What will they know? What won’t they know? What terms may be unfamiliar for them?
  2. How much time do they have to play a game?
  3. How much time do you have to run a game in the context of the rest of the training?
  4. How much time will it take for you to preset/reset the game? Is this something that you can afford?
  5. How much time will it take you to instruct in the game? Is this something that can fit into yours and your participants training time?
  6. How much time does the game and any post-retrospective debrief take? Is this something that you can fit into your and your participants training time?
  7. How much do the physical gaming materials cost? Are they re-usable?
  8. Is the game maintainable? Can you adjust it and re-run with adjustment costs being minimal?
  9. What key messages do you want to get across? What agile practice(s), principles or values are you trying to re-enforce?
  10. What would be nice to get across if you had time?
  11. Can participants easily relate this to their work?

Also keep in mind general game building considerations that all games should adhere to (for more information checkout my Gamification and Agile slideshow):

  1. There needs to be clear and defined goals or outcomes that have to be achieved
  2. There must be a set of rules in place to limit how you go about achieving that goal
  3. The environment must provide feedback to tell participants how they are going or whether the game is ended
  4. They must be voluntary

In the case of Kanuzzle the answers to these last four questions are:

  1. Achieve the most value. Two teams compete against each other. By default the puzzles are ordered according to sequence and not value, part of the design intent is to get them to spot that the backlog is not value prioritised and then to re-adjust it.
  2. Limits are enforced by WIP limits on the board and through rules for handling expedites and roles for the game. Roles are loosely set so ideally by the end of the game no one cares about their role, they are just focused on the flow. Additionally by forcing an error into the flow early it forces the team to deal with flow issues and understand what it feels like and the impacts that it has.
  3. Feedback is provided via timing each puzzle and through provision of graph tracking. Instructors also give feedback on game end time.
  4. They must want to learn and participate in training

As part of my back to basics series I wanted to spend some time on the topic of Retrospectives, otherwise known as Introspection or Reflective Improvement sessions.

If the Stand-up is the bread, then the Retrospective is the butter. It is simply just one of the most fundamental elements of doing/being Agile there is. Alike Stand-ups, they are just as easy to be ineffective.

At its most basic process this is how to run a retrospective:

  1. Get the core team together
  2. Give the core team 10 minutes to brain-storm their thoughts on how the last Sprint/<insert cadence cycle> went in terms of:
    • What is working well?
    • What to do differently?
    • What still puzzles us?
  3. Group like thoughts together
  4. Choose items to focus on and address
  5. Make actions

Let’s break these items down a bit more:

Get the core team together

It doesn’t have to be in a meeting room. It can be in the pub or in a park. In fact, the team don’t even physically have to be together – you can do retrospectives virtually using a tool like LinoIt. What is important here is that the team needs to feel safe to speak freely and that there is an environment where there are no elephants on the room. If you have a Project Manager or a Product Owner that will not be conducive to such an environment then you have a bigger problem here – re-focus the  retro on getting this fixed!

Brainstorm for 10 mintues

There are five points I want to make on this sub-activity:

  1. The duration to reflect on is not important, but framing and frequency is. Retrospecting once every three months is not being Agile. The more frequent you can do this activity the better. Keep in mind, as you increase the frequency you may need to spend less time doing this activity – ie if you choose to retrospect each day then it could be a ten minute activity.
  2. Ensure the brain-stormed items are put on a single post-it note and are clearly legible so that you can take a photo of it later. There is nothing more annoying then spending time capturing/documenting the retrospective. Take a photo of the outcomes and stick the photo on your team’s wiki.
  3. I sometimes like to add a fourth item, “Lessons learned”. I believe that celebrating what we have learnt together as a group is very powerful and enables both sharing of information and a recognition that we aren’t perfect and it is a good thing to always learn.
  4. Sometimes people like the second question to be phrased as a negative and not solution focused question – ie “What isn’t working well?” vs “What to do differently?”. The benefits of the “What isn’t working well” approach is that it doesn’t assume root cause and leads to potentially better solution analysis later within the retrospective. The downside is that for the people that aren’t good with dealing with criticisms this can sometimes be confronting. I don’t think it matters which you choose, just be aware of the risks given the wording and work out which format better suits your team.
  5. The focus on the reflection is not what was produced but how the team worked together to deliver.

Group like thoughts together (affinity mapping)

Notice that I didn’t say how to do this? That is because your mileage may vary based upon your approach. The Scrum Master can do this once everyone has written their thoughts, or the core team can do it themselves – either one at a time or as a collective. You can read them out or get the team to quietly read it themselves, the options are really endless. My personal preference is to get the core team to affinity map themselves and then to verbally skim through the non grouped items and spend more time on the strongly grouped themes. Items under “What still puzzles us” should be answerable on the spot or may become a focus area.

Choose items to focus on and address

Usually I would choose the strongly grouped themes but there is a risk that you miss something important that can significantly improve your ability to deliver as a team. What is important is that the items you choose to focus on are the ones that will result in marked improvements for how the team will work together.

It is a rookie error to focus on ten things within a single retrospective. If you have two weekly Sprints, you ideally don’t want to focus on any thing more than three (five at absolute tops) actions. This is because you want to ensure that you are making changes and if you have too many actions then nothing will change and then you will loose all support from the team for doing this practice in the future.

Who makes the suggestions of the changes? The core team does. It shouldn’t be the Scrum Master who is imposing change on the team, it should be the team embracing an environment of continuous evolutionary improvement.

Make actions

So along with only having three actions you want to ensure that these actions address the root cause of the problem (ie you are not solving the wrong problem), that the actions have clear owners, dates (if possible) and value.

The best actions I have ever seen out of a retrospective are ones that the team writes as stories and then feeds the stories back into the release or sprint backlog – ie they get treated like everything else. Because they are treated like everything else they get a priority and estimate which means that they have to have value as agreed by the whole team in order to work on them in the current Sprint.

If you aren’t going to write them up as stories and add them to your backlog(s) then make sure the first step you do in your subsequent retrospectives is to review previous actions. It is a smell when actions get carried over from retrospective to retrospective – it is symptomatic of items that weren’t perceived as important or that the team feel that continuous improvement is not important.

Conclusion

Software development isn’t simple. The only way that we can improve in the complexity that we are working with on a day to day basis is the reflect and adapt. Sprint Planning and Sprint Reviews are the way in which we reflect and adapt the work we are doing. Retrospectives are the way we reflect and adapt how we are doing our work.

Follow

Get every new post delivered to your Inbox.

Join 845 other followers