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
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)
We get better decisions by forming a shared (overlapping) understanding. We do that with participation from everyone who changes the 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 …
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
TL;DR: When you want to build one platform for all your lines of businesses: stop. Don’t. Build systems for each instead. Keep the integrated parts as small as possible. This minimizes costs, while enabling change. A global, unified platform to support all our lines of business! Doesn’t that sound glorious? CIOs puff out their chests. …
Read moreNonlinear increases in complexity make unification excruciating.
I wanted it to be turtles all the way down. (where turtles are objects, or functions)
But it isn’t…
Software is completely clockwork at the scale of one function, and completely complex in production.
They ask us for quality. What is “quality”? “Well, free of defects.” (Oh it’s a lot more than that.) What is a “defect”? “Well, when it doesn’t work like we expect it to. Like we agreed it should.” Trust me, you didn’t specify how it works. That’s my job, as a developer. To organize all …
I don’t want to make my programs simpler. I want to them make them complicated instead of complex.