Як я можу застосувати Six Sigma в середовищі розробки програмного забезпечення?


14

Я розробник Java, але мене попросили дізнатися про застосування Six Sigma з метою збільшення прибутку нашої організації. Я читав, що Six Sigma можна застосовувати у будь-яких середовищах, але мене цікавлять нюанси застосування її до розробки програмного забезпечення.

Які концепції Six Sigma можна застосувати до середовища розробки програмного забезпечення та як я можу їх ефективно застосувати?

Я розумію, що Six Sigma зосереджується на:

  • виявлення та усунення першопричин дефектів
  • мінімізація змінності у застосуванні виробничих чи ділових процесів

Мені здається, що ці концепції можна застосувати до розробки програмного забезпечення, але чи можна це ефективно застосувати до життєвого циклу розробки програмного забезпечення (SDLC)?


11
Де ви виявили, що шестисигма "підходить для всіх середовищ"? Він був розроблений дуже спеціально для виробництва великих об'ємів фізичних об'єктів - не програмного забезпечення.
Анджело

5
Я знову відкриваю це питання, оскільки не потрібно його пересувати. Управління програмними проектами тут актуально, але Six Sigma більш тісно пов'язаний із якістю та вдосконаленням процесів, які також є актуальними тут. Крім того, існує велика робота над обговоренням застосування Six Sigma для програмних проектів та вдосконалення програмних процесів (включаючи комбінування Six Sigma та CMMI та Six Sigma та agile методів). Застосування Six Sigma до програмного забезпечення відрізняється від застосування його до виробничого середовища, тому для цього питання потрібна експертиза розробника програмного забезпечення.
Томас Оуенс

5
@Angelo Хоча Six Sigma спочатку був розроблений для виробничого середовища, в роботі над розробкою програмного забезпечення було багато роботи. Пошук таких фраз, як "спритна шість сигм" і "сммі шість сигм", принесли багато роботи в цій галузі.
Томас Оуенс

5
Мені довелося пройти перші шість сигма-тренувань, і, поки моя компанія платила за це, я б хотіла, щоб я міг повернути свій час. Викладач був незрозумілий, вправи були веселими маленькими іграми, але в кінцевому рахунку безглуздими. Шість сигм - це статистика, і вона застосовна для німих, повторюваних, чітко визначених завдань, таких завдань, які часто передаються роботам. Написання хорошого програмного забезпечення - це творчий процес. Шість сигм допомагають хорошим інженерам програмного забезпечення так само, як лекції з обчислення допоможуть Тому Крузу діяти. Саме той факт, що ви задали це питання, позбавляє вас від роботи зі мною чи моїми колегами.
робота

4
@ThomasOwens це NARQ, а не тематика. Це напів опитування / наполовину LMGTFU
Джиммі Хоффа

Відповіді:


15

Основні шість знаків Sigma охоплені абревіатурою DMAIC , яка розшифровується як: Визначати, вимірювати, аналізувати, вдосконалювати, контролювати . Ви застосовуєте їх до процесу, який ви хочете вдосконалити: визначте процес, виміряйте його, використовуйте вимірювання, щоб сформувати гіпотези про причини виникнення будь-яких проблем, впровадити вдосконалення та забезпечити, щоб процес залишався статистично «під контролем».

Що стосується програмного забезпечення, процес - це життєвий цикл вашої розробки програмного забезпечення (SDLC) або деяка його частина. Напевно, ви б не намагалися застосувати шість принципів Sigma до всього SDLC (або, принаймні, не спочатку). Натомість ви шукаєте сфери, де ви думаєте, що у вас є проблеми (наприклад, наш рівень дефектів занадто високий; занадто багато регресій; наш графік ковзає занадто часто; занадто багато непорозумінь між розробниками та замовником тощо). Скажімо зараз, що проблема полягає в тому, що кожного тижня виробляється (або принаймні повідомляється) надто багато помилок. Отже, ви б визначили процес розробки програмного забезпечення / створення помилок. Тоді ви почнете збирати показники, такі як кількість рядків коду, написаних щодня, частота змін вимог, кількість годин, які кожен інженер проводить на нарадах,

Далі ви дивитесь на дані та намагаєтесь розрізнити закономірності. Можливо, ви помітили, що інженерна команда A досягає кожного встановленого терміну, і часто навіть закінчує завдання достроково! Спочатку команда B здається не дуже такою на балі - вони пропускають свої терміни на день або два принаймні на половину часу, а іноді запізнюються на тиждень і більше. Керівництво розглядає команду B як щось проблему і прагне похитнути справи. Однак більш детальний погляд на дані показує, що рівень помилок команди B набагато нижчий, ніж у команди A, і що більше того, команду B часто просять виправити помилки, які можна віднести до команди A, оскільки керівництво вважає, що команді A варто дорого витратити багато часу на обслуговування.

