When Apple launched their first iPhone in 2007, it couldn’t copy and paste text.
It also had no app store, no wallpapers, no Siri, no notification centre, and no landscape mode.
They built it on the premise of its core features — a phone, a music player and a web browser — and that was it.
Over the years, they’ve added in these features and more, model after model.
Not only is releasing a new phone every year good business, but it also makes for better products over time.
The way that Apple iterated their iPhone is known as agility, which is a virtue.
You can take this same concept and apply it to both your work and your personal life.
Defining Agility
Agility is a virtue.
It is the ability to move quickly and easily.
It also implies the ability to change direction quickly when needed.1i.e., “pivot”.
Agility applies across different timeframes.
Within a day you want to be able to handle everyday events and fluidly change direction. Within a year you want have the ability to shift priorities and projects.
Why Agility Is Important
Agility is important because it creates flexibility and choice. This means that as you embark on a journey or a project, you have optionality and are not locked into a set path, especially if that path leads to failure.
Agility lets you sense data and feedback and quickly adapt to it.
Agility lets you start small, and raise the certainty level of achievement before you commit massive resources.
Practicing agility means that you are more likely to succeed in what you do.
Practicing Agility Daily
Agility can be practiced on multiple levels.
Within the work you do, it is practiced in the form of agile methodologies like SCRUM or Kanban.
Within your life, it is practiced as levelling up quickly from one level of life to the next.
(For more on this, see my manifesto Evolution.)
We simply get to the end of the day and ask ourselves:
Was I agile today?
Did I respond to the changes and data that came my way and adapted and iterated my response accordingly?
A System for Agility
1. Using Iterations
Iterations are how we practice agility.
The concept comes from business and project management theory.
A long, long time ago,2Or depending on your company, maybe not so long ago. projects were run in a what is known as a “waterfall” manner.
Like this:
This meant that every project was mapped out in stages.
Features and requirements were collected upfront, indexed and prioritised.
Then the project was developed.
Then it was reviewed, released and considered “done”.
Hopefully you can see the problem with this.
Imagine eliciting all those requirements, doing all the work and developing the project… and then having no one use it three years later.
All that work and time was wasted, for nothing.
Modern projects do not look like this.
Modern projects are agile, and work in an iterative manner, like this:
Rather than going through large stages linearly, agile projects go through small stages in a cyclical manner.
You gather a few requirements, develop them, review them, then release them for use. Then you gather feedback.
Then you use this feedback to gather a few more requirements, develop them, review them and release them for use.
And so on.
Each time that you pass through a set of small stages, that is an iteration.
This means that any points of failure are picked up on faster. It means that the features and requirements developed are actually useful. It means that the users or customers of the project will actually use what has been produced, as they have bought into it from the very early stages.
For businesses, iterations are important as they raise the certainty that customers or end users will actually buy or use a product.
For our personal lives, iterations are important because they let us try a path or direction, gather feedback, and increase our chances of success before committing more resources.
2. The Inner Game of Agility
Agility is a virtue, meaning that it has an inner game component.
To truly adopt agility, we need to know that it’s OK to “fail”. But that we also want to fail as fast as possible.
We want to iterate — to test things in small increments, whether they are work changes, productivity system changes or lifestyle changes.
We need to believe that it is OK to release or test something that may only be 5%, 20%, 50% “done”, and have others or the real world provide us with feedback on it.3Though we also have to temper this against accuracy.
We also want to believe that we can always make things better or add more features in the next iteration.
We also need to untangle our education system’s emphasis on perfectionism. The real world does not work like exams do. In exams, if you answered incorrectly, you were penalised. In the real world if you answer incorrectly, you just note the mistake and correct it.4The best students understand this, and “iterate” their exams by practicing test papers many times beforehand, and then finishing their exams and checking their answers multiple times during the actual exam session.
The next time you are faced with a project or process, be agile and practice iterations.
See how you can move through all the stages of the project in a smaller cycle, to see what works first.
Ask yourself how you can change one or just a few things at a time quickly, and run the entire process before changing anything else.
For a coding project this may be deploying three features and releasing a beta first, instead of committing to 20.
For improving your health it may be making a small change to your diet, before taking on a whole exercise and nutritional regimen.
What To Do Next
Be agile, and work in iterations.
You can read more about virtues here.
- i.e., “pivot”.
- Or depending on your company, maybe not so long ago.
- Though we also have to temper this against accuracy.
- The best students understand this, and “iterate” their exams by practicing test papers many times beforehand, and then finishing their exams and checking their answers multiple times during the actual exam session.
Photos by Carl Berkeley, Alwin Kroon, Andrea Lightfoot.