Increasing potential as a specific output of flow

In Projects to Products, Mik Kersten divides flow items in software products in four: features, defects, risks, and debt. If you only count features added and bugs fixed – changes visible externally – then you neglect the other outcome of our work: the next version of the team+software. I prefer to think of “technical debt” …

Read moreIncreasing potential as a specific output of flow

Closing the feedback loop from the customer

Feedback loops are essential to learning. In business, they’re essential to getting the product right. We need to know what the customers think, what they’re struggling with, what they value. There’s one department that has a lot of contact with customers. Whole conversations, where we can learn a lot about what frustrates people. Yet, customer …

Read moreClosing the feedback loop from the customer

Every action has two results (Erlang edition)

Every action has two results: a set of side effects on the world, and the next version of ourselves. I learned this from Erlang, a purely functional yet stateful programming language. Erlang uses actor-based concurrency. The language is fully immutable, yet the programs are not: every time an actor receives a message, it can send …

Read moreEvery action has two results (Erlang edition)

Victory at life

In most (modern) board games, there’s a phase where you build an engine, and a phase where you use that engine to achieve victory. This is not explicit, it’s just that in the first part of the game you choose things that give you more power, while in the last few rounds you maximize victory …

Read moreVictory at life