In agile development, a bloated backlog results from teams accumulating huge lists of requirements, usually in the form of user stories. Retaining every possible story for building the product weighs down the backlog while squeezing (or obscuring) the highest-value stories. The best way to help minimize this risk is to optimize the time spent defining and refining the product priorities.
When one organization first shifted to agile, the team had trouble with maintaining the product backlog. No one could agree on priorities for items, they didn't know which item should be groomed next, and the backlog wasn't transparent to everyone. This team found a better method that works for them.
When you transition to agile and you have a reasonably size codebase, chances are quite good that you’ve been working on the product for a while. You certainly have legacy ways of thinking about the code and the tests. Now learn how to work yourself out of the technical debt you have accumulated.
Daryl Kulak explains that if we don't ask the right question at the beginning of the project, then no matter how well we answer, it won't be helpful. Perhaps the biggest difference between agile and waterfall is the question being asked. The scope of the project and any judgments of progress are related to this very fundamental question.