Бережлива розробка програмного забезпечення

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
ТРПЗ
Цикл розробки програмного забезпечення
Coding Shots Annual Plan high res-5.jpg
Програміст за роботою
Діяльність та кроки
Вимоги • Специфікація • Архітектура • Дизайн • Реалізація • Тестування • Розгортання (Реліз) • Супровід
Методології • Процес
Гнучка • Чистого приміщення • DSDM • Ітеративна • RAD • RUP • Спіраль • Водоспад • XP • Scrum • Lean • V-Model • FDD • TDD
Допоміжні дисципліни
Керування конфігурацією • Документування • Якість ПЗ • Управління проектами • Досвід користування
Інструменти
Компілятор • Зневаджувач • Профілювальник • GUI designer • IDE

Бережлива розробка програмного забезпечення (англ. Lean software development) — це методологія розробки програмного забезпечення, що заснована на постійному прагненні до усунення всіх видів втрат. Серед основних видів втрат при розробці ПЗ виділяють: непотрібні функції, непотрібна переробка, недовиконана робота, а також створення дефектного продукту — витрати часу на пошук і усунення дефектів, що віднімають до 40-50% часу розробки. Ця методологія прийшла у ІТ з бережливого виробництва та використовує методи концепції бережливого виробництва. Виникла з середовища прихильників концепції гнучкої методології розробки.

Реалізація бережливих (ресурсозберігаючих) і безвідхідних виробництв програмного забезпечення являє собою бережливу розробку програмного забезпечення.

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

Безвідходне виробництво — це виробництво і реалізація продуктів, що повинні характеризуватися наступним: довгим терміном служби; можливістю багаторазового використання; простим ремонтом; легкістю повернення у виробничий цикл або переведенням в екологічно нешкідливу форму після виходу з ладу. Поняття безвідходного виробництва носить умовний характер і є теоретичним межею, досконалою моделлю виробництва, яка в більшості випадків може бути реалізована не повною мірою, а лише частково. Безвідходне виробництво передбачає повну комплексну переробку відходів.

Походження[ред.ред. код]

Вперше висвітлена в однойменній книзі (англ. Lean Software Development) Мері Поппендік і Toма Поппендіка. В книзі представлені традиційні принципи бережливого виробництва стосовно розробки програмного забезпечення, також набір з 22 інструментів (практик) та їх порівняння з гнучкою методологією розробки. Мері і Том брали участь у ряді різних конференцій, присвячених методикам Agile, що пояснює популярність концепції бережливого виробництва серед спільноти гнучкої методології розробки.

Принципи[ред.ред. код]

Бережлива розробка програмного забезпечення базується на семи принципах, що є концептуально близькими до принципів бережливого виробництва. Окрім необхідності постійного прагнення до усунення всіх видів втрат, що не становлять цінності для користувача та призводять до втрати часового ресурсу, також виділяють:

  • Акцент на навчанні. Наголос на навчанні розробників - запорука найкращого середовища для розробки програми. Замість написання додаткової документації, краще намагатися втілити нові ідеї у саму програму. Корисними є короткі цикли розробки, раннє тестування, частий зворотній зв'язок із замовником.
  • Якомога відстрочене прийняття рішень. Рішення слід приймати не на основі припущень і прогнозів, а після відкриття істотних фактів.
  • Якнайшвидша доставка замовнику. Короткі ітерації. У часи швидкого технологічного прогресу, виживають не найбільші компанії, а найшвидші.
  • Мотивація команди. Не можна розглядати людей виключно як ресурс. Людям потрібно щось більше, ніж просто список завдань.
  • Вбудова якості. Клієнт має отримати цілісний досвід програми (системи) - як програма рекламуються, випускається, встановлюється, наскільки вона є інтуїтивною для користувача, її ціна, наскільки добре програма вирішує завдання. Необхідно прагнути до цілісної архітектури. Один із засобів - Рефакторінг.
  • Цілісне бачення. Стандартизація, встановлення відносин між розробниками. «Мислити широко, робити мало, помилятися швидко; вчитися стрімко».

Практики[ред.ред. код]

Деякі практики бережливої розробки аналогічні практикам швидкої розробки, а деякі трохи відрізняються. Приклади практик:

Посилання[ред.ред. код]

Література[ред.ред. код]