Being Agile vs. doing Agile: What's the difference?

Doing Agile and being Agile compared

The difference between being agile and doing agile is akin to the difference between simply believing in the values and principles espoused by the Agile manifesto, and actually putting those beliefs into practice.

The actions of an Agile software developer are guided and shaped by the by the four values and the twelve principles stated in the 2001 Manifesto for Agile Software Development (aka The Agile Manifesto). According to the Manifesto, an Agile developer prioritizes:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

These are the four fundamental Agile values.

Being Agile as a programmer

But being Agile goes beyond chanting a four-stanza mantra. Being Agile also means that you seek answers in the Manifesto when software delivery problems arise.

For example, if a client changes their requirements midway through the development process, being Agile, you accommodate. You accommodate because the Agile Manifesto says that developers ‘welcome changing requirements, even late in development.’

“Agile processes harness change for the customer’s competitive advantage.”

The Agile Manifesto

Or when technical debt accumulates and processes become needlessly complicated, developers who are being Agile push for simplicity, because the Manifesto states that “simplicity, the art of maximizing the amount of work not done, is essential.”

And if the customer seems unsatisfied with the progress being made, a developer who is being Agile will look for new ways to get updates in front of the customer, because being Agile means that you truly believe that the “highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

Doing Agile and being Agile will make the 5 Agile outcomes a reality for your project.

Doing Agile as a developer

But there’s a difference between being Agile and doing Agile.

Being agile means you are working on a “self-organizing team” made up of “motivated individuals” who you trust to “get the job done.”

“The best architectures, requirements, and designs emerge from self-organizing teams.”

The Agile Manifesto

Furthermore, being Agile means utilizing a methodology whose principles are consistent with the Manifesto. Scrum or Kanban are two such examples.

Being Agile also means you are also doing iterative development, planning sprints, managing the project’s feature backlog and limiting the amount of work in progress. All of these activities support Agile project management.

“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

The Agile Manifesto

Agile’s highest priority is the continuous delivery of software to the client. So teams that are doing Agile will also utilize modern DevOps tools that simplify the continuous integration and delivery process. That means doing Agile means building software delivery pipelines that leverage GitHub, Jenkins, Docker, Kubernetes and the cloud.

When these tools are combined, development teams can more efficiently get new features into the hands of product owners and interested stakeholders. That means faster feedback, more transparency into the development process and an opportunity to change course if the built software doesn’t match the client’s needs or expectations.

Difference between being and doing Agile

The key difference between being Agile and doing Agile is that being Agile means a developer believes in the values and principles set forth in the Agile Manifesto, while doing Agile necessitates the combined use of modern tools, technologies and methodologies in order to create a continuous delivery pipeline that respects and supports Agile virtues.

If you are doing Agile without being Agile, your project is likely to fail.

Doing Agile without being Agile

For Agile software development to be a success, it’s not enough for participants to simply be doing Agile. They must also be Agile. That may seem self-evident, but many software development projects fail when a team adopts an Agile methodology without a simultaneous adoption of an Agile mindset throughout the business.

Many organizations that pursue an Agile transformation begin with the development teams. Developers are expected to respond to change and support iterative development, without other departments and management levels doing the same.

Managers who are more comfortable with the waterfall method will refuse to allow software development to begin without a sign-off on the analysis and design stage. Department heads will refuse to accept changes to the originally stated requirements because it might have budget implications. All of these actions run counter to the principles of the Agile manifesto, and the practices of Agile methodologies like Scrum and XP.

Organizations will say they are Agile when in fact they are doing some unproven combination of Scrum and Waterfall. It’s an approach that typically fails.

Agile can’t simply be thrust upon a development team without an Agile transformation taking place in other parts of the organization. You can’t do Agile properly without also being Agile.

Five steps to being and doing agile successfully

For those who believe being Agile and doing Agile properly is worthwhile, follow these five steps:

  1. Have all members of your team read the Agile Manifesto
  2. Seek ways to solve problems by applying Agile principles and values
  3. Make the continuous delivery of software to the client your team’s highest priority
  4. Adopt an Agile methodology like Scrum or Kanban
  5. Push for an Agile transformation throughout your company

Being Agile while doing Agile is the best way to develop modern software. Abide by the Manifesto and stay true to your chosen software development methodology, and the successfully delivery of software to satisfied customers will be the result


Fuente: PMideas (Being Agile vs. doing Agile: What’s the difference?).