From time to time I’ve been heard to say: “Agile is Punk.” But I’ve never explained myself.
I’ve also been heard to say things life “Agile is about democratising the workplace” but I’ve never explain myself there either.
Let me try…
What I mean when I say this is: Agile (software development) has a lot in common with Punk rock.
To me the important thing about punk rock was that it was about people trying it – music, their own thing. Anybody trying to play music, anybody forming a band, anyone who had a novel idea trying to get a record contract. Yes, even if they couldn’t play an instrument they could have a go, and who knows, maybe they would learn as they went.
(I should say that while I’m old enough to have been around when punk was I’m not old enough to have been there. Both post-punk and post-disco influences were at work in the New Wave music which was common when I came music listening.)
Punk had a democratising effect on music. Music has aways been of the people, anyone can listen, anyone can try to sing – although I’m not very good at it even I can try! But the music industry was something different, performing, recording – there were barriers there! Punk tore down barriers.
Punk opened up the recording industry. Punk opened up music.
Agile opened up the software process industry.
Before Agile official software processes were pretty locked down. You had to be an academic or expert/consultant to dabble in that space. Programmers who worked in under official software processes were on the receiving end.
Agile said: “Your opinion is important too.”
In truth music has always was been open to everyone, just not the recording industry. And in software development processes were open to anyone, most programmers did not work under an official process, mostly it was common practices which, if they worked, were probably more effective than official ones.
Unfortunately these unofficial work practices came with guilt: because we did not do it the way the books said we should. When faults occurred we blame ourselves for “not doing it properly”.
Agile says: “Everyone involved with software development should have a voice in deciding how to work, it can be improved and you don’t need to be an expert, academic, consultant or certified member of some body to express that view.”
That also makes it democratic.
I don’t mean democratic in the sense that we all get to vote, I mean democratic in the sense that it is power is vested in the hands of the collective people. Everyone has a voice, everyone can participate, and those who hold executive power do so by the will of the people.
Agile is about giving everyone a voice. Like Punk that means accept that those who don’t have much skill are also entitled to a voice.
Funnily enough, I’ve long held that any punk band that made a second album weren’t punk anymore because they were part of the industry, they were now experts! The same is true with Agile, hang around for long enough (like me) and you are no longer an outside but an insider, an expert.
Increasingly we see Agile heading outside of software development. When this happens it becomes necessary to ask: What is Agile?
My answer is: Democracy.
Agile is about valuing everyone, agile is about giving everyone a voice, agile is about putting the power to change the workplace (process, systems, norms) into the collective hands of the people who work there.
Yes at times it feels revolutionary, but there are fellow travellers, it is all a Theory-Y movement.