Friday, 26 May 2017

The Non-Verbal Stand Up

I wondered what would happen if we limited the conversation and turned it around - so you were asked for information rather than giving what you thought people wanted. So let's add a simple constraint:

"When we are talking about your story, you are not allowed to speak but people can ask you questions. You can respond in anyway you wish as long as it does not involve words being spoken or written"

You should observe some interesting things:

  • People often don't know where to start because they are used to justifying what they did yesterday, which is really hard to do if you cannot speak
  • People tend to start using really complex hand gestures until they realise nobody can understand what they are trying to say
  • The team might try to play sherades to get the same level of detail from speaking only to discover it takes way too long!
  • People's questions need to be really simple so they can be answered non-verbally
  • Focus will be wholly on the person when they are responding - if you are not concentrating, you won't know what they are trying to tell you
  • The same questions tend to pop-up from people for each story - could these been the most important things we need to know?

Questions you might like to ask the team:

How did it feel not being able to talk about your story?
What did people want to know from you?
Were any of the questions surprising?
Did we get the all the information we needed as a team, even though we could not talk?
Did it take more or less time than usual?

Monday, 24 April 2017

Agile with Mum: Vertical Slice

Mum, sorry to say that you have been cleaning your house all wrong. Let me explain what we have learnt when we develop software....

Most people (you included) will set about tidying a room at a time, often starting with the wrong rooms. The problem is that if someone turns up before you have finished the rooms they will go into, it just looks like you have a untidy house.

Further than that, what are they coming around for? Very few people will come around that will need to go into every room in your house.

If they are just coming for afternoon tea, what will they experience in your house? Probably the hall, one other room, maybe the kitchen and possibly the bathroom. They will probably not open cupboards or closets but will definitely come into contact with a tea cup, sugar, milk (I know you go all out with your tea set) and a plate for biscuits.

If I were strapped for time, I could combine this with Story Mapping to reveal what the minimum amount of tidying might be. If you are short of time, this allows you to focus your efforts on what is absolutely required.

Since we know the customer is going to require tea, we sort that out first. We make sure it's all clean and we have all the ingredients for tea (don't know about you but we always seem to be low on milk). Since this is the focus of the visit, it's the most important part of your guests visit. You can always cover, with "Sooo sorry about the mess, the grand kids have just left...." or similar if they arrive early and you have not finished the cleaning.

Next we nail the basics - put away stuff that makes the place look untidy. Yes, this may include moving Dad to another room but the key thing here is not by room but for only the rooms that our customer will need to access. You start from where your guest comes into the house and clean back to where they will spend most of their time, focusing on the what they will do.

Next, we could start to clean the floors, again following the guests movements. We might notice that some things don't quite look right and we just sort those things right away. If they only take few seconds then it's worth doing there and then - we always try to leave a space better than we found it, as long as it makes our guests experience better.

Once you have your basic tea time experience nailed, you can think about those other rooms.

This focused way of thinking is what we would call a vertical slice. At any point, once I complete everything for a vertical slice I an review what is left and decide if I need to do the others or if what I have is good enough.

Tuesday, 11 April 2017

Experiments with Emergent Leadership

My self and a colleague recently attended Tobias Mayer's Emergent Agile Leadership workshop. Part of the corporate sponsorship deal we have at my current place is that when you come back you share your notes or what you learned.

I added the acceptance criteria that whatever we did should be something interactive with the community we have, since I think note taking is subjective and nobody really understands the context. That and I hate writing notes - I am terrible at multitasking!

Then we went on the course and realised what an enormous challenge we had set ourselves. Tobias guided us through 2 days of very thought provoking discussion, mixed with some games and interactive exercises. At the end, he left us with this closer:

What is your intent on leaving here? This workshop has supplied no formula, no model, no process.

The workshop was a journey of discovery. Not something that you can shrink wrap. It was something that you can only experience. Leaving us with a lot of head scratching to do - how do we introduce some of these ideas to our community? How do we get 2 days worth of thinking into an hour?!

We started to think about how we could re-create elements of this. We wanted to create a little discomfort and we wanted people to engage in deep discussion, which was something we realised we did very little of but got a lot out of.

I also wanted a bit of quirk! So, here is what we did.

