I’ve spent the last year as a software engineering manager for teams building a new product. Our tribe (the group of teams) is part of a larger organisation. Here are 14 things I learned:
I often see situations like this in software teams:
Alice: “We can’t begin testing because we’re still waiting to hear from Bob about when the RC will be ready. He will let us all know in the official Slack channel. Stand by.”
Bob: “I know you’re all waiting for the RC but I need confirmation from Craig first, and he’s not responding to his email”.
Craig: “Usually it’s Dan who makes this decision but he’s on holiday and he didn’t brief me on this when he handed his tasks over to me…”.
Typically, I (mis)diagnose this as a problem of ignorance. The roles and responsibilities are not clear enough! Let’s make another checklist, create another role, set another OKR. This will help people to understand exactly when they’re right or wrong. …
I recently read an article about how scrum disempowers developers due to its focus on value rather than technical excellence. This is something that resonates with me, so to “pump” my intuition I want to do a little thought experiment where we try to stay within the scrum universe, but try to solve the main problem (developers being disempowered by scrum) by modifying the scrum framework.
As the author of the article states, “Scrum has a master, product has an owner, but no-one is empowered to advocate for development priorities.” To remedy this, let’s add a new role to scrum called the craft master. The craft master guides the team to understand their work as a craft, and to help them reflect and improve on it. This person does not necessarily have to be an individual contributor (much like the scrum master). The craft master has excellent technical leadership skills, deep technical knowledge and keeps abreast of what’s happening in the world of “software craftsmanship”. The craft master makes sure that the team’s notion of quality and craftsmanship manifest in the Definition of Done, and brings the Definition of Done to the foreground as an integral part of scrum. …