When "Working software" is NOT a good measure of progressSoftware is like surgery. Nobody wants surgery.
When our goal is writing software, our primary measure of progress should be working software.
But is writing software always a good goal?
In fact, definitely not.
I like the way Dan North puts it. Software is like surgery.
Nobody wants surgery.
Nobody wants your software.
What they want is to do something, and your software is an inconvenience between them and that thing they want to do.
Maybe they want to order shoes. Or maybe they want to pay their taxes on time. Or maybe they want to see how a new sofa will look in their living room, without paying the movers to put the sofa there first.
If your software helps them do these things, fine. But if they can do these things at least as well with less software, or better yet no software at all, that option will win the day.
So is “working software” the measure of success? Sure. Once you’ve committed to writing software, it better darned well work.
But before you’ve committed to writing software, let’s consider the alternatives.
That won't work here, we're different
What thing would you like to see work for you, but simply won't "because you're different"?
Yes, there is such a thing as "best practice"
Often the best thing for the situation is some method or technique that has been generally accepted as superior to known alternatives.
Improve your software delivery