Why do I need to be Agile?

in #agile8 years ago

Image of Uncertainty sign

When people try to explain what “Agile” means (in a workplace context), you might hear many different things. For example, I’ve heard the following:

  1. It means you do meetings standing up
  2. It means you don’t do any planning
  3. It means you spend most of your day moving post-its around

People that think this often don’t have a great impression of Agile. And rightly so! I get frustrated when I hear things like this, because these people have probably had a bad time listening to some Agile Coach spout on about how they need to stop setting deadlines and start doing “sprints”. Whilst the coach might not be wrong, they probably haven’t spent much time talking about why that person/team needs to be more agile.

At it’s core Agile is very simple; the clue is in the name, it’s about being able to “react to change”. But if you don’t know why you need to do this, then doing a few sprints and some meetings standing up isn’t going to solve any of your problems. No one wants to change their ways just because someone has told them it will be better, without giving any good reason. What does this person know?! They have no idea how to do your job!
If people are going to embrace becoming more agile, then they will probably need to shift their mindset. There are a lot of Agile tools and methodologies that have been developed to help you be agile, but if you don’t understand the mindset then you won’t see the point in the tools, and they will probably be detrimental. So let me explain this “mindset”.

The easiest way to understand this is to understand why Agile came about. Back in 2001, 17 software professionals went up a mountain in Utah, and came back down with the Agile Manifesto. I know it sounds a bit like Moses and the 10 commandments, but however cringeworthy, it’s a true story! (I believe they actually wrote the manifesto themselves, rather than being given it by a higher power, unfortunately). The purpose of their trip to a mountain lodge was to get together and discuss better ways to create products in “complex environments”. What is a complex environment? I like to say it is one with at least some of the following characteristics:

  • You don’t really know what the customer wants
  • The customer doesn’t know what they want
  • You don’t know how to build it
  • Things will change along the way

Let me explain these in a bit more detail.

You don’t really know what the customer wants
We can all sit around giving our opinions of what the customer wants, but none of us really know for sure. Not until we have done some proper user testing do we really know what is best for the customer. Our opinions are great, but the only thing that matters is what the customer wants/does with the product.

The customer doesn’t know what they want
This one sounds odd, but is actually a really important one. Have you ever had to do a piece of work for your boss, done exactly what they asked for, but when they see it they decide that they actually want something different? Not until the customer sees the product can they make a strong opinion of what they want. Henry Ford famously said “if I’d asked people what they wanted, they’d have said faster horses”. Not until cars were mass-produced did people understand how useful they could be. Similarly, after the revolutionary iPhone came out, no one was saying “this is nice, but I would like one of these that is too big to fit in my pocket, and can’t make phone calls”. Despite this, the iPad has been fairly successful… In summary, you can’t just ask the customer what they want, they won’t be able to give you a good answer unless you show them a version of the product first.

You don’t know how to build it
If we are working in a creative environment, we are almost definitely creating something that we have never done before. This means that it is highly unlikely that we will do it perfect first time. We will get something wrong, have to redesign, or just find a more efficient way of doing it further down the line. We can’t expect to get it perfect straightaway.

Things will change along the way
We don’t live in a constant, static environment — things change. New players enter the market, key team members go off sick, the UK decides to leave the EU. All sorts of things outside of our control could happen that we just can’t plan for. If we are too set in our ways then unknown events in the future could seriously derail our project.
Basically, a complex environment means there is a lot of stuff you don’t know, i.e. there is a lot of uncertainty. And the Agile mindset is about accepting this uncertainty. That’s all it is.

It sounds simple, but people find this really hard to do, because nobody likes uncertainty. We don’t like the concept of not knowing what is going to happen, so people try to eliminate/ignore it, often by doing one of the following:

  • People think they know everything — A lot of people believe that they know what the customer wants. They think that their insight is good enough to work out the best way to design the product and get the optimal results.
  • People think they can work everything out — Logical/analytical people see uncertainty as a problem, as a challenge. They believe that if they think about it for long enough, then they can think through all the issues and work out what will happen.
  • People find comfort in plans and estimates and deadlines — When there is uncertainty, people get scared and try to apply certainty by creating plans and setting deadlines, even if it is impossible to get it right. They often want to make sure they can blame someone else when that person misses their deadline.

Basically, the general reaction to uncertainty is to remove it and try to create certainty. But instead, Agile is about embracing uncertainty, accepting that it exists, and then finding ways to deal with it. The reason people often don’t like the sound of Agile tools and practices is because they don’t reduce uncertainty. But if we are comfortable with just trying to deal with uncertainty, then they start to make a lot more sense.

Whilst not every working environment is necessarily complex, I would bet that if you are reading this then elements of your life/work have quite a bit of uncertainty. And when we start to accept that, then we can start thinking about the best ways to deal with this uncertainty — how to be agile. The world is full of uncertainty, and it is much less stressful when we accept that it is there.

References:
Agile Manifesto
Value Flow Quality

Sort:  

This post has been linked to from another place on Steem.

Learn more about linkback bot v0.4. Upvote if you want the bot to continue posting linkbacks for your posts. Flag if otherwise.

Built by @ontofractal

i thought it was being good at dancing on eggshells around other people's feelings so as to not end up in HR.

i like my mixed metaphor.

Thanks for your good posts, I followed you!

Congratulations @whiteley! You have received a personal award!

2 Years on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard:

SteemitBoard Ranking update - Steem Power, Followers and Following added

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @whiteley! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.031
BTC 68734.33
ETH 3745.98
USDT 1.00
SBD 3.72