We came up with a game. In separate teams they all had to cross a river (one side of the room to the other) using only the stepping stones (a3 pieces of paper). The goal is to get everyone across, racing the other teams. There are rules but they have to uncover them. A judge will let them know when they have broken a rule - the whole team has to start over if that happens.

"Maybe, we all need to be on a stone at the same time?"
The judges are told the rules away from the group. There's actually only one - don't let them all cross! Essentially, they randomly get the team to start again. I know it's cruel.

This is to cause the team to communicate and experiment. We suspected people would jump forward into a leadership role and some would follow. We also wondered if the leadership role would be with a single person or would move through the group as they fail miserably to complete the task. Would leaders step back when others stepped forward? Would the leader help at all?

At the end of the game we asked everyone to point to who they thought was the leader. We then separated the leaders and asked them:

Were you aware you were the leader?
Why do you think people saw you as the leader?
Were you trying to lead?

The others, we separated into groups and asked them these questions:

Why did you see them as the leader?
Did you choose them or did they step forward?
Was there more than one leader? How did they share?

We then explored some of the themes from the groups. We noticed that in some groups there was no dominant leader - so it was emergent and moved around. This allowed us to explore leadership as an energy that anybody can bring on demand. We also talked about how participation is a central part of being a good citizen.

We then re-created a discussion session from the workshop, using Tobias' own content so they had the opportunity to explore and think about a specific theme. We finished up with asking the community how they would like to proceed and if they would like to explore some of the ideas a little more deeply.

Although this cannot replace the workshop we went on, we think it did get people thinking a little differently about leadership in their own teams. Many thanks to Tobias for helping us 'see it' a little more clearly.


Tuesday, 14 March 2017

Bad Story Spotting

Today, I was having a chat with a few others. It was long and rambling but the conclusion was kind of nice. We realised that every single issue we were talking about really started with how we prepare our stories. We often have bad stories that make it through and then we have to deal with the problems in the sprint, which is terrible for everyone concerned.

So we came up with 3 ways of spotting a bad story rather than trying to decide what a good one would look like. All have to pass for this to be a story that we should do. The vision was that the team can 'test' a story before allowing it to be worked on ensuring the team have the final call on responsibility.

1) Does it have any assumptions or risks?

No.... none? Don't believe it. It would be a truly exceptional story that has neither of these. If there are no risks then I would bet that this is either too small or there is no value in the story. Neither are good. The most common reason is that we simply didn't think or come up with any, which is not the same as there not being any.

If there are some assumptions and risks then we should find out if we are happy with them. Can we mitigate the risks we have identified? Are there any experiments we can run to find out some more? Are the risks worth it and we are happy with the trade off (which will probably be longer delivery time)?

Spotting assumptions in a discussion is actually very easy - "Well, IF we did this...", "What about..." or the clanger "Assuming....". Stop, ask for it to be a sentence and write it down!

Risks require a little more effort. We have some questions we can asks "What is likely to take the longest?", "What have we not done before?", "What is only known by a few members of the team?". Using Liz Keogh's scale for estimating complexity is a nice tool too which should help you uncover the risks of key parts of a story.

2) Do we all see the same thing?

I was introduced to a great game in a workshop with Tobias Mayer. You create a character by each person in your group adding one feature at a time. When you can no longer 'see' the character, the next person has to explain how the character makes sense to them - this is to help you see it.

At the start of your story or during planning, you can call out what you need to do for a story in order one person at a time. If anyone does not see the same thing you can challenge by saying that you cannot 'see it', allowing you to spot if things are missing. When we cannot think of anything else to add, we can check that we all 'see it' and move on.

You can also do this using diverge and merge if you task out stories. This where everyone creates tasks and then we merge these together to see where we agree or have different ideas. Both are valuable - similarities suggest something we should definitely do whilst singular tasks merit conversation since we might have missed something.

If we don't see the same thing, we need to spend a bit more time making sure we do. Doing this with the people who will actually develop the story is absolutely required. Extra points if you are using the 3 Amigo's for this conversation.

3) Will this take longer than...

Yes, estimates suck. This isn't quite that. You pick a line in the sand and you decide that stories should not take longer. This is your stories delivered and everything that entails. For my team, at time of writing we are trying to get everything into production in 5 days or less. We are miles off but that is our line in the sand.

