Rejecting unfinished work
Unfinished work is any work in progress that's not meeting the definition of Done. Unfinished work is not a bad thing as long as the product is flowing through the development system with proper cadence, one feature at a time, and with minimal waste. But when work is delayed for any reason, we have a problem.
A common cause of delays occurs when developers move on to develop new code before completing the work they had started. They may have run into a bug that's proven difficult to resolve. Or, they may not have the knowledge or skills to implement a particular feature. Hopefully, by now, you know that the solution is to reach out to other team members, even as an all-hands effort, to fully address the problem before moving on. Otherwise, the team, as a whole, risks missing the objectives of their Sprint goals.
Another common form of unfinished work in software development occurs when a developer moves on to write new code before completing...