In The Manifesto for Anarchic Software Development I noted that one of the agile manifesto principles is for self-organising teams, and that those tend not to exist in software development. What would a self-organising software team look like?
- Management hire a gang and set them a goal, and delegate all decisions on how to run the gang and who is in the gang to members of the gang.
- The “team lead” is not in charge of decision-making, but a consultant who can advise gang members on their work. The team lead probably works directly on the gang’s product too, unless the gang is too large.
- One member of the gang acts as a go-between for management and communicates openly with the rest of the gang.
- Any and all members of the gang are permitted to criticise the gang’s work and the management’s direction.
- The lead, the management rep, and the union rep are all posts, not people. The gang can recall any of them at any time and elect a replacement.
- Management track the outcomes of the gang, not the “productivity” of individuals.
- Management pay performance-related benefits like bonuses to the gang for the gang’s collective output, not to individuals.
- The gang hold meetings when they need, and organise their work how they want.