Визначте "готовий до виробництва"


25

Мені це цікаво було деякий час. Що саме означає "готовий до виробництва" або його варіанти? Зовсім недавно я шукав інформацію про sqlite і знайшов цю тему , де багато людей припускають, що sqlite не готовий до виробництва.

Я знаю різницю між розробкою / тестуванням та виробництвом; моє визначення виробництва - це все, що надається замовнику або буде використано непрограмістами.

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

Малий офіс проти підприємства? Однокористувацький та багатокористувацький? Клієнт проти сервера? Де ви проводите лінію?


2
"Це працює на моїй машині."
Грак

2
Стан коду, коли настав час відправити код.
Гілберт Ле Блан

Відповіді:


41

Залежить від того, хто ти є.

Визначення програміста "виробництво готове":

  • воно працює
  • він відповідає вимогам проекту
  • його дизайн був продуманий
  • це стабільно
  • це ремонтопридатне
  • це масштабовано
  • це документально підтверджено

Визначення керівництва "готові до виробництва":

  • воно працює
  • це поверне прибуток

Вибачте, що переробити це старе питання, але я трапився через нього і просто не втримався.


Я б хотів додати до цього списку .. коли щось порушується, система надає достатньо інформації, яку ви зможете зрозуміти.
ShaneC

І не забувайте, визначення опс-народів: моніторинг присутній, добре задокументований та простий шлях оновлення, план випуску, безпека, продуктивність, автоматизація, ... Деякі можуть поставити це під ваші пункти "проектні вимоги" та "технічні можливості", але більшість того часу, перспектива опс людей відсутня. (Застосовується лише для програмного забезпечення, яке працює через людей, що працюють через операторів)
Крістіан

6
Знайшов це сьогодні, і я спокусився змінити цю відповідь, видаливши частину "вона працює" з пункту управління ;-)
Doc Brown

8

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


1

Існує маса визначень, які можна використовувати для "готової продукції".

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

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

  • Іншими словами, програмне забезпечення, що працює на вашому безкоштовному форумі "Кращі орхідеї для росту в Неваді", заробляючи вам $ 3 / місяць доходу від AdSense, виходить за рамки виробництва ", тоді як прошивка Space Shuttle твердо в цьому контексті.

  • Все інше в масштабі, деякі речі трохи сірі (наприклад, деяке програмне забезпечення, яке проводить академічні дослідження - з одного боку, явного впливу на виробництво немає, якщо воно порушується в загальній ситуації; з іншого боку, багатомільйонні політичні рішення є проводиться урядами на основі деяких конкретних досліджень).

2 визначення, які я можу придумати зараз:

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

    Це не означає гарантії відсутності поломки / помилок - жодне програмне забезпечення не може цього зробити - але розумний рівень впевненості в стабільності за призначенням.

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

    Отже, сумнозвісна заява про заборону Яви "не для використання на атомних електростанціях".

  2. Можна обґрунтувати, що ваші колеги пройшли належну старанність.

    Наприклад, якщо у випадку судового позову набір N випадкових експертів з вашої галузі запитається "з урахуванням цих деталей, чи готове було це виробництво?", Ви впевнені, що більшість таких експертів погодиться з вами, що це було готовий, грунтуючись на слідчих та робочих зусиллях, які ви могли розумно докласти за обставин. Якщо вам не вдалося написати більше 10% тестових випадків, ви не працюєте з Due Diligence. Якщо ваша програма вийшла з ладу через раніше невідомої помилки у компіляторі gcc, ви, ймовірно, не вийшли з ладу, якщо у вашому програмному забезпеченні не було щось важливе для життя, що гарантувало рівень перевірки, необхідний для того, щоб зловити навіть цю помилку.


0

SQLite не слід використовувати для виробничих баз даних, оскільки він явно розроблений без багатьох функцій, які вважаються "необхідними". Наприклад, блокування впливає на всю базу даних, немає сторонніх ключів, і поки у SQLite3 не було навіть жодних типів даних.

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


Слід зазначити, що це також залежить від середовища, в якому використовується програма. Повернувшись до прикладу SQLite, він ідеально підходить для використання у виробництві, якщо є лише один клієнт. Mac OS X широко використовує SQLite в рамках CoreData - я вважаю, що він обробляє такі речі, як музична база даних iTunes користувача та поштова скринька iMail. Просто не намагайтеся використовувати його як реальну базу даних клієнт-сервер.


0

Як ви підказуєте в останній частині запитання, "Виробництво готове" - це не обов'язково визначення розміру розгортання, а скоріше воно відповідає його передбачуваному використанню та вимогам. Наприклад, для клієнтського додатка для одного користувача SQLite може бути готовим до виробництва. Запропонований ринок найчастіше визначатиме, чи програма чи система готові до використання додатка чи системи.


0

Наше внутрішнє визначення конструкції, яку ми поставлятимемо до виробництва, дуже просто ...

  • Немає випусків у важкості 1; і,
  • Не випущено жодних питань, пов’язаних із серйозністю 2, які не позначені "Відома версія доставки"

Рішення KS приймаю я та ще одна людина.


-2

Що ж, моє виробництво готове, це було підписано керівництвом. Він працює, відповідає вимогам або його масштабованість тощо вже досягнуто, перш ніж ми зможемо сказати навіть слово p. Підписання - це взаємно узгоджена точка виходу з точки зору управління. Пс. Я не вважаю готовим виробництво, якщо 4 помилки залишилися відкритими.

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