We believe Agile software development is being dumbed down, commodified, and is losing its spirit. We seek to replace its current name with one having two virtues: first, that it capture more exactly the attitudes originally behind Agile; second, that it be obscure enough that no one will assume they already know what it means and that—amazingly enough!—they are already doing it.
There are two halves to the story: an attitude toward technology and an attitude toward the social. To form the Agile attitude, those two attitudes are crossed (hybridized) like lions or tigers are crossed to form ligers. Trying to separate the social from the technical is mistake.
Within technology, artisanal is supposed to connote:
Higher quality and a focus on a more demanding customer.
A product that’s an unusual variation on a more typical product. Typically, the variation is one that’s not suitable for mass production. (For example, an artisanal apple might not ship as well as common varieties.) In the context of software development, “artisanal” therefore suggests an extreme focus on the product director.
But [Wajswol] gladly lets technology lend a hand. Twice a day, in the “milking parlor,” a computerized lactation carousel that handles 60 sheep at once—the only one in the U.S. for sheep, Wajswol claims—milks 300 ewes per hour. In the cheese room, vats of milk are heated to the precise temperatures required to activate specific strains of bacteria to produce just the right texture of curd.
“Machinery helps you pay attention to what's important,” Wajswol says. “In cheese making, there are a couple of things you need to focus on. If you can eliminate the nonsense—the mundane, nonskilled steps, like feeding the animals or warming milk correctly—you can spend more time focusing on the texture of the curd and making sure the product comes out good.”
But artisanal is too broad of a term. It needs to qualify something else. What?
At a workshop once, Pete McBreen said “The Agile methods are methods created by people who like to program.” While that’s not entirely true, we bet it’s more true of that particular bunch of people than of any previous gaggle of methodologists. And their oddity went even further: a surprising number of the authors of the Agile Manifesto had programmed in Smalltalk. They were technology enthusiasts, and that enthusiasm—a “gosh wow!” enthusiasm for continuous integration tools, refactoring tools, programming languages, testing tools, and the like—has been a continuous part of the growth of Agile. It’s been a touch disreputable, though—because of the Agile Manifesto’s “individuals and interactions over processes and tools”—so we've chosen the artistic style called retro-futurism to call renewed attention to it.
We are using retro-futurism in one of its senses:
[a] vision of the future as seen through the eyes of the past, often a utopian society characterized by high technology (relative to the base time), unusual or exaggerated artistic, architectural, and fashion styles, and an abundance of consumer goods; its spirit of optimism […] is a contrast with cyberpunk […]
(Quote from ibid.)
Another way of looking at the style is as a response to the oft-heard complaint, “It’s the future now. Where’s my flying car?” The physical world is disappointingly short on flying cars, rocket packs, and all the rest. In the software world, though, we have flying cars: tools—and team-scale processes—that still evoke that old excitement and sense of wonder.
So. The technology half of the cross casts attention on giddy enthusiasm for both our products and how we build them.
Agile’s early emphasis on self-organizing teams caused some to brand it anarchic. Soothing those fears has led, in too many cases, to team processes that are externally imposed and therefore ossified. To counter that trend, we want to embrace the anarchic strain in Agile. (What should be done to sooth fears, we believe, is nothing more than producing working software at frequent intervals. So long as a team delivers that which satisfies, no one should care if an integral part of their process is capering naked in the light of the full moon.)
At the same time, we want to recenter emphasis on the team. Too much of modern-day Agile depends on someone else to make it succeed. Typically that someone is upper management, whether via servant leadership, outright command-and-control management, or something in between. While we can’t ignore the world outside the team, we think it better to take the attitude that, while the outside world can make Agile fail, it cannot make it succeed. Agile lives and dies by the team.
Casting about for something odd that would combine “anarchy” and “team”, we came upon anarcho-syndicalism. Anarcho-syndicalism was an economic/political/labor movement from around 100 years ago. Its goal was to end the oppressive power—and very existence—of both the State and large-scale corporations by countering them with self-organizing trades unions. Anarcho-syndicalism’s concentration on the self-organization and solidarity of the people whose hands and minds make the product is reminiscent of Agile at its best.
We are also taken by anarcho-syndicalism’s emphasis on
direct action. Others believed that the route to
better working conditions lay in, say, electing
representatives who would speak for the workers, but the
anarcho-syndicalists rejected that. In that rejection, we
hear echoes of the attitude that teams should not wait for
management to fix their problems.
Having chosen an outlandish reference—anarcho-syndicalism? a type of omigod socialism—we add a softening qualifier. Ending the State, fighting the Corporation, doing away with wage slavery—none of these are part of our programme. We’re just trying to develop good software in a pleasant way that makes sense. Therefore: the qualifier team-scale is intended to remind that our message is to the workers of a team, not the workers of the world.
So. The social half of the cross casts attention on perfecting the team. Or, rather, on the team perfecting itself.
To the extent that Agile has lost its way, a slogan that reminds us of the original path will help. To the extent that Agile as a movement now favors bland conformity over scrappiness and outrageous ideas, an outrageous slogan can help us get back to where we once belonged.