Wednesday, February 4, 2015

From Fragile to Anti-Fragility in Agile Journey

Agilists are phenomenally disciplined in focusing on value, prioritizing, executing, and collaborating.

Many organizations are having an Agile shift during their digital transformation journey; Agile means customer-centricity with three "I"s: Incremental Improvement; Iterative Communication and Interactive Collaboration. From doing Agile to being agile; from being fragile to anti-fragility, it is a journey to grow into a Digital Master.

Agilists are phenomenally disciplined in focusing on value, prioritizing, executing, and collaborating. An agile culture is not the result of salable processes, but of scalable behavior. Altering how executives think and act it challenging. The most effective approach to organizational culture change is for the lead executive to have a personal philosophy shift. This changes the most important thing -- leadership mindset and behavior. It also flows into what they pay attention to and how they prioritize, lead their team, and deploy management processes. A few ways to approach this include finding a volunteer at the top of the organization and getting them interested in a central organizing metaphor and language like the responsibility process, grooming an agile expert for the top role, or allowing the organization to succumb to market forces and then pick up the pieces. Agile approaches that have similar values are:

The hybrid approach is always going to be the one that is tailor-made for the project you're on. Many people engage in Fragile (doing Agile rather than being Agile) and see a need for a hybrid approach to make up for teams who are missing certain parts of the development effort.  A "hybrid" approach, is not just about adding in checklists, quality checks, etc. Agility is not just producing crap faster. You use the techniques necessary to bring business value and a lack of quality rarely brings value. it's wise to remember that this business is art rather than science. The hybrid approach is always going to be the one that is tailor-made for the project you're on. In cases where the life expectancy of an app is measurable in decades, you simply must keep a set of long-range lenses on and take the extra time and steps necessary to plan it well even if it doesn't seem "agile." A hybrid approach isn't always necessary for quality but a well thought out and tailored one always is.

A shortage of skills causes problems, no matter what approach is used. And agile approaches are allowed to pick and mix practices from all sources, where they are appropriate practices in the context. In the case that the system is poorly structured, very complicated, confusing, and hard to maintain, the problem is that your teams don't have the skills (or possibly aren't allowed to apply them) to create a system that is well designed and easy to maintain. Technical challenge has built up, whether owing to the shortage of skills or shortage of prioritization. Change happens, otherwise, there would be no need for a team of agilists. If these agile practitioners can integrate change with appropriate refactoring, then you will get well-designed, simple to maintain systems. Documentation is another challenge. If your teams don't have the skills, then documentation means that it takes longer and more effort to produce a very complicated, confusing, and hard to maintain, but hopefully well-documented codebase. Even the more skilled agile practitioners out there are still learning. So the "right way" to do something is going to do continuous learning. People who "do" rather than "be" anything tends to end up as the worst-case studies. Don't blame "Agile," the problem is a lack of skill. Ideally, you need to be able to recognize, acquire, grow, and retain good people. If your organization chooses not to do this, then they get what they've got.

It is critical to maintaining the core values of AgileYou can't blame agile for bad architecture, poor craftsmanship, lack of valuing agile principles, lack of true agility across the organization, etc. Agile is too often misused and teams move too fast and they are faced with sacrificing reliable delivery, quality, and/or technical excellence. With timeboxing, the team often chooses to sacrifice quality and/or technical excellence. It is critical to maintaining core values. Agility means using what works and adapting to make it continue to improve, even if that means removing things that no longer work. There are times you have to introduce something that might make Agile "purists" cringe, even if it is just to facilitate learning a concept. The whole notion of "agility" to be including the notion that you have to stay flexible and choose the right approach each time you approach a project. But sometimes that may mean doing something that seems less "Agile" from an academic perspective. If those cases exist, then not doing so in them would be less "Agile", in reality. And that's just what people do when they think they have the truth "cornered." If you don't have skills, or if you are not allowed to use them, it is not an Agile problem, it is an organizational problem, it is a management problem, it is, in the end, your problem. What Agile did is highlighted the problem for all to see, so the upper management, can rightly know it is their business decisions that got them here. After all, it is a business decision how you run your business and issues outlined are all business problems which caused technical problems.

Agile is both a philosophy and methodology to run a digital organization; Digital organization as a whole is anti-fragile, but some parts may be fragile, via applying tailored agility, the digital organization with anti-fragile characteristics can better survive and thrive in volatility and uncertainty, and it can well adapt to the business nature of complexity and interdependence, as well as lift business maturity significantly.


Post a Comment