Основные действия Six Sigma отражены аббревиатурой DMAIC , которая обозначает: Определить, Измерить, Анализировать, Улучшить, Контроль . Вы применяете их к процессу, который хотите улучшить: определите процесс, измерьте его, используйте измерения, чтобы сформировать гипотезы о причинах каких-либо проблем, внедрить улучшения и убедиться, что процесс остается статистически «под контролем».
Что касается программного обеспечения, то процесс - это ваш жизненный цикл разработки программного обеспечения (SDLC) или его часть. Вы, вероятно, не пытаетесь применить принципы Six Sigma ко всему SDLC (или, по крайней мере, не изначально). Вместо этого вы должны искать области, в которых, по вашему мнению, у вас есть проблема (например, у нас слишком высокий уровень дефектов; слишком много регрессий; наш график слишком часто меняется; слишком много недоразумений между разработчиками и заказчиками и т. Д.). Скажем пока, что проблема в том, что слишком много ошибок производится (или, по крайней мере, сообщается) каждую неделю. Таким образом, вы бы определили процесс разработки программного обеспечения / создания ошибки. Затем вы начнете собирать такие показатели, как количество строк кода, написанных каждый день, частота изменений требований, количество часов, которое каждый инженер проводит на совещаниях,
Далее вы смотрите на данные и пытаетесь различить закономерности. Может быть, вы заметили, что команда инженеров А выполняет каждый установленный срок и часто даже заканчивает работу раньше! Первоначально, команда B, кажется, не совсем так на высоте - они пропускают свои сроки на день или два, по крайней мере, в половину времени, и иногда опаздывают на неделю или больше. Руководство рассматривает команду B как проблему и стремится встряхнуть вещи. Тем не менее, более внимательный взгляд на данные показывает, что уровень ошибок команды B намного ниже, чем у команды A, и, более того, команду B часто просят исправить ошибки, относящиеся к команде A, потому что руководство считает, что команда A должна быть полезной, чтобы тратить много времени на обслуживание.
Ну так что ты делаешь? Используя данные, которые вы собрали, и анализ, который вы выполнили, вы предлагаете изменение: команда A и команда B, каждая, исправят свои ошибки. С благословения руководства (и против яростного сопротивления команды А) вы реализуете это изменение. Затем вы продолжаете сбор метрик и продолжаете анализировать данные, чтобы увидеть, изменились ли ваши изменения. Повторяйте этот цикл измерения / анализа / реализации, пока уровень ошибок не будет признан приемлемым. Но вы еще не закончили. На самом деле, вы никогда не закончили ... вам нужно продолжать измерять частоту ошибок и проверять, чтобы частота ошибок оставалась в допустимом диапазоне, то есть статистически "под контролем".
Обратите внимание, что здесь нет ничего конкретного для разработки программного обеспечения, кроме специфики процесса, который вы улучшаете, типов метрик, которые вы собираете, и т. Д. Действия, которые вы используете для улучшения процесса разработки программного обеспечения, такие же, как у вас ». d использовать для процесса производства виджетов, хотя разработка программного обеспечения сильно отличается от производства виджетов. Все это означает, что вам нужно применять здравый смысл в тех целях, которые вы ставите перед собой.