The term “Agile” is used loosely in the tech and software industries; but what does it really mean to be Agile? Can a team or a strategy be Agile just by following a step-by-step “plan” for development? Find out in this no-nonsense cartoon by Mark Shead explaining the guiding principles and core values of true Agile behavior.
We’ve all heard that somebody or the other is super Agile, right? But do many of us stop to consider what that means? Are we familiar enough with the principles of Agile thinking to know when an approach is or isn’t Agile?
It’s highly on-trend to for development shops to boast about proficiency in Agile methodologies but, according to Mark Shead and the Agile Manifesto, many development teams are tragically missing the mark. In fact, Agile isn’t a methodology at all. Instead, it’s a set of values and principles that frame decision making.
Watch this video by Mark Shead to understand what Agile really is, and how you can use it most effectively.
According to this video, Agile is NOT many of the things it’s commonly thought to be. “Stuff” isn’t Agile, and even processes aren’t Agile unless they are motivated by decisions made using Agile’s specific values and principles.
What Agile is NOT:
- a methodology
- a specific way of developing software
- a framework or a process
Instead, Mark reminds us that when you truly understand Agile, it’s much more flexible than a “framework.” Agile doesn’t do the work or make the decisions, it simply gives adherent teams a set of values with which they can engage in better software development.
A collection of beliefs that teams can use for making decisions about how to do the work of developing software.
So, it’s the VALUES of Agile that enable teams to make Agile decisions. And it’s the principles of Agile that guide teams in an Agile approach to developing software.
Here is a table illustrating Agile’s values. The items in the left column are valued MORE THAN the corresponding items on the right.
And here is a list of Agile’s 12 guiding principles:
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, then trust them to get the job done.
6. The most efficient and effective method of conveying information to and within the development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity — the art of maximizing the amount of work not done — is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
In summary, Agile can be flexible, but it also requires you to behave with a certain set of tools. According to Mark, what it truly means to be Agile is making each decision based on the principles and values that the team has decided to follow.
Agile’s real utility is giving people a common foundation for making decisions about the best way to develop software.
Here are some pointed (and accurate) Dilbert comics poking fun at common misunderstandings of Agile:
You see, it’s not about the processes themselves, nor, necessarily, about the speed of development or the leanness of your team. Instead, it’s all about the decisions you make while building software. From start to finish, true Agile teams look to the core values and guiding principles of Agile for a better approach to software development.
What do you think? What’s the most important principle of Agile?
Tell us your story in the comments below.