{{{#!wiki caution '''Obsolete''' This has been superseded by the Canonical-internal [[https://wiki.canonical.com/Launchpad/SupportRotation|Launchpad Support Rotation]] and is pending cleanup. }}} ||<>|| * '''Name:''' Maintenance Rotation * '''Owner:''' Launchpad Project Lead * '''Effective:''' 2011-02-14 * '''Review:''' 2011-03-14 == Process Overview == At any given time, 2 of the 5 Launchpad[[/squads]] are assigned to maintenance work. They handle all the interrupt-driven work. This includes: * handling [[https://wiki.canonical.com/Launchpad/PolicyandProcess/DefinitionofCriticalPolicy|critical production incidents]] * general bug fixing * bug triage * handling of user-generated requests like translation, bug or code imports, user help requests, etc. The responsibility for these last two bullets rotates between the maintenance squad every week. === Rationale === We want to shield squads working on development projects as much as possible from interrupt as possible. Ideally, we want also to shield developers in maintenance squads working on bug fixing from those, but we are willing to tolerate higher level of interrupts there, because the time to fix a bug is usually much less than to complete a development project. Rotating the user-generated interrupts between the two maintenance squad, will give one week with lower interrupts to each squad. == Activities == === Incidents handling === * Both squads on maintenance are responsible for responding to incidents as they arise. === Maintenance Rotation Schedule === * Each week, one squad is primarily responsible for user support and other operational tasks. The squad exchange the responsibility every week. * We should have somebody assigned for each of the user-support and operational tasks listed on the [[MaintenanceRotationSchedule]]. * Squads are free to assign the responsibilities in any way they deem fair, but there must be a name assigned to each responsibility for every day of the week. (Note that it's ok to use the squad name when the responsibility is covered by everybody.) * '''Be mindful of leave'''. * When a squad rotates out of a project into maintenance, it will take the maintenance week of the squad with whom they rotate. === General bug fixing === * Self-driven general bug fixing is the standard of the maintenance team (when not handling incidents or another user-generated interrupt). * Bugs should generally be fixed according to their importance, but discretionary judgment is encouraged. * '''You should be wary of taking on work that will take more than a few days to complete.''' === Experiment: use RT tickets to track escalated issues === '''Experiment review:''' 2012-09-28<
> '''Success criteria:''' * Laura is able to update users on escalated issues without having to contact the maintenance squad. * Members of the maintenance squad have not found this to be an unacceptable distraction from maintenance work. '''Nature of the experiment:''' 1. Laura needs to escalate an issue to the maintenance squad. She creates a new RT ticket and assigns it to a member of the maintenance squad, or she re-assigns an existing ticket. 1. In that ticket, Laura details what she needs from the maintenance squad and why she is escalating the issue. 1. The maintenance squad member records his/her progress in the ticket, reassigning the ticket to Laura when their input is complete. 1. Laura keeps the user informed and closes the ticket when appropriate. == Supporting Documentation == * [[BugTriage]] * [[https://wiki.canonical.com/Launchpad/PolicyandProcess/DefinitionofCriticalPolicy|What is a critical incident?]] * [[https://wiki.canonical.com/Launchpad/PolicyandProcess/CrisisHandlingPolicy|Crisis handling policy]] * [[MaintenanceRotationSchedule]]