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