Key insights from my first Agile Training

Earlier this month I went through my first Agile Training course. I was initially not looking forward to spending a couple of hours on a training program on a topic where I felt I had the general idea. I had heard a fair bit about Agile from the Tech Leaders in my team and read a few articles so was not sure what more I would get from the training. I was wrong!! The Agile training was a good opportunity for reflection and for some key concepts to sink in.

I thought I would share with you eight key insights I took away from the training:

  1. Business world is changing at unprecedented pace and with that the traditional rules of management. The combination of technology innovation, shortening business cycles, hyper competition and shifting of traditional markets is creating unprecedented uncertainty and high velocity of change. This implies that management rules that were developed for a more structured, stable environment will almost certainly not work. This is a great challenge for managers (especially those of us above the age of 40!!) as we probably need to unlearn what has made us successful so far.
  2. Speed is King. One of the stark insights from the training was that a typical business requirement has a life of 6 months. This makes any long-drawn plans and execution cycles totally irrelevant!!  Therefore the focus on short delivery sprints to deliver working software over comprehensive documentation. I also loved the concept of “fail fast” – try something, get fast feedback, and then adapt or terminate before more money is spent. It also reinforces the virtues of 80/20 thinking, something all of us know but don’t always practice!!
  3. Dealing with Uncertainty. Given the unprecedented velocity of change there is little point trying to predict the future. I loved the mantra “build for today, design for tomorrow” – instead of solving for the very long term, we should handle present requirements efficiently (and quickly) but keep the design open/extensible for future requirements (which are not yet clear). I also liked the concept of “cone of uncertainty”, which says that the only way to reduce the variability in the estimate is to reduce the variability in the project itself.  This implies that focus needs to be on smart decisions and actions that will help reduce variability.
  4. Customer collaboration is key. Given the combination of uncertainty and the need for speed, to achieve success it is paramount to be very close to the customer. You have to get the customer requirements/pain points spot-on and be very connected to understand real-time any changes. This requires significant change in mindsets and operating models from delivering to a contract over a period of time to real-time customer collaboration, frequent deliverables where you get feedback and most importantly building strong trust.
  5. Keep it Simple. Complexity is the antithesis of Agile. Key to meeting the expectations of speed is to have simple solutions. This means that instead trying to do everything afresh, use standard platforms and re-use components where possible. This also means that we should avoid customizing and trying to solve every possible customer need but focus on addressing the most important customer needs for your most important customers.
  6. Linear thinking is out. You do not have the time to develop a nice, sequential plan and almost certainly will not have the opportunity to follow it in a structured fashion. You have to be nimble and ready to respond to change. This also calls for a shift in managerial focus from thinking and planning to doing. As the instructor said, “to understand, do!!” It is only by being very connected to the action can managers pick up the changes quickly enough and respond to them decisively without getting into long “analyse-plan-approve-do” cycles.
  7. Self-organize rather than manage.  A key mantra of the agile approach is the focus on individuals and interactions over processes and tools. This requires a significant shift in our approach to people. Instead of trying to manage teams, we need to empower. We need to break our hierarchical mind-sets and processes. Very importantly we will also need higher tolerance for failures
  8. Agile is not just about Software Development. Agile is clearly a significant and necessary shift in our approach to software development. However, it is not just about that. For example, I can see how the fundamental principles of Agile are equally relevant for strategy development and business planning work that I regularly do. The underlying driver around high velocity of change is true across the business areas and functions and thus the agile concepts something which can and need to be applied across business/project situations.

This training has triggered a self-refection that the world is changing fast and therefore I need to revisit my mental models and approaches. My appetite is whetted and I look forward to learning more. I will conclude with one of the opening comments the Agile instructor made, “there are no best practices, only good practices.”  Time for hubris is over, time for learning is now!!