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

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

Ця методологія прийшла у ІТ з ощадливого виробництва та використовує однойменні методи концепції. А у сфері ПЗ виникла з середовища прихильників концепції гнучкої методології розробки.

Термінологія[ред. | ред. код]

Зв'язок із виробництвом[ред. | ред. код]

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

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

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

Походження та перша згадка[ред. | ред. код]

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

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

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

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

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

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

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

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