Day 75-77: What It Means To BE Agile
I might have mentioned in one of my previous posts that one of my biggest goals for this apprenticeship was to learn how Agile works in practice.
During the years spent at the University, I’ve learned a lot about Agile. I had to know its manifesto by heart, understand each of the Scrum roles, explore all XP principles and practices, as well as Lean, Kanban and all that… I had to know everything, and yet I felt like I knew nothing at all. I thought I had to see how things work in practice in order to truly understand this approach; a bunch of theoretical knowledge is surely not enough to properly do Agile, right?
Therefore I was very enthusiastic about the Agile training organized in our company this Thursday. This meant that perhaps I will finally get the answers I was so desperate for! So on Wednesday I sat down at my desk, dug out my old University slides, and started revising what I learned before. I wanted to be prepared for the training as much as possible, so that I could follow without any problems.
But alas, the training was nothing like I expected. Actually, it was so, so much better.
Our amazing Scrum Masters, Ines and Tomek, organized a fantastic workshop, where we learned about the Agile principles in a fun, interactive way. Even though it lasted for the whole 8 hours, I never found myself being bored or disinterested. The games we played not only accomplished that, but also taught me so much more than I would get from a simple Power Point presentation. Through this post, I’d like to thank Ines and Tomek for their amazing effort. You sure helped this apprentice learn a thing or two about Agile :)
To summarize the workshop, here are the principles that we explored:
- Transparency. When we know what everyone else is working on, it helps us avoid conflicts and duplicate work, and by virtue eliminate risk. Therefore we should support openness and communication. We should also have a visual representation of the work in progress, so that everyone is aware of what’s going on in the project at all times. Even though being transparent is difficult and can make us vulnerable, we should still strive to be transparent as much as we can.
- Prioritization. It is not possible to do everything at all times. We should learn how to properly prioritize our tasks, and not waste our energy on irrelevant things that do not bring any value. Urgent and important tasks are those that we should mostly focus on, but we should never underestimate the power if quick wins, either!
- Increment. Always work in increments, where each increment represents a self-sustainable, usable result. The first increment is always a “minimum viable product”, while the rest bring additional value. It is easier to reason about a project when it’s divided into smaller parts. However, this can be applied not only to project work, but basically anywhere else!
- Focus. It is necessary to find a way to focus on specific tasks, and not have our mind wander all over the place. There are techniques how this can be done (e.g. “Pomodoro”), but the most important thing is to limit the amount of tasks that we are allowed to work on at the same time.
- Iterative working. Feedback, feedback, feedback. Always ask for it, and always give it when asked. Feedback allows us to check whether we are doing things right, and adjust if necessary. Without it, we have no idea if we are still on the right track when it comes to reaching our goals.
- Self-organization. Allow the team (and the individuals) to organize on their own, instead of having a manager with that kind of responsibility. In order for this to work, it is imperative to establish common goals and values, but also trust each other at all times. However, we should keep in mind that autonomy does not mean anarchy!
At the end of the day, I understood that Agile is not about blindly following a specific technique, but rather living and working by its principles. If we manage to be transparent, focused and self-organized, as well as do our work in increments and iterations, with a clear understanding of what is a priority and what is not - that’s it! That’s Agile!
Doing Scrum or doing Kanban is just a way of fulfilling these principles. And, which is more, they don’t even have to be done exactly “by the book”. We are allowed to tailor them to our and our team’s specific needs, combine them even, and make them completely our own. That’s what Agile is all about. Reflecting and adapting.
With that said, one thing finally occurred to me: actually, I was asking the wrong question all along. I was so desperate to learn how to properly do Agile, that I completely flew past the point.
After all, it was never about DOING Agile, but BEING Agile - in everything we are and everything we do.
Everything else comes naturally then.