Have finished feature are okay.
Work that gets pushed off to the next sprint, it happens.
Features that get canned, it’s not going to stop.
All of these “events” happen that shift the development of what we are doing in the delivery of software.
However, what is not okay, is to leave what half of the work has been done in the code that renders a feature partially unusable and/or changes the experience the user has when interacting with your product.
When this happens, we deliver an Incomplete Experience to the end-user and that is the worst experience. We force them to jump through hoops to and clicks to do something that used to take only one click?
Incomplete Experiences don’t sell products so if you are having to make changes in your delivery, great but then follow it up with ensuring users can still do what they did before.