Product teams own capabilities, not (only) code.

As a software engineer, what is your job? and what is your value? On many teams, the work is “add features to this codebase.” We congratulate teams for moving JIRA tickets from “defined” to “delivered.” Meanwhile, the value to the business depends on value to the customers, or to people or software who in turn …

Read moreProduct teams own capabilities, not (only) code.

Better coordination, or better software?

TL;DR: When different parts of an organization need to coordinate, it seems like a good idea to help them coordinate smoothly and frequently. Don’t. Help them coordinate less — more explicitly, less often. Software systems get big, and they have lots of parts, and those parts need to talk to each other. Maybe we’re building …

Read moreBetter coordination, or better software?

10x developer: work->knowledge->work

The most productive developer on a team is usually the one with the most knowledge of the system. Of the code, the business domain, the other software this code interacts with, and the people in the organization who can help. How did they get that knowledge? By working on the system. Weinberg remarks that when …

Read more10x developer: work->knowledge->work

Software teams are like Executive Teams

In any large enough company, there are front-line workers, management, and executives. Executives set direction, management sets up the situation for the workers, and workers do the labor. Workers do the company business every day, providing capabilities to external or internal customers. Management gets them the tools and training they need, for today and for …

Read moreSoftware teams are like Executive Teams