Agility isn’t always about speed. A bunch of factors helps your organization to be Agile. That’s what we talk about in this post.
Ship early and often
Number #1 factor that can make an organization agile is – shipping early and often.
We are hard trained to approach a project as series of steps. Long planning phase followed by an even longer design phase were the norm to start developing shippable stuff.
A truly agile organization takes a pragmatic approach. Rather than exiting every phase, each phase is performed multiple times while shipping something useful at every attempt. This enables the end users to share their feedback early, rather than waiting a year after sharing the requirements.
Recover quickly from failures
If you haven’t failed, you’re not trying hard enough.
This quote by Jennifer Crusie is very valid in software projects. But the quality that differentiates an agile organization is its learning and speed of recovery from failure.
One common strategy for this is failing fast. Starting from prototypes to spikes to MMF, agile is all about failing fast. Try smaller, isolate the impact, work harder and fail fast. Keeping things lean also helps with this philosophy.
Adjust along the way
This is a funny video that was making rounds on the internet. Though the context is production bugs, it holds true for project execution in general.
One attribute that differentiates an agile organization is its ability to adjust along the way, without tripping down. It is easier said than done. It requires a combination of courage, motivation, skill, and management. But to be truly agile, an organization must strive hard to reach here.
Release with ease
In a truly agile organization, releasing software is fun. It doesn’t require endless emails, requests, phone calls and meetings. Like compiling code, releasing must be possible as a routine activity. But unfortunately, only a handful of organizations exhibit this mastery.
A major part of releasing simplicity depends on the process or the lack of it. The next important part is in using the right tools. It requires a complete post to talk in detail about releasing – I will keep that for later. In organizations where releasing is drama, agility is a long way to go.
Collaborate for goodness
In the last decade or two, collaboration was a hot topic. As a result, today we suffer from excessive collaboration. In many cases, it leads to chaos, especially if the interests are not positive.
In a truly agile organization, collaboration is done with a good deed. People in such organizations talk to each other with the common goals of delivering a successful project. Politics don’t take center stage and interests are aligned.
- Agility isn’t always about speed. There are other factors that make an organization truly agile
- Ship early and often. This helps with early feedback
- Don’t be afraid to fail and find ways to quickly recover from failures. Failing fast helps!
- Adjusting along the way is a norm in truly agile organizations
- Releasing must be as simple as compiling software
- Collaboration must happen in a positive regard
Do you think your organization is truly agile? What do you think are the differentiators?