After being part of a project that tried desperately to run Scrum and failed miserably to uphold most of the principles, it has now fallen to me to manage this project and I am keen to avoid the mistakes that I have seen before.
I have a question around dealing with newly discovered defects. I know that the general feeling is that they are added to the current sprint or the next one and fixed quickly. Other throw them all in the backlog and get to them when they become more important.
That's fine, but consider the following situation: The current sprint is part of an epic and we are implementing new functions that are part of a larger requirement, and while we want to build and release for the customers to review, we would not yet want to release the features into product as they would be inadequate for use. What if we discover a critical bug, maybe by the customer, how to work that into the plan?
Options that I see them are:
Drop everything on the sprint and do an out-of-bands release + The customer gets their problem resolved quickly - Disrupts the current sprint and will probably cause it to fail - Requires another branch and merge operation
Work them into the current or next sprint + Maintains the order that Scrum brings us + No need to branch the VCS/Deal with problems in the merge - Customer has to wait longer to get their fix, especially as we are working on an epic and may be a while before we can RTC
Am I missing any other options? am I missing something about the process altogether?