"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& #39;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& #39;t get that software into your customers hands, you& #39;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& #39;ll add that sometimes, progress does have to slow down so that you can think things through. That& #39;s fine. That& #39;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& #39;re doing things. 5/5