The theory, principles and practices of agile ways of working
Over the last few years, I have consistently heard and seen references to the terms ‘agile’ and ‘scrum’, most notably in a technology and project management context. However, more recently this has found its way into mainstream working environments, and I’ve noticed more and more people talking about agile in memos, emails and even job ads. Take this example from a leading financial services provider:
“Our organization is currently embarking on a significant move towards more agile ways of working, giving our colleagues more accountable freedom than ever before and far more opportunity to make a difference to our customer experiences”.
But what does ‘agile working’ mean and why has this become so prominent?
A history 80 years in the making
‘Agile’ is a mindset, a set of beliefs, principles and way of thinking. In the early 2000s, Carol Dweck popularized the concepts of fixed and growth mindsets. In a fixed mindset, people believe their qualities are fixed traits that cannot change. In a growth mindset, people have an underlying belief that their learning and intelligence can grow with time and experience.
An agile mindset is about creating and responding to change in uncertain and turbulent environments. It’s about thinking through how you can understand what’s going on in the environment, identify what uncertainty you’re facing and figure out how to adapt as you go along.
According to some of the founding members of the agile movement, agile methodologies originated in the 1930s, when the physicist and statistician Walter Shewhart of Bell Labs began applying Plan-Do-Study-Act (PDSA) cycles to the improvement of products and processes. Shewhart taught this iterative and incremental-development methodology to his mentee, W. Edwards Deming, who used it extensively in Japan in the years following World War II. However, in 2001, 17 developers calling themselves ‘organizational anarchists’ met in Snowbird, Utah, to establish the Agile ‘Software Development’ Manifesto.
The twelve principles of agile working
Although agile working originated from the world of software development, an agile mindset can be applied in nearly any context or situation. At its heart, there are four key values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
While there is value in the items on the right, those choosing to take an agile approach take more from those on the left. You will notice a common theme around collaboration and flexibility.
In addition to these four values, there are twelve detailed principles that those investing in agile follow (I have highlighted some of the keywords and phrases):
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity - the art of maximizing the amount of work not done - is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
For many companies and teams, a move towards an agile way of working will fit well. This is evident within start-ups, for example, where pace, testing and flexible collaboration are all essential when working towards a minimal viable product (MVP).
However, for larger, more established organizations, this type of change is more difficult to adopt. An existing culture and way of working will have been developed over many years. But if small teams and individuals can start introducing agile concepts, then this approach can be tested and adopted in pockets around the business.
Adopting an agile way of working means taking into consideration all the different elements that go into it. This is best represented by the ‘Agile Onion’, which shows the combination of the tangible and intangible:
According to Simon Powers:
“The agile mindset is the outermost ring in the popular metaphor agile onion.
The model tells us the mindset is the most powerful of the layers that make up agile. It is where ‘being agile’ comes from, rather than ‘doing agile’, which is the domain of the inner rings of the onion”.
When to be agile?
Taking an agile approach will not be appropriate in every situation. There will be times when a more traditional ‘waterfall’ approach will work best. The key is to determine what process to use based on the individual situation, team, objective and stakeholders involved. Many agile evangelists will say that agile can and should be used all the time, but as with anything, you need to strike a balance.
Nevertheless, one of the biggest opportunities that agile provides is the ability to work quickly, respond to customer needs faster and reduce the cost of change. The main challenge of the waterfall approach is the time and effort required over the period of a project.
In the traditional approach to project management, teams have to wait for an earlier stage or process to be complete before moving on to the next. The approval process can lead to further changes and amendments which complicates the process and produces complexity and delay.
In an agile environment, teams respond to a brief but work in shorter ‘sprints’, at each point evaluating and responding to feedback. This means that ideas can be tested faster and alternative solutions put forward.
Agile is essentially a mindset and way of working that takes time and effort to work. It’s not something that can be implemented overnight but can be tested on small projects or in smaller teams or companies, e.g. start-ups.
Agile can be summarised using the following four categories:
By working in an agile way, people are able to focus on a continuous way of improvement and respond to a brief flexibly. Rather than relying on a fixed way of working with a limited number of decision-makers, agile empowers teams to work quickly and make decisions in a more democratic way.
With egos put aside, teams can challenge one another and test and learn in a ‘safer environment’ without concern for hierarchy or senior decision-makers. Everyone is a decision-maker who can contribute value to the project at different stages.
Developing an agile mindset is essential, and once mastered you can quickly tie this to the values and principles outlined above. But the next stage is to put agile working into practice. In a future post, we will explore some of the pros and cons of agile working practices.