Software development pushes us to get better as people

Have you ever been on a really good software team? There’s this feeling of connectedness, of shared purpose. We know what we’re building, and we are skilled at building it together. This kind of team can grow some amazing software. When we work at making our team great like this, we look for new ways …

Read moreSoftware development pushes us to get better as people

What is this “product” you speak of?

We talk about “software products” and “product teams.” What does this even mean, “product?” It is not the definition I learned in school. Economics 101: the output of the economy is “goods and services.” Goods, also called “products,” are physical items that you can buy, take home, and have. Like, if you buy a rug, …

Read moreWhat is this “product” you speak of?

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?

Project to Product asks more of our software, and more of us

TL;DR: Projects ask teams do what is asked of them; Products ask teams to invent their work. This requires a different way of seeing the world, and not everyone can do it yet. Software is not an up-front investment that pays off over its use. Software is an ongoing concern, an intricate piece of a …

Read moreProject to Product asks more of our software, and more of us

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