Velocity defeats itself. Get acceleration instead
what a spherical cow can teach us about task prioritization in software teams
what a spherical cow can teach us about task prioritization in software teams
There once was a little app, proudly running in a container. The container let the app have its favorite operating system and libraries, all snug and separate. The little app shared a container runtime with its friend, a firefly. Sometimes the app’s code would crash (through no fault of the code, of course; must have …
A viable system continues to function in a changing environment. We want our companies—and some teams—to be sustainable this way. How does your team contribute? Does your team have all the components of a viable system… and should it? Stafford Beer (1926-2002) coined the Viable Systems Model (VSM) to describe what it takes. A Viable …
One day a baby app was completed. It was so excited to run! But where would it run? and how? Its problems are only just beginning.
When I make a toy app for my own learning, I start small and add one feature at a time, each time figuring out some new piece about the framework or language I’m working in. There’s a point in adding features where they start to make each other harder. One time I made a Cat …
Are we succeeding as a software team?Well, if our job were feature delivery, we could look at the parade of JIRA tickets in our “complete” column. That is only part of our job, though.The purpose of a software team is to provide valued capabilities to customers, internal or external. To do that, our software has …
Read moreFive Measurements You Should Make and Then Ignore (Plus One to Watch Intently)
It also works with VSCode devcontainers and on GitPod. Because Step 1 in any new project is a reproducible development environment, and Step 2 is get it in production. Step 3 is implement something. Copy this code: systemsthinking-dev/poker-in-elm at starter (github.com) This is my accomplishment for the day, so I’m here to share it with …
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
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 …
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 …