I've been struggling for a long time trying to figure out how to get my team to really embrace owning quality. It is almost as if as long as there is a QA engineer on the team the developers rely on the QA engineer to find defects and enforce quality. While that is ostensibly the job of the QA engineer, I'd like our developers to ensure that their code is defect free before handing it off for the QA engineer. Often QA finds simple bugs that lead me to believe that the code was never really tested in any rigourous way prior to the developer being "done." After reading some posts by the Kaching team on their blog posts regarding continuous deployments I started thinking that perhaps their approach really focuses the technical leads and developers on the quality of their work. If you know that within a few minutes your commited code will be live you, probably, will spend more time ensuring it is defect free. If you don't it will become readily apparent. If not, after a few late night incidents you will.
What I need to figure out is what the code management strategy is for continuous deployments, what sort of tools we'll need, and how git fits in.