I want to tell you a story…
Once upon a time there was a Product Owner who thought they knew what feature was needed for the current release. In so, they wrote precise user acceptance tests to let the development team know exactly what was expected. In this story was also a very smart developer. This developer created individual tasks to implement each aspect of the requested feature (each test) and implemented them one at a time. After implementing the first task, something just didn’t feel right. “Hey, Product Owner! Take a look at this. Is this what you wanted this to do?” The Product Owner looked and scratched their head. “Well no. That’s not what I want at all.” But … the very smart developer already had an alternate plan in mind and put the troubled Product Owner at ease by showing them how the same feature could be implemented another way. Now this meant that the Product Owner had to rewrite the acceptance test and the developer had to scrap the code they spent 3 hours to write … but that’s OK because everyone knows that user stories are negotiable.
I know some of you are bulking at the 3 hour time loss but since this is a true story I can tell you what really happened. The very smart developer did not want to throw away the code so they showed the Product Owner how it could be used to enhance the feature (add value) in a way that was not expected.
And they lived happily ever after. The End (of the Sprint)
The moral of the story: Scrum works!