Categories
Uncategorized

FutureRuby Talk: “Artisanal Retro-Futurism and Team-Scale Anarcho-Syndicalism” [Updated]

Update: There’s a link to a video of the same talk given at an agile conference earlier this year. See the end of the article for details.

Here are my notes from the FutureRuby presentation titled Artisanal Retro-Futurism and Team-Scale Anarcho-Syndicalism by Brian Marick.

Sticker: "Artisanal Retro-Futurism and Team-Scale Anarcho Syndicalism"

  • This talk is about economies and (dis-economies) of scale
  • The idea behind this talk got started around 2000 – 2001, when I visited agile projects and people on the teams would say things like “This is the best project I’ve ever worked on! Why do it any other way?”
  • Then, two years ago, I talked to someone who’d been doing Scrum for a year and he said “At least my job doesn’t suck as much as it used to.”
  • Hearing stuff like this, people like me – the Agile Old Guard – we get distressed. We’d much rather hear what people used to say
  • The problem is that the economies of scale that drive corporations to be larger and make more money are also diseconomies for the people working within them
  • I will differ from what Nathaniel [Talbott] said in his presentation. I believe that even the wage-slave can know “joy-in-work”
  • What used to be present in Agile projects that’s gone missing in new ones? I’ll tell you what it is: it’s Artisanal Retro-Futurism and Team Scale Anarcho-Syndicalism!
  • "Yes it’s true, not everybody immediately grasps what I mean."

 Techno-anarchy

  • First, let’s consider what “anarcho-syndicalism” is
  • Consider an agile team. The see themselves as alone in a dangerous place, where no one else is offering any help.
    • It would be nice if a “daddy” swooped in and help save them from the mean people
    • The are problems with this approach: it’s pathetic, and it often doesn’t work
  • Here’s a story for you to illustrate things:
    • An agile team was made to work in cubicles, like the rest of the company
    • Agile methods aside, cubicles are the "single worst arrangement of humans and objects in space for the purpose of developing software"
    • The team proposed changing their workspace to an open one
    • Furniture Police turned them down
    • In response, the scrum-master went to the office over the weekend. She disassembled the cubicles and changed the office layout to an open one. On Monday, she declared to the Furniture Police that “If the cubicles come back, you will have to fire me.”
    • They gave in
  • Anarcho-syndicalism is a political/economic/trade union movement
  • It peaked in 1923, and was crushed by the U.S. government in 1924
  • “Anarcho” comes from “anarchy” — they wanted to see government go away
  • “Syndic” refers to a trade union – they wanted to replace corporations with trade unions, or more simply, they wanted to see corporations go away
  • Anarcho-syndicalism has these principles
    • Worker self-management:
      • Workers decide how to control factory
      • They’re not fans of hierarchy in general
      • The aforementioned “Cubicle Incident” is an example
    • Direct action:
      • It’s about not waiting for “daddy” to swoop in and save you
      • It’s about taking action – doing something and then saying to anyone who disagrees “What are you going to do about it?
      • There was a difference of philosophies in the labour movement over direct action:
        • Some believed that they should elect/influence/bribe elected officials to pass laws to ban the burning down the houses of people on strike
        • Other believed in a more direct form of direct action: beat up or kill the people who tried to burn down the houses of people on strike
    • Worker solidarity:
      • This is the one principle that wasn’t followed in the cubicle incident
      • The scrum master could’ve been fired
      • Under worker solidarity, the entire team would’ve said “You’ll have to fire us all!”
      • (That’s okay, though: “Scrum masters are not hard to come by” – you’ve seen the courses: "Two days, $2000, you can be a scrum master!")
  • I invert the anarcho-syndicalist flag
    • I do it to reflect something the original anarcho-syndicalists didn’’t care about: team scale
    • I believe that teams should band together more
    • Sometimes it’s "our cursed individualism" that gets in the way, the need to be the Ayn Rand hero — we’d be a lot more effective if we could get past that
    • I am advocating teamsmanship
    • We need more power in the hands of the team to counterbalance the power in the corporation
    • Remember, power can be used for good, evil…or stupid
    • If the team is completely inwardly-focused, they will do stupid things
      • Completely inwardly-fcoused teams devolve into fighting over things like who gets the workspace with the most light
  • There needs to be a manifesto for software craftsmanship, to move from journeyman to master

Plate of artisanal cheeses

  • Let’s now consider what “artisanal” is
  • It’s all about the cheese
  • As an artisanal cheesemaker, I care about cheese
  • I want to make really good cheese for really good people who will enjoy the cheese
  • I care about the cheese!
  • The interests of the executives in an organization are not necessarily aligned with the owners (shareholders) or the pesky customers
  • The teams working on a software project for an organization often care more about the project than the organization’s executives do – in the software field, they are the artisanal cheesemakers
  • We – as metaphorical artisanal cheesemakers — care about the cheese, which means “we should get away with the things we want to get away with” because these things help us get our work done

Retro-futuristic cityscape

  • Now let’s consider what “retro-futurism” is
  • The future ain’t what it used to be
  • Look at all the old science magazine articles about the future: flying cars, cities underwater and on the moon and robots that clean the house. Only one of them came true!
  • "We have 60 years of envisioning the future, and all we got for it was the Roomba"
  • The unfulfilled promises are now part of popular culture: “Where’s my jetpack?"
  • Retro-Futurism is about having optimistic images of the future
  • The spirit of retro-futurism is in Infinite in All Directions by Freeman Dyson
    • Chapter 2 is pretty good
    • The book is really good at conveying a sense of possibility
    • It says that you keep finding new things when you go in the small direction, towards the sub-atomic, but you also find new things in the big direction too, towards the universe
    • You also find new things as you go outward and see the interesting complexity of life and social organization
    • It says that there’s no end to what a curious scientist could discover
    • It is permeated with a spirit of hopefulness
  • As for you and me:
    • We’re limited in most directions
    • I want to us to try to convert ourselves to infinite in all directions””
    • Holding conferences like FutureRuby is one way to do this
    • One way not to do this is to listen to people like me
      • I once had a …vigorous debate…Ron Jeffries about test-first programming
      • It was about what programmers would rather do – would they rather write tests or new code? I kept saying that “test-first is never going to work”
      • I also said: ”In two years, you’re going to ask yourself whatever happened to all those unit tests? They’ll be gone — it’s just the way the world works!”

Painting: "Liberty" (from the French Revolution)

  • As programmers, we’re used to working within constraints
  • The context in which we work makes agile hard – we need to change the context
  • Remember, you drive the context, not the other way around!
  • I’m asking you to be scrappy in defense of producing the cheese you care about, to do what you can to do the best work you can, to make the best software you can, as enthusiastically as you can. I’m asking you to practice Artisanal Retro-Futurism and Team-Scale Anarcho-Syndicalism
  • How do you do it?
    • By getting back to your workplace?
    • By harnessing the (useful) madness of crowds
    • By proselytizing the good word of Artisanal Retro-Futurism and Team-Scale Anarcho-Syndicalism
    • By visiting Arxta.net, the “global headquarters of the movement”

See the Video!

There is a video available – while it’s not the presentation Brian gave at FutureRuby, but one he gave at an agile conference earlier this year, it’s pretty much the same.