To reach the hallowed land, our stories need to be smaller and the line in the sand helps us recognise stories that do not fit the goal.

You need to take constraints into account. We know our path to live is not a super smooth highway so we take that into account and ask, "Will I be done with development in 3 days?". If not, then we need to break this story down, it is too big.

You can also use the awesome "No busllsh*t" cards from Lunar Logic, which approaches this from a different angle.


Wednesday, 25 January 2017

Agile with Mum: MVP

Working with a range of people, you end up with a growing list of things you steal. One of my favourites is from Helen Meek who often asks people to think of explaining to their Mum. So if we are saying we want a 'simple' interface, we might think of our Mum using it. This means no long words, no technology, no three letter acronymns - you get the picture.

Just recently, I was trying to get across the thinking behind an MVP and eventually imagined this metaphor which I thought I would share. This also covers the basics of Story Mapping and I hope it can be explained in under 5 minutes.

Imagine we are planning our ultimate holiday. This is our once in a lifetime, no expense spared, lifetime-memory-creating sort of holiday. This is important and very expensive and you have decided to plan this a little so that everything goes according to plan and gives you the best possible experience.

You realise there are certain stages to making sure this goes off without a hitch. You start to write them down and you end up with something like this:

Preparation -> Journey Out -> Enjoyment -> Journey Back

Each of these are not just one thing, they are each a series of things you need to do. So you start to list them out. Some of these are really important and some are not - this is the ultimate holiday so you want to remember everything that will make it awesome. We want to remember and think about all the little details.

You write your list of things and then order them so that the most important are at the top and the least important are at the bottom:

Preparation
Check Visa Requirements
Tell neighbours and give spare key
Change Money
Stock up on sun tan lotion
Buy beach books
Buy new swimsuit

Journey Out
Turn off heating
Remember Passport!
Remember Wallet!
Book Taxi
Pack Suitcase
Charge Phone

Enjoyment
Book excursions
Get Trip Advisor Recommendations
Tell Hotel about fish allergy

Journey Back
Book early wake up call for flight
Money for pressies at airport
Charm stewardess for seat upgrade
Book Taxi

You then start to look for your holiday.

The unthinkable then happens. You find the deal of the century. I mean a true "oh my god it can't be true" sort of deal that is totally legit. It's got everything, the ideal location, a superb hotel, all inclusive booze, transfers - the lot. All for a teeny tiny price.

But there's a catch. You have to leave in 15 minutes to get the flight.

Fortunately, you have your plan and you realise that since you have already ordered everything by importance to the ultimate holiday goal, you can use this to work out what you need to do to make that flight.

So you go down each list and stop at something you can leave out - everything above it is a must have. So in Preparation, you stop at "tell neighbours and give spare key" - don't need that, so everything below it must be not required too. In Journey Out, you stop at "Book Taxi" - we are just getting out of here right now so that's not required either. In Enjoyment nothing makes the cut, all that will have to wait until we get there. Journey back doesn't make the cut either since it doesn't effect the minimum we need to go on this holiday.

So what are we left with?

Check Visa requirements
Turn off heating
Remember Passport!
Remember Wallet!

This is the minimum viable product.

Thursday, 8 December 2016

Story Cards 2.0

A while back I was exploring some other options for story cards. In a previous blog, I mentioned that making it super easy to create stories was not necessarily a good thing.

So, I bought a few things and started some experiments.

My first cut of this was to laminate a card, the idea being that I could re-use them. 1 pack of A6 lamination pouches later and I had something that looked pretty good!

The first stumbling block was what to write on them with. In my first cut, I used OHP marker pens which are 'semi-permanent'. I eventually found out that meant they could be wiped off with a damp cloth - which sounded perfect! Or so I thought...

Version 1.1 - getting there!
The problem is that OHP markers smudge like crazy. My test bunnies complained that they ended up with black smudges over the cards and their hands.

"Can't we use sharpies instead?". Hmmmm.

After a bit of Googling, I found that standard sharpies can be wiped of with Isopropyl Alcohol - useful to know if you have habit of writing on whiteboards with them! Having a bottle of this kicking around the office did not seem like a good idea but I found you can buy Isopropyl Wipes pretty cheaply.

