I just had a Release Retrospective for my scrum team. We talked a lot about our release process.
I pointed out that because our company is not able to tolerate bugs in our production environment we are not be able to adhere to the traditional scrum mantra of releasing often.
In short, we are a medical company. Bugs in production can cause issues with patient care. (A rapid fix release does not help the patient that was negatively impacted by the bug.)
I pointed out that scrum does not have a formal quality assurance process. (It is assumed that testing will be done during development.)
I then stated that scrum has an implied expectation of bugs in production. (Based on the process of releasing early and often.) The Scrum Process people in the room said that scrum is not that way. They said that properly done scrum can be bug free in production.
So here is my question:
How does testing and quality assurance work for scrum? (So that there is very low occurrence of bugs in production.)
Is there documentation that bugs are expected to a small degree in Scrum (along with quick follow up releases)?
NOTE: This is for full enterprise level development. We have 6+ WCF services, several Service Buses, 4 databases, a WPF front end application and a Web Interface all written by two separate scrum teams of about 6-8 people each. This means answers that include just coding it right the first time are not realistic.
NOTE II: I know that no software product is going to be bug free. But our release process (non-agile) catches the few that get past our development process and brings our software fairly close to the "No Bugs" level.