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?
A classic definition of Agile Methodology exists in contrast to standard waterfall software development practices. An Agile project management approach will see cross-functional teams deploy agile methods such as kanban methodologies or scrum work sprints to achieve the goals of the stakeholders. Team members focus on whether customer needs are being met with each iteration of software, focusing on functionality and user experience.
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 throughout the software development process.
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.
Watch this video by Mark Shead to understand what Agile really is, and how you can use it most effectively.
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 iterative 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 project managers and teams in an Agile approach to developing software.
- 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 a working product frequently, from a couple of weeks to a couple of months, with a preference for 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, then trust them to get the job done.
- The most efficient and effective method of conveying information to and within the development team is 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 behavior accordingly.
Agile, In summary
Agile can be flexible, but it also requires you to behave with a certain set of tools. According to Shead, a team is truly Agile when it makes each decision based on the Agile principles it has decided to follow.
Agile values provide a common foundation software developers can use for making decisions about the best way to create high-quality software, and that is their real value. This is also the surest way to offer more value and deliver customer satisfaction.
You see, it’s not about the processes themselves, nor, necessarily, about the speed of development or the leanness of your software development 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.