We are agile.
Many new founders have been using the word in various contexts: while recruiting a senior engineer, while pitching to a VC, etc. Once in a while, someone would ask them for clarification.
What do you mean by you are agile?
They usually give the sort of reply that lacks depth. E.g. agile as in “adaptable”, “moving at the speed of change”, “following SCRUM practices”, etc.
There are many who are skeptical about agile because of its history. Starting from about 10 years ago, agile has been heavily commercialized and marketed, usually by consulting companies. The hype has generated a lot of misconceptions and malpractices, which led to broken promises and disappointment.
Since then, famous advocates and practitioners have distanced themselves from this infamy and tried to elucidate or re-invent agile in a new way. E.g. see The Failure of Agile by Andy Hunt, Agile is Dead (Long Live Agility) by Dave Thomas.
If you hear the word “agile” from someone who learned it from a consulting company, chances are “agile” is not what he thinks it is.
It is better for a founder to know what that jargon means, before using it in a networking session.
What exactly is agility?
Agility is an emergent behavior that appears in a team of experienced practitioners who interact with each other very closely to perform software development or some other engineering activity. An agile team appears to self-organize themselves. The team make use of all available information at a moment to decide collectively what to do for the next.
Agility cannot be prescribed, by adhering to a set of rules or processes, or following a book or copying what others do. It can only be cultivated, through constant collaborative work and great management support.
Agility manifests in different ways in different teams under different circumstances and operating constraints. E.g. in an Asian bank, you will likely find a high-performing team actually practicing a mix between traditional waterfall style of software development and SCRUM. Their process has evolved to suit their hierarchical organizational structure. As a result, pure startup agility may not be applicable in an Asian bank.
The implications of agility
- the result of a tech team optimizing their work process to improve the odds of achieving their goal.
- about self-introspection and picking the best course of action.
- aiming to achieve not only organizational success, but also technical success and personal success.
- Organizational success—on-time delivery of project, increase in the value of the organization, etc.
- Technical success—better software quality, less technical debt, etc.
- Personal success—happy developers.
Agility does not magically improve the productivity, or bring forward your project delivery schedule. In fact, because of the three concurrent objectives, it sometimes slow things down, thus giving some managers a rude shock.
Neither does agility solve any organizational / technical problem that already existed before the adoption of agile methodology.
Agility does not mean that long-term planning is not needed, where the project is carried out in a strictly iterative fashion—a common misconception.
Agility is connected to technical recruitment
An agile team generally enjoys a certain degree of autonomy and software developers like to work in such an empowered team environment. They also stay longer in a project with less technical debt and one of the key agile practices is managing technical debt.
So agility at workplace helps to retain talents and is a well-suited strategy for employer branding. I will continue to expound what agility means in practical terms and how to cultivate it, in a series of articles about team building.