"Working software is the primary measure of progress" is an enabling constraint. Sometimes, managers use the phrase as a club to get people coding. Coding, however, is a necessary driver of creating software, but it's not the only thing you have to do. 1/5

Standing in front of a whiteboard and discussing design, creating and running tests, just staring out the window and thinking, are all necessary parts of the development process; but if you don't get that software into your customers hands, you've accomplished nothing. 2/5
Using working software (the result of the process) as your measure of progress, puts natural limits on the entire process, including the staring-out-the-window parts. It forces you to work small (thus the "constraint") enough to deliver frequently. 3/5
I'll add that sometimes, progress does have to slow down so that you can think things through. That's fine. That's natural overhead in the process. Incorporate it into your planning. 4/5
But, if the overhead overtakes valuable work (creating "working software"), then you need to take a long hard look at how you're doing things. 5/5
I'll add: The underlying assumption is that "software" is *valuable* software. You need to take the phrase in the context of the rest of the Agile Manifesto. There's no value in just pushing random junk out the door. That's not progress.

More from Tech

You May Also Like