Saturday, February 20, 2016

Agility vs. Flexibility

Agile does not mean laissez-faire, the flexibility and freedom are based on the well-defined principles.

Agility is the ability of a business to adapt rapidly and cost efficiently in response to changes in the business environment. Agile provides greater flexibility and it requires great discipline especially at team member level. Great power comes with great reasonability.

Agile is a silver mirror, not a silver bullet: Agile is often considered as a silver bullet, a quick and easy fix to complexity issues prevalent in software development, but in fact, it is a silver mirror. You have to do continuous reflection. It advocates self-organization, working without hierarchy, progression etc. Moving to agile brings the cultural change in an organization which the management needs to understand and support. Isn't Agile about flexibility? Transparency? Why are you not able to have open and constructive conversations about the situation? Why do you have to act beneath the company’s radar screen? Agile is a state of mind, it is about embracing change, taking risks, thinking out of the box and practice the management disciplines with flexibility.

Agile does not define processes and practices but setting guidelines first: Agile is the set of principles, frameworks based on these guidelines have processes and practices, but they are not rigid and fragile. The frameworks define control limits (upper and lower) in which processes can wiggle. It's much like learning to play an instrument before you can solo you need to master the basics of your instrument in order to understand how it works, it's limited and more importantly how you interpret that instrument within the context of music performance you are in. You may have the flexibility or freedom with how you play the instrument but it always needs to be within the context of where you are at, an orchestra or a jazz band, playing the same instrument with different styles and context. Agile is a discipline, so you won't understand the point of the practices and principles until you've actually mastered them to a basic level.

Agile does not mean laissez-faire, the flexibility and freedom are based on the well-defined principles. Agile is a mindset and to operationalize this mindset there are some frameworks. Many agile teams think they have the freedom to do what they want regarding Scrum or Agile. In reality they do have that freedom, however,  it really helps to have some guidelines with which to start your journey. The analogy on flexibility-You have the flexibility to cross the street anytime, but you can do it only when the traffic light permits you to do so. Often the problem is not people customizing their process. They should do that. The problem is when they try to change the process, they ignore an organizational issue that prevents agility. Hence, there are no "soft" approaches teaching cherry pickers by gradually leading them to accept the fundamentals. Cherry pickers are usually pursuing their own agendas: if agile is a success they will claim it. If it fails, it is your problem.

Agile is flexible, but it doesn't mean there is no discipline, on the opposite, it takes more engineering disciplines. You don't really understand how to work together without some guiding principle and framework. It's human nature to embrace the easy things you like and attempt to ignore those that require work, discipline and change. Being real agile takes both discipline and accountability to get things done. At the end of the day, it's all about delivery with quality, and the underlying commitment teams must make to do it consistently. One thing that really helps is having the organization decide what they want to achieve by using agile, then get them to measure success or failure against that goal with some good metrics. The key here is to make results measurable. If there are no agreed metrics in place, it just comes down to arguments and opinion.


Post a Comment