Doing Agile vs. Being Agile
I have attended Arie Bennekum's online lecture about Agile. One of the points he made was that doing Agile does not equal being agile. I can't agree more and would like to touch on a few things here.
Agile - The Buzz Word
Agile is the most common buzzword you’ll hear, especially in the software engineering industry. If you're reading this, there's a 99.99 percent chance you've learned (or even used) at least one of these words.
“You must practice agility.”
“We are using Agile methodologies.”
“Agile isn't the workplace.”
“Agile is being implemented.”
“We are an Agile organization.”
You may use one of the standard frameworks, modify them to fit your needs, or (gasp!) not use a framework at all. You are Agile if you prioritize the items mentioned in the Agile Manifesto. You are not Agile if you incorporate Scrum or Kanban but lose sight of the four values of Agile.
Doing Agile is being Agile in practice, including implementing stand-up meetings, user stories, iterations, etc. Being Agile is more about the mindset and understanding the organizational culture, such as being self-managing, what to value, and how to behave. Look at the pyramid of Agile as Rash Khan mentioned in his Being Agile vs Doing Agile below, why is it important to differentiate the two?
Doing Agile is only the tip of the whole Agile pyramid. The principles and values of Agile are more difficult to implement, which is the essence of being Agile. If you ever read the Manifesto for Agile Software Development, you would know that being agile is deeply rooted in the Twelve Principles of Agile Software. It means the values and the principles are intertwined to create the mindset of being Agile.
Four Values of Agile
Individuals and Interactions Over Processes and Tools
Working Software Over Comprehensive Documentation
Customer Collaboration Over Contract Negotiation
Responding to Change Over Following a Plan
Twelve Principles of Agile Explained
Customer satisfaction through early and continuous software delivery, which means delivering the working software at the earliest time to ensure the utmost value.
Accommodate changing requirements throughout the development process, which means to control the change over agile.
Frequent delivery of working software (weeks rather than months).
Collaboration between the business stakeholders and developers throughout the project, which emphasizes the importance of collaboration.
Support, trust, and motivate the people involved, which values the resources.
Enable face-to-face interactions, which means the communication of a team located in different places should be face-to-face to eliminate misunderstanding.
Working software is the primary measure of progress (collocation and pair programming), which means agile is result-oriented.
Agile processes support a consistent development pace, which means the working rhythm is of great importance in a team, such as iterations.
Attention to technical detail and design enhances agility, which means pursuing excellence.
Simplicity, the art of maximizing the amount of work not done, is essential.
Self-organizing teams encourage great architectures, requirements, and designs, which means to be responsible for each other.
Regular reflections on how to become more effective, which guarantees continuous improvement.
Doing Agile vs. Being Agile
In comparing doing Agile to being Agile, three main aspects distinguish one from another. First, doing Agile can be achieved overnight, but being Agile is a journey. Second, doing Agile is easy, but being Agile is difficult. Last but not least, doing Agile satisfies the management while being Agile defines the Agile culture.
Why Be Agile?
We keep talking about being Agile vs. doing Agile, but you might ask why be agile? What are the benefits to the team and the company of being Agile?
Here are the top reasons why adopting an Agile framework can benefit your team:
1.Better product quality
In being Agile, you integrate client feedback into project execution. This results in a final product with better quality that meets client expectations.
Customers are always involved in the decision-making process in Agile environments. Keeping them in the loop and letting them give feedback leads to greater customer retention and product satisfaction.
3.Improved project control
Doing Agile involves the use of project management tools that offer project transparency. This increases predictability and lowers the risk to ensure the project runs smoothly.
The best thing about being Agile is the flexibility it provides during product development. Short sprints allow teams to accommodate changes on short notice.
The metrics used in Agile teams are more accurate and relevant compared to traditional project management methodologies. They emphasize optimizing performance so that every sprint will become better than the previous one.
How to be Agile
As discussed, being Agile is a challenging task. If you want to see whether your team has an Agile culture, check if you’re doing the following practices. If not, use this as your guide to being Agile.
Adopt an agile leadership
In agile transformations, the leadership often talked about "servant leadership". This practice advocates the leader to help team members grow by empowering and supporting their development. Instead of directing staff, an agile leader provides strategic direction and guidance, offering a safe space for the team to learn, innovate, and grow.
Collaborative and cross-functional team
Communication, collaboration, and teamwork are highly emphasized in Agile.
Deliver value fast
An Agile mindset promotes working iteratively and incrementally, while receiving frequent feedback from the customer and being flexible to adapt to it.
Feedback loops for continuous improvement
This is codified in Scrum events, e.g. review and retrospective meetings to discuss what worked well, what could have been improved, and what changes will be made in the next iteration.
- Embrace change, innovation, and learning
Agile frameworks provide techniques that help manage changes as well as provide opportunities for innovating and learning.
Being Agile is more about a cultural shift in your organization. Bear in mind that you must stick with the values and principles of Agile.
If you have any thoughts about doing Agile vs. being Agile, leave a comment below.