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 video by Mark Shead explaining Agile principles principles and the 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 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, Shead insists, Agile isn’t a methodology at all. Instead, it’s a set of values and principles that frame decision making.
So, being Agile is about how you make choices for product development. It’s about letting Agile principles guide your actions.
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, Shead 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 Agile principles that guide teams in an Agile approach to developing software.
Here is Shead’s 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 (straight from the Agile Manifesto):
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 Shead, what it truly means to be Agile is making each decision based on the Agile principles that 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 Agile principle?
Tell us your story in the comments below.