Showing posts with label story. Show all posts
Showing posts with label story. Show all posts

Thursday, 3 January 2019

Using extremes to help teams

This is technique I have been using for a while and has a wide range of applications. If you are familiar with affinity mapping, then this takes that and expands it for use in several different areas.

Let's start off with a simple application....

Story sizes have not been working for me for a while. I love the conversations which often uncovered something we had forgotten or someone knew that nobody else did. Unfortunately differing sizes were often a catalyst for these conversations.

In my previous blog about super fast sizing, we used a different way of sizing that I think gets you the best of both worlds.

How I use this in refinement is knowing where to put more effort. 5 days or less needs no more intervention. The team I work with now even have something called a 'fast track', which is 1 day turn around which they do not refine since it would cost more to talk about than do.

More than 2 sprints means we need to spend some time looking at how we could break it down. The ones in the middle we also try to break down but can also accept the increase in risk if we want to.

Asking these questions and gauging the response from the team allows you to invite conversations as a facilitator and help the team explore the scope of the story.

You can also use this for long term estimates. When I was asked about how long a piece of work could take I used extremes to give some idea - "4 months is too pessimistic but 2 months feels to optimistic but it will be somewhere between the two. With progress on this bit of work I would expect this come in as we know more, which I can update you on as we progress". This was just enough to allow our stakeholder to plan.

I often use fist of five voting to get people's feedback on ceremonies. This again uses extremes and you can be playful to make it more fun e.g. ".... where no fingers is 'please, please never ever do this to me again' and 5 fingers is 'this is sooo cool, I think I might get in early just so we can sneak another one in before work'"

Recently, I have used extremes to challenge the status quo. When looking at staff retention, we can honestly ask what would happen if nobody left - is that ideal? This extreme stance makes us realise that the extreme is not ideal either so we can start to ask questions about what is the ideal. In terms of staff retention, we can be realistic about what to expect using the extremes to guide that thought process.

My favourite comes in exploring ideas. We had an example where we were talking about testing strategies and testing environments. We used an extreme to explore some new thinking rather than just what we had.

In this extreme, we asked what our testing strategy look like if we only had our production environment and our local development environments - no dev or integration environments. We explored what branching and releases might look like, what testing we could do and where and the risks we would face.

It's deceptively simple and you have probably be using it without realising in some areas, enjoy!

Tuesday, 5 June 2018

Experiences vs Value

You have probably heard of this before:

Our customers are our number 1 priority

You probably have a variation of this in your own organisation.

Is it really that simple? What about this anomaly:

As a registered user of Papa John’s pizza
When I try to check out as an anonymous user
Then I will be forced to login to my account

I have picked on Papa John’s here but we see these trade-offs all over the place. In this case we are stopping a transaction - which is not in Papa John’s or the customers interest. They do not seem in line with our statement about the customer being our number one priority.

Make no mistake, this was a choice. It takes more work to do this than to allow the transaction as an anonymous user. We don’t know why but we can assume that someone benefits from this decision – marketing or data science, would be good guesses.

So maybe it’s our view of who a customer is that is incorrect? Eric Ries uses this definition for a customer:
Any person who you hope will find enough value in your product or service to make some kind of investment in it, or partnership with you.
We are used to thinking of the paying customer as our primary focus but customers take all shapes and forms. They are often internal to our organisations.

In a world with multiple types of customers, we often impact one to benefit another. These are often hard choices.

So maybe we need to tweak our original statement:

Our customers are our number 1 priority*

*Some customers are more important than others

So if marketing teams are customers, what about development teams? Are they customers too? They are clearly invested in what we do.

When a development team wants to do something, they are usually asked about the ‘value’ of it. The problem being for most development teams that most of the things they want are only measurable in retrospect, so the value is difficult to measure or prove.

This statement from a developer, makes a lot of sense to me:
What about developers doing a good job, knowing we built the right thing in the right way and being trusted to do so. Why isn’t that valuable?
Very few of our business decisions are based on cold hard data. If you spend time with some data scientists, who ONLY use data to make decisions based on specific tests you realise that most of the decisions we make are not based on fact.

We don’t gather data either because it will take too long or we simply don’t know how.

Again, maybe our view of value is incorrect here. Maybe it’s even the wrong word. How about another tweak:

Our customers experiences are our number 1 priority*

*Some experiences are more important than others

Instead of talking about value, what happened if we only talked about the experience we want to create for our customers?

Our developers experience of building and supporting our product can been see alongside our customers experience of using it and our marketing persons experience of working with the data gathered from our customers actions.

The problem we encounter straight away is how to we talk about an experience? What is the language we use?

This is where using comic strips come in handy, which was inspired by the work Carol Grey did with Social Stories and Comic Strip Conversations. They were created to solve a completely different problem, but they work here too. If you want to find out more, google is your friend.

