Discussion about this post

User's avatar
Fabien Ninoles's avatar

There is a lot to say about scope, quality and features (either discovered or planned), but the main things in my opinion are that:

- we don't know what is important, what is temporary and what will stay.

- whatever we do, we are likely to get it wrong the first time. Only time will tell us if we are right.

And sure, that's discouraging. But the solution out of it is stands on that criteria:

- always build things to minimize the cost of error, including the time passed to build the wrong thing.

From there, you get a whole lot of principles, practices and methods to minimize such cost, from iterative development to TDD, rapid feedback, Scrum, Lean, refactoring, continuous delivery, backlog, feature management, pair programming, weighted priotization, YAGNI, MVP, etc. All of them with their own flaws and high dependency on the circumstances, but with this common criteria to evaluate them: how good they are to reduce the cost of error in my own work.

Expand full comment
Bill Wake's avatar

I have a couple other dimensions I sometimes highlight - quality of life and future capacity. Yes, maybe I could work extra hours this week for a critical thing, but it erodes my quality of life - burns out my relationships and health. Similar for future capacity - (which interacts w/QOL) - cut out learning, collaboration, etc. and maybe you finish this project, but you can end up with a team that falls behind what you need for the next project (or version:)

Expand full comment
22 more comments...

No posts