Define roles by what each person increasingly knows

Say you’re aiming for outcome-based product teams that write and operate software. Maybe you hire for roles in these teams like Software Developer, Product Owner, Designer, Tester. How do you define each role? We usually ask, what does each person do? A typical job description includes: what does the person do? What are they responsible …

Read moreDefine roles by what each person increasingly knows

The visible lines of division are not the meaningful ones

Imagine you’ve never cut open a human body before. Nor seen a diagram drawn by someone who has. Back before anatomy textbooks, the organs and systems of the human body would not have been obvious. I imagine asking, what are the parts that make up a person? and getting: head, arms, legs, hands, feet, chest, …

Read moreThe visible lines of division are not the meaningful ones

Software development is like geriatrics

Caring for software takes more knowledge than a single person can acquire. There’s the business knowledge that makes it useful, plus the languages and runtimes and infrastructure and deployment. Then there’s security, accessibility, user experience, each interface, availability, observability, scaling, performance, data modeling, testing, networking, etc etc. Every change to the software hits several of …

Read moreSoftware development is like geriatrics

Teams are like bread

Maybe when companies make you do “team-building” activities, what they’re looking for is a phase transition into a gelled team. Because it is a sudden, magical thing, right? When a group of people turns into a team. Once you get there, to that feeling of team, it’s self-reinforcing. You trust each other, so y0u don’t …

Read moreTeams are like bread

Tradeoffs in Coordination Among Teams

The other day in Budapest, Jez Humble and I wondered, what is the CAP theorem for teams? In distributed database systems, the CAP theorem says: choose two of Consistency, Availability, and Partitioning ā€” and you must choose Partitioning. Consider a system for building software together. Unless the software is built by exactly one person, we …

Read moreTradeoffs in Coordination Among Teams