What is Agile?
It can be quite confusing to understand what Agile is. The following diagram was published about two years ago by Deloitte. It may not be 100% correct, but it gives you an idea of what is happening in the world of project management and software development. http://blog.deloitte.com.au/navigating-the-agile-landscape/
It is difficult to say whether these are all Agile or not, but anyone can write a new book or publish a new article about something new and call it Agile.
Agile is Values
While it is difficult to judge what Agile is, most people agree on what has been said in the Manifesto for Agile Software Development in 2001. Since then, we are still uncovering better ways of developing software by doing it and helping others do it. Through this work, we have come to value:
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, we value the items on the left more. When in doubt, a quick litmus test is whether what people say about Agile actually helps the aspects shown on the left.
Agile Is Principles
There are also twelves principles in the Agile Manifesto, and practitioners agree on most, if not all of them. http://agilemanifesto.org/principles.html
Agile Is a Mindset
With Value and Principles in mind, we may still lack the Agile Mindset. The world and future is complex, and even if we spend a lot of time analyzing, we may not get the perfect answer. In these situations, trust the team, do a quick planning, try it out, see how it goes, and then respond.
Agile Is Similar to Growth Mindset
Agile Mindset is similar to a growth mindset. We believe that people can learn new skills, challenges are good, and failure shows opportunities for improvement.
Agile is Practices, Tools and Techniques
Agile can also be practices, be it Kanban, Extreme Programming (XP), Story Point, Planning Poker, Daily Standup, Velocity, Pair Programming, Test Driven Development—anything that can help the Development Team.
Agile can be tools like Jira, Rally, or VSTS. They are useful, but if we use the tools incorrectly, they can possibly do more harm than good. Sometimes it is inevitable, but we may have to remember the spirit of Agile and remember why we have to use such tools. Improving work transparency is usually a good reason.
Agile is a Journey
Agile is also a journey. You can never be truly Agile; there is always something you can improve, be it skills, knowledge, mindset, working model, communication, leadership, process, or others.
“Being” Agile and “Doing” Agile
Quite often people love to talk about “being” Agile, as it is related to the Agile Mindset. But just saying it is not going to change the Product or Project too much. Maybe the team needs to “do” Agile, as well. It is like saying “I want to be healthy,” but never doing any exercise. If you want to be healthy, you need to go do it, and at the same time, think about it. Linking it back to Agile, it is a bit of both, as well.
Agile Is Everything
Lean and Agile have a lot in common. They both deliver more value while reducing waste. For Agile, we focus on the Value, and the waste reduction is “built-in” by reducing over-production and excessive communication. Agile has some overlap with Design Thinking as well, with a focus on the customer. Design Thinking digs deeper into emotion, while Agile is more on execution.
How Does Scrum Fit In?
Scrum is a framework for developing, delivering, and sustaining complex products. It is about Agile Values and Principles. It focuses on delivering working software, and it encourages the team to work together. 90% of Agile Teams use Scrum, so we recommend trying it to help you get started on your Agile Journey and as a guide if you get lost.
It will check your Agile maturity level in terms of engineering practice and Product Management. You can use Scrum as a guide to shift your projects toward “Being Agile” by “Doing Agile” and to help you decide what to improve next.