When Should I Agile?
(for kids, maybe some clients and you)
The other week a mate of mine who teaches software development at a local high school asked me to come in and talk through when to apply the Agile methodology. So I put together these slides, co-opted an Agile expert and went back to school.
Why Release This To the Ether?
Agile is super hyped and part of the esteemed group of terms that are overused while being largely misunderstood. Think: “Artificial Intelligence”, “Machine learning”, “Blockchain” or if we want to be a bit old school “Synergy”. After giving the presentation I thought it might well be worth putting these thoughts out into the ether and tapping into the wisdom of the masses (that’d be you). I’m keen to be challenged on some of the ideas & how I’ve put it all together — drop some thoughts below or flick me a message (jack@edapt.nz). Shout out to Russell from Khipu Consulting who joined the educational madness by running an Agile v. Waterfall game to go over the fundamentals and answering all the hard questions.
Let’s begin with what is Agile?
So at the highest level Agile is just a method of getting things done. It is not a cure all, in fact it often makes sense to not use Agile.
If you’re new to Agile a great place to start is the 4 values and 12 principles that can be found at http://agilemanifesto.org/. The other great place to start is if you can convince Russell to take you through an Agile v. Waterfall game.
So we know Agile is a way of getting things done, but there are plenty of different ways to get things done. What we need to ask ourselves when evaluating how to tackle an opportunity is “do the predominant characteristics of the opportunity mean applying Agile will get better results?”.
Characteristics of Opportunity
Why opportunities and not problems you may ask? Because “problem” is just opportunity pronounced wrong.
This is where I want to introduce the Cynefin Framework. This is a quadrant for classifying opportunities based on the knowledge the decision maker has about them. The following explanation is a a gross oversimplification of an extremely nuanced but practical framework, check out a far better explanation of the Cynefin Framework here. Depending on the amount, type and quality of information different methods of working are going to be more effective. The four quadrants are: simple, chaotic, complicated and complex.
Simple
This type of opportunity has the following characteristics
- A very clear course of action (an obvious solution)
- Not a lot of change is expected
- Everyone agrees on the answer
- Known knowns
e.g. I want to check if I would get a loan through a calculator on a banking app. What I have earned in the past is going to directly impact how much I am eligible to borrow. The decision to lend me money is going to be a simple question of “do the past earnings indicate that I will be able to pay back the amount I am requesting”. If yes then I would be eligible, if no then I would be refused the loan. A simple decision, probably don’t need agile for this one.
Chaotic (labelled urgent in the slides)
- Just stop the bleeding
- Taking action is more important than which action
- Unknowables
An example of this is when a crisis or natural disaster occurs. Sticking with the technology theme an example would be if an app goes down or stops working unexpectedly.
A first step could be to send out an email to all of the users to let them know what has happened, how it will effect their experience and that you are working on a fix. It is most important that action is taken A.S.A.P. as opposed to the being in a situation of analysis paralysis and burning precious time trying to decide what will be the best thing to do. Figuring out how exactly to fix the problem is less important than managing the expectations of the users. In the initial instance of something unexpectedly going wrong making a decision about whether or not to use Agile is less important than making a decision.
Complicated
- The whole = the sum of the parts
- At least one right answer exists
- Known Unknowns
This is known as the domain of experts. An interesting way to think about this is as a series of simple steps that are numerous enough that the amalgamation becomes complicated. For example, building a bridge.
First you have to do things like check local regulations, make sure all the permits are gathered, see if the ground can support the weight, see how long the bridge must be, what material will be best for it, etc etc etc…
To manage an opportunity like that where it is clear what the task are to be done, but it is not clear what the answer to each task is (the known unknowns) the best method is called waterfall. This is where at the beginning the tasks are listed and budgeted (time + expertise) then mapped out on a Gantt chart. Progress is closely monitored throughout the process against the plan. This is the anti-thesis of Agile and a key reason many complex opportunities fall far flat of expectations.
Complex
Let me ask you a question, how would you take facebook to 1 billion users? My answer is “I’ve no idea”, and in 2007 neither did the person whose job it was to make this happen. It’s an unknown unknown. A complex opportunity.
This example is pulled from this lecture by Chamath Palihapitiya (spoiler alert it’s called How we put Facebook on the path to 1 Billion users). What this talk is about is how they don’t know the answers, so he created an environment where the team could try different ideas and act on the ones that showed results (equally important they discarded the ideas that didn’t work). A great example of this was getting adoption in countries outside of the US. Instead of the traditional way of expanding overseas (sending a bunch of Harvard MBAs on a glorified all expenses paid vacation) they just employed a bunch of smart locals and gave them some creative freedom. One example is a Japanese growth person suggested a feature allowing blood types to be shown on the Facebook profile. Chamath didn’t understand why and would never have thought of it, but in that specific cultural context it worked. By getting good people and exploring with an open mind the best next steps will begin to emerge. The process of trial, error and iteration is the essence of Agile.
Now You Know What You’re looking At
It’s time to go out into the big wide world, apply Agile to some complex opportunities and get some awesome results!
Unless you have exams in which case you should probably do some study…
Many thanks to Russell (for being an awesome Agile expert and games master), Bunna (for hosting us at the school + the chocolate) and Kevin (for being a great business partner).
Disclaimer: I’m a product and sales person not a writer so I apologise for my syntax, spelling and sentence structure, but I’m also not sorry.
Some Good Resources
- Check out this write up in the Harvard Business Review on the Cynefin framework
- Watch this intro to Cynefin video by David Snowden (the decision making framework’s creator)
- Listen to Chamath Palihapitiya talk through growth at Facebook here
- Drop Russell a message on LinkedIn if you’ve some burning technical Agile questions