So we have now have a re-usable card and something to write on them with and wipe it off again. In my experiments, I also found chalk pens were a viable option but they don't come in black so it would depend on your card colour. I like both sharpies and chalk pens but sharpies win since we have tonnes of them laying about the place. Chalk pens are a bit pricey but are hard to rub off once dry.

We started with just using good ol' fashioned Bluetack to stick these to the board but I hated the way they often ran out of stick and then fell off, so I looked for an alternative. I have experimented in the past with Scotch Restickable Dots which are pretty good but also eventually run out - they can also be too sticky, making it hard to move things.

We started by using magnets which worked great but looked terrible - you obviously need a magnetic board, which might be a problem. After a bit more Googling, there have clearly been many innovations with magnets since I was a lad - I found rolls of self adhesive magnets, which could be cut to size. This allowed me to make the cards self sticking by adding these to the back:

Self Sticking magnetised story cards
So now we have stickable, movable, re-usable, templated story cards. I created a few in different colours to denote different work streams and the team started using them. We also used the magnets on the avatars and our other icons we use to show items that are blocked, paused etc.

By making the cards 'hard' to create we can easily tell what we planned to do and what we decided to add to our board during the sprint. We can then use this information in the retro and find out what is wrong e.g. prioritisation, support issues, emergencies, rogue work items.

A side effect of the cards being hard to create means that there is a finite stock of them - you can't keep adding them. This got absorbed into our process and we try to get the stories as small as possible so we can re-cycle the cards during the sprint for another story - the side effect of which is that the work in progress is also limited.

So there you have it, story cards 2.0 - have you tried anything similar?

Tuesday, 8 November 2016

Agile or just common sense?

A while back I was at a sort-of reunion with some people I used to work with at a previous company. Most of the people there had gone their separate ways and were doing new and exciting things.

One girl that was in my team had gone freelance and was working as the lone wolf on a project that sounded pretty cool.

"Much better than that agile s**t you were making us do".

How encouraging, nice to see I make a difference. I was intrigued, so I asked a little more about what she was doing.

She started by explaining how she worked with the customer.

Each week she had a regular meeting with the customer where she showed what they asked her to do last week.  They often took her work and played with for it for a bit, giving her some feedback on bugs or problems. If it did what they wanted then they would make it live and start using it.

Hmmm. That sounds familiar.

Then she explained how the customer would give her work based on what they wanted it to look like and a bit of background on what they were trying to achieve. She would then work out what she thought she could do in a week and agree it with them. She would talk about this at the same weekly meeting.

Hey, that sounds familiar too.

She said the work was a mix of front and backend work, essentially taking data out of a database and providing visualisations for that data. She was enjoying the mix of work and because it was just her it was easier to provide estimates or suggestions that she felt she could stick to.

That's spooky. I'm sure I've heard something like that before.

How about managing the work? Backlogs etc, how does that work:

"Nah, we talk about that stuff when we meet each week. They have a list of stuff they want to do but I just work on the one they are in a tizzy about."

Interesting.

So, I asked about the changes she was making. Where these big pieces of work - how does she fit these into each week? She focused on changing a specific bit based on what they said they wanted to achieve. Each weeks work didn't tackle the whole idea but just something specific that worked towards it.

I asked why she did it that way:

"I wanted to show progress so I wouldn't have problems when I charged them for my time each week. We agree what they are going to get and I show them that work a week later - I don't want any hassle and I work from home so this is great for me, I don't want to f**k it up!"

No arguing with that. These sound like the perfect customers! She was pretty quick to respond:

"God they are a pain! They change their minds all the time. Each week, we seem to go further and further away from what they said they wanted. Each week they have a new 'idea' that I have to work on!"

Definitely hitting a 9.0 on coincidence meter now. I'm sure I've heard this before.

Despite her previous remarks, if we ran a check list of the agile manifesto she would have been following the ideas of the manifesto 100%. As an 'agile hater', I pretty sure this was not her plan!

Each thing she did was to solve a problem for her customer. To her, the approach was just common sense. I wonder how many of us get tied up with the rules and doctrines and forget this too...

Common Sense? Yeah, I've heard of it....