Are Solo Agile Practices for You?
Developers praise agile for many reasons, but nobody ever said the road to becoming agile was easy. Agile principles such as collaboration and communication are difficult for many, and when you throw in offshore workers or telecommuters, the task can easily become much harder.
If people are the problem, and you’re sick of waiting on your team to get their act together, and you’re tired of hearing about everyone else’s success with agile, why can’t you become agile on your own? There are more than a handful of people out there who believe it’s at least worth a try.
InfoQ pulls quotes from a number of sources who have tried or who are about to give personal agility a shot. Information architect Fiona Hanington points out that there are obvious limitations a single agile developer will face that a functional team would not—but there are still numerous agile methodologies that can be put into place on your own:
She explains how you can focus on the customer needs in your daily work, by questioning requirements that come in. And she discusses the possibilities to use agile planning techniques like dividing the work into small tasks, use a personal task board to make the work that she does visible, focus planning on the short term and respond to changes, and use timeboxing, Kanban and priority setting for the tasks that she will do.
Alan Skorkin sees the same limitations as Fiona Hanington, but he also brushes them aside as mere ways to talk yourself out of doing something challenging or simply outside of the norm. Skorkin goes so far as to claim that one person is “the perfect size” for an agile team. Skorkin’s comical yet debatable blog post addresses how all that communication and collaboration often turns into nothing more than arguing.
Skorkin recalls a time when people looked at agile as impossible, and he thinks going about agile alone is no more impossible than doing it as a team. In his strongest defense of this controversial belief, Skorkin remarks:
The way to achieve the impossible is to be completely ignorant of the fact that it is impossible, but another way is to actively try to achieve the impossible while knowing full well what you’re doing. Like, for example, creating an agile software team with only one brilliant developer and seeing what they can produce.
A great back-and-forth discussion on the pros and cons of implementing agile with a single programmer can be found here.
Do you believe you can truly be agile on your own? How would you go about tackling the challenge?