Doing Agile vs. Being Agile
I have attended Arie Bennekum's online lecture about Agile. One of his points made is that doing Agile does not equal to 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. 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 workplace.”
- “Agile is being implemented.”
- “We are an Agile organization.”
Doing Agile can be done in practices, including implement stand-up meetings, user stories, iterations, etc. Being Agile is more about the mindset, 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, and principles and values of Agile are more difficult to implement, which is 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 to deliver 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 do face-to-face in order to eliminate misunderstanding.
- Working software is the primary measure of progress (collocation and pair programming), which means agile is result-oriented.
- Agile processes to support a consistent development pace, which means the working rhythm is of great importance in a tea, such as iterations.
- Attention to technical detail and design enhances agility, which means to pursue 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
Compare 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.
How to be Agile
When you and your team try to be Agile, check the following and see whether you have done that.
- adopt an agile leadership: In agile transformations, the leadership often talked about is "servant leadership," which 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, and meanwhile receiving frequent feedback from the customer and change 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 changes that will make in the next iteration.
- embrace change, innovation, and learning: agile frameworks provide techniques that help manage those changes as well as provide opportunities for innovating and learning.
- cultural change: Being Agile is more about a cultural shift in your organization, and bear in mind the values and principles of Agile.
If you have any thoughts about doing Agile versus being Agile, leave your comment below.