It is difficult to balance being agile and not allowing scope-creep.
Obviously, in an agile shop, we want to be agile with requirements. We get something in front of customers quickly. We react to what the customers say once they see the product in action. This means we reprioritize tickets, create new tickets, and otherwise shuffle work.
Yet we all, last I checked, live in the real world. And most of us want to make money. So no matter how hard we try to push back against it, dates still get placed on deliverables. We complain about this, and generally say that scope will “be the thing that gives” when it becomes obvious that the date will be missed.
When bits of the product near completion though, there can be a bunch of tiny tweaks and improvements that could be implemented. Aside from bugs, all of the functionality is already there. At this point, the small tweaks are usually just to improve flows or user experience. But if we are not careful, these are the small things that can make a project drag on.
All of these tiny bits slip in because they are just one more, small thing. They take less than an hour of dev effort. We slide them in as almost filler to an iteration. But these are the things that really can keep us from closing out an epic and moving on to the next thing. While they are of course useful things to implement, are they really the biggest bang for the buck we can be doing right now?