What is Agile?
This word “agile” is getting thrown around a lot today. What does it mean to actually be “agile”? What are the established frameworks & methodologies? Does “agile” equate to innovation?
Three fundamental aspects of Agile management
- Planning and managing at a “feature” level or in smaller chunks (e.g. units that can be made independently)
- Prioritize, prioritize, prioritize (i.e. What goes first, second, third)
- Manage a pipeline (e.g. a “Backlog” or queue)
So how do you determine the features which are needed? There are general methods like customer development, and specific ones like Design Sprints, that tackle figuring what to do from a blank sheet of paper.
Agile (execution) frameworks mean breaking your work into components (or “features”) so you can finish a complete feature at a time. Many people immediately think about traditional requirements. Does this mean I don’t have to write requirements? No, you still need requirements but your write a requirement for each feature. 1 or more features are then built at a time, incrementally building towards a larger and more complex final product.
This is done to enable discovery, iteration and re-prioritization. It is also done in order to demonstrate real, measurable progress. Feature 1, done!, Feature 2, done! The strategy is able to surface problems earlier and easily adapt which is key. This is different from the standard approach where you typically decide on everything up front and then go into build/execution mode to put everything together.
So I won’t have a complete product? No (bear with me for a moment on this one) but you will maximize your delivery and be able to adapt. Ultimately you will have a product of course. Agile is a strategy for executing development. It isn’t a substitute for design. It increases your chances of success and better accommodates the complexity of the real world by incorporating short, tight iterations so you can adapt and deliver.
That process carries certain risk like discovering issues too late in the process and difficulty executing when faced with ambiguity. This is due to the method of the traditional approach where work is decided upfront.
What does it mean to be agile?
It means breaking the traditional “strategy -> execution” loop. It mean going from trying to make the whole thing at once to building things incrementally. Getting into the details this means not fixing your requirements, not fixing your plan and being open to discovery and search as part of the work itself. The plan is one for structure discovery and measurable progress with the ability to quickly adapt when necessary.
Agile is tough because it is the name of a specific framework and methodology. It is not literally the word agile. Agility or agile in the sense of the English language word is something different and it means being flexible and able to adapt and move quickly when required. Agile development is an established set of methodologies. The main methodologies include Scrum or Kanban execution and development.
Agile is a method for managing change, uncertainty and complexity
The approach of a formal Agile development methodology (e.g. Scrum, Kanban) is a general strategy for managing through the challenges all businesses face today. How do we evolve with changing customer needs? How do we keep pace with or outpace our competitive environment? How do we make progress against ambitious objectives? How do we create more certainty in the risk and reward profile for our resource investment?
Further differences from traditional execution methods
Planning and discovering are separated from the work itself with everything decided upon moving into the making phase. This phase typically comes with fixed scope, schedule and resourcing which is a very fragile approach. The existence of “change requests” are the typical rebuttal to the objection that the traditional model is inflexible. The issue is that the change request process is generally argumentative due to the separation of deciders from makers. Without the integration of deciding and making it will be difficult to achieve ambitious objectives.
Working with traditional methods has the whole “project” or “product” being built at once with all the work moving through each phase and delivering at the very end. This means that problems may not be discovered until the end and the process is so linear that it is cumbersome to move backwards if there are particular issues beyond that phase itself. It also puts its bet on just how comprehensive and accurate the requirements are up front, before anything is made.
Even in a great case where your requirements are complete, having requirements fixed up front leaves no room for discovery or modification without disruption to the overall plan. This has significant impact on your employee engagements and talent development. Often this process is not very engaging for employees either and you will lose out on their ideas, creativity and energy.
There are many other methods out there that are for starting with a blank sheet of paper to build a new product or service. Design Sprints are one example alongside larger bodies of work such as design thinking and general methods used in the creative space.
So if I had to sum up the difference between agile and the traditional way of working in one sentence it would be your fundamental direction is search not execution.
The relationship between Agile and innovation
Innovation and agile work well together but getting one without the other is unlikely. Especially if agile is meant to get you to innovation. Ideally this is all a culture transformation affecting how we do business. In a more traditional or established business this will take time as your are transforming how you work. This is where some more traditional frameworks for planning may help. Planning into three horizons may prove useful in help to ensure the transformation you are looking for occurs.
3 horizons model
- Horizon 1?—?Today’s business model, products and services
- Horizon 2?—?Adjacent markets, new categories of products & services
- Horizon 3?—?New business models, entirely new areas of products & services
The benefit of this approach is it will help ensure projects aren’t shut down due to decision making with different intent. If approaches to work, opportunities or the solutions themselves are evaluated based on similarity to the existing model you will loose your innovation ideas early. It is key that decision making and specifically degree of comfort with difference are setting initiatives up for success.
So what can Agile do for you?
It provides the framework and has lessons learned already built in to accelerate your journey towards a more flexible, adaptable and change ready way of working. Just like in the innovation scenario above the key is to not pick and choose from the framework but to follow it and adapt based on outcomes. Certain aspects may take longer to get everyone comfortable with, as everyone’s comfort level with change is different and this is okay.
Agile also has many culture and company benefits. It will ensure information is available and transparent to everyone. It will ensure that how things are going is open and make it easier to identify problems and to reinforce team play. Gain clarity and visibility by managing this way today. The approach also enables and empowers the team to be creative and to deliver ideas while still delivering the results that are needed. You will fully harness the potential of your team’s talent.
Ultimately agile is a journey, the more different it is from your current way of operating the more you need to be invested to see it through the change management cycle. It will enable you to handle today’s fast moving, change oriented marketplace and to continue to deliver value for your customers. The results are worth the journey!