Так, що ти робиш? Використовуючи зібрані вами дані та проведений аналіз, ви пропонуєте зміни: команда A та команда B виправлять власні помилки. З благословення керівництва (і проти жорстокої опозиції команди A) ви впроваджуєте ці зміни. Потім ви продовжуєте збирати показники, і ви продовжуєте аналізувати дані, щоб побачити, чи змінилися зміни. Повторюйте цей цикл заходів / аналізуйте / впроваджуйте, поки показник помилок не буде визнаний прийнятним. Але ти ще не закінчила. Насправді ви ніколи не зробили ... вам потрібно продовжувати вимірювати рівень помилок і перевіряти, чи частота помилок залишається в межах прийнятного діапазону, тобто статистично "контролюється".

Зауважте, що тут немає нічого, що стосується розробки програмного забезпечення, крім специфіки процесу, який ви вдосконалюєте, тип метрик, які ви збираєте тощо. Діяльність, яку ви використовуєте для вдосконалення процесу розробки програмного забезпечення, збігається з тими, які ви ' d використовувати для виготовлення віджетів, навіть якщо розробка програмного забезпечення значно відрізняється від виготовлення віджетів. Все, що означає, що вам потрібно застосувати певний здоровий глузд у тих цілях, які ви встановили для свого процесу.


1
Насправді методологія Six Sigma, більшою мірою пов'язана з розробкою програмного забезпечення, - це DMADI (визначення, вимірювання, аналіз, проектування, впровадження), за винятком того, що ми повторюємо MADI в розробці програмного забезпечення. Люди з цими "поясами" називають це Lean Six Sigma DMADI, але я називаю Agile.
Tae-Sung Shin

Важливо розрізняти вдосконалення самого процесу розробки та вдосконалення програмного забезпечення, що розробляється. Я описав перше, і з огляду на згадування про застосування Six Sigma до SDLC, я думаю, що про це просив ОП; @ Коментар Tae-SungShin, здається, спрямований більше на останнє, і я погоджуюся, що сам процес вдосконалення програмного забезпечення трохи інший. Про методи розробки програмного забезпечення було написано багато, тому я тут не намагатимусь цього робити.
Калеб

-3

Як згадував @Peter

Застосування шести сигм в розробці програмного забезпечення створює стійке вдосконалення в розробці програмного забезпечення. Застосування шести сигм в розробці програмного забезпечення призводить до швидкої інтеграції та тестування програмного забезпечення, допомагає створити програмне забезпечення без помилок, а також сприяє більш ефективному керуванню програмою.

Я можу дати вам простий сценарій, я працював у аерокосмічній компанії. Є команда, яка розробляє схеми для літаків. Вони зіткнулися з великими труднощами при проектуванні схем для складних літальних апаратів. Через це у них не було термінів, хоча вони мали досвідчених дизайнерів. Я проаналізував їх роботу і помітив, що вони щоразу розробляють схеми з нуля. Тому я створив програмне забезпечення, яке буде відслідковувати їх раніше розроблені схеми, і коли вони матимуть нові літальні апарати, я буду використовувати моє програмне забезпечення та вибирати раніше розроблений літак, що має подібні схеми, і використовувати їх з невеликими модифікаціями до нього. Оскільки ці схеми раніше були розроблені та випробувані на фактичних літальних апаратах, тепер вони можуть більше зосереджуватися на нових колах.

Це лише сценарій, коли я дотримувався процесу SIX Sigma, щоб зібрати всі дані про їх помилки та проаналізував, які причини цього. Потім вдосконалюйте їх за допомогою мого програмного забезпечення.


4
Справа не в тому, що шість сигм чудові; це те, що менеджер, який дозволив своїм співробітникам проектувати схеми з нуля, повинен був бути звільнений.
Робота

2
lol .. але той самий менеджер попросив дотримуватися шести процедур sigma, коли я запропонував це програмне забезпечення ..
rajkumarts

-4

Застосування шести сигм в розробці програмного забезпечення називається програмним забезпеченням шість сигм. Шість сигм в основному розроблені для виготовлення, в процесі виготовлення вони допомагають компаніям покращити доставку, якість продукту з низькою вартістю. Тоді як те саме можна застосувати і до розробки програмного забезпечення.

Застосування шести сигм в розробці програмного забезпечення створює стійке вдосконалення в розробці програмного забезпечення. Застосування шести сигм в розробці програмного забезпечення призводить до швидкої інтеграції та тестування програмного забезпечення, допомагає створити програмне забезпечення без помилок, а також сприяє більш ефективному керуванню програмою.

Однак програмне забезпечення шістьма сигмами - це нова концепція, вам потрібна підготовка правильних людей. Тут вам може допомогти ефективна програма навчання шести сигм. Для онлайн-навчання з шести сигм щодо середовища розробки програмного забезпечення я б запропонував http://www.6sigma.us /. Я пропоную їх виходячи з рекомендації, яку я отримав від іншої фірми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.