When @peter and I conduct Agile trainings, people tend to get hung up on the nuances of these. And that’s okay – it still provides a space for a healthy discussion. So I thought I’d throw one out here for Friday kicks!
“Working software is the primary measure of progress” is one of the 12 Agile Principles. Is it though? I agree with this principle, but also I’d say TESTABLE software is the primary measure of progress. It is then whether or not we know if it meets the acceptance criteria or expectations of the user.
@Jackie interesting twist. I guess it depends on your definition of “working”. Personally knowing 10 of the 17 authors of the Manifesto for Agile Software Development, I can tell you without a doubt they would not have considered untested software to be “working”. To them “working” meant it was ready to be shipped and had passed all testing.
But I still don’t think it is the primary measure of progress today, so I agree with you just for a different reason. I think today this needs to be about working VALUABLE software. Too many companies are making a lot of software that is “working” and no one wants to use it because it either doesn’t provide value or it flat out stinks. My Agile Manifesto author friends would lament this as not “working software” as well, but they are the ones that messed up a bit by assuming “working” would be equated with “value” in the long run. People take these words too literally and can end up in a messy place. That’s why I like to help people understand the thought process the authors were trying to create, rather than the specific practices and measurements people have created from it.