We use a comic strip to describe the dialog between 2 people, one of whom has used your product. This is told using only 4 cells – I usually ask people to imagine they are walking past these 2 people and overhear the conversation, which they then condense and re-tell.

The constraint of having only 4 cells means you must focus on the key things that make your customers experience enjoyable. What would we like people to be talking about if we built this? What would turn them into advocates, using NPR speak?

So, using my Pizza Problem, let’s look at what I would have liked my experience to be:



What did you get from this short dialog?

What experience were we trying to create for our customer?

What problems are we trying to solve?

The strange thing is that using dialog to talk about our experiences with products or features turns out to be a lot shorter than trying to describe it. This is powerful and you can use it to find assumptions, observations and features inferred in the conversation:

  • Observations are things we can see or have evidence of
  • Assumptions are thing we think are happening or will happen once we have built our product
  • Features are the things we need to build to bring about the experience we describing

For example, in cell 4 there are several statements we pulled out from the dialog:

  • People know their account details (Assumption)
  • People who have an account are regular users (Assumption)
  • Anyone can checkout anonymously (Feature)

Sadly, the feature that would have saved the day was not built in this instance. We could have probably validated the 2 assumptions using metrics:

  • How often do people reset their password?
  • What is the relationship between the time between logins and resetting a password?
  • Are logged in users more likely to order more frequently?

Maybe all this was done and the number of people this would affect was smaller than the benefit given to the other customer by forcing a login if you have an account.

Yes, you could say that these are all ‘value’ statements but focussing on the experience stops us from ‘bundling’ more in. When this happens, it becomes difficult to separate the things that directly create the experience – this complicates delivery since we cannot reduce scope and ultimately delays our customer experience.

Exploring experiences can be done before we build anything, allowing us to examine the intended experiences and look at what creates them. We can validate any assumptions we have or articulate them as risks because we simply don’t know. It also highlights the features that we should build to improve our customers experiences with our products.

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.

Friday, 21 November 2014

Connecting developers with the customer's problem

The holy grail may be that developers engage with their customers but there are plenty of situations where this can be difficult. Sometimes, it is also unclear who the customer is especially when the product is sold to public institutions - is the institution the customer or the members of the public that it serves?

I found many companies still have barriers between the developers and customers. Although they are often working to break these down, institutional change is usually slow. The more people in the way, the more chance the 'why' is lost and the problem is not addressed.

I wanted to come up with a way to connect the developers with the concerns of the customer irrespective of how removed they were. Collaborating with Dan Rushton, we started to think about conversations that would help make that connection.

All the way through this, I had Melissa Perri's excellent phrase 'Problems not features' ringing through my ears. I wanted to expose the problem we were trying to solve for the customer.

We eventually came up with a concept where we imagined the developer overhearing support calls in a call centre. We saw this as the primary interface for many customers with the companies that provided them with services. We also felt that this would be how a company would get most of it's feedback about it's service.

We thought that overhearing the customer explain the problem they were experiencing would provide excellent context for the developer to better understand why we were building something to solve that problem.

Our first thought was to simply role play a conversation but felt that this would not involve the whole team and could make people feel awkward. We wanted it to revolve around a conversation that was focused but also collaborative.

We then started to think of a storyboard that we could create to convey a conversation. Knowing people can be a bit funny about drawing in groups (unless you work with creative types of course who usually ask for more art materials), we came up with the a neat idea that we called a Situation Card.

The Situation Card is a bounded box and contains a single character in the form of a stick man. A simple conversation needs only 2 types of Situation card - one for the customer and one for the call centre member of staff. More complex conversations can use more types of cards - we created ones for people doing surveys, developers working at their workstation, people on their mobile phone etc.

The character is in one corner and has no face allowing the team to add speech bubbles, thought bubbles, facial expressions etc to convey the content of the conversation.

We found A5 was a nice size. Laminating them means you could re-use them. Here is an example of a Situation Card for a person on a mobile phone:



The conversation is told through a series of Situation cards laid out like in a line or columns like a comic book or story board. You can limit the amount of cards so that the conversation is short and concise - you can also refine or refactor pretty easily since cards can be removed and rewritten easily.

The idea is to tell a story and link the problem the customer has with the feature of your product that solves that problem. In telling the story you can use cues like 'If you could hold the line, I just need to check with my manager' to stimulate conversation in the team and check facts or confirm understanding before continuing the conversation.

The conversation can start off as a complaint and then be refactored to a support call, where there is a happy ending since we have the perfect feature to the solve the customers problem. The process of creating the conversation allows the team to better understand the role of the feature. We also think it could be a good way of exploring if a feature does what we think it does, although we have not tried that yet.

In the experiments we have had so far, we found this useful for connecting the problems of the customer with an unseen bit of infrastructure or service which has no interface as such but still has a part to play in the service being provided.

Still a work in progress, I will post up some examples as soon as I can.