Помилка чи функція: у чому різниця та чому віддати перевагу?

Яка різниця між помилкою та функцією?
Основна відмінність між функцією та помилкою полягає в тому, що функція є навмисною, а помилка – випадковою.
Баги - це помилки програмування
У програмному забезпеченні помилка — це збій, який заважає продукту працювати належним чином. Помилки зазвичай виникають через людську помилку: недолік конструкції або програмну помилку.
Помилки можуть призвести до збою програмного забезпечення. Вони можуть призвести до порушень безпеки. Вони можуть перешкодити клієнтам завершити потік користувача.
Не всі помилки важливі. Помилка, через яку кнопка розбивається на два рядки тексту на менших екранах, неприємна. Але це не впливає на функціональність продукту.

Функції – це те, що програмне забезпечення може зробити
Функції визначають, як працює продукт.
Чи можуть користувачі коментувати публікації один одного? Чи можуть вони використовувати Apple Pay? Чи можуть вони використовувати продукт офлайн?
Це все приклади функцій.
Функції навмисні. Помилки випадкові. (натисніть, щоб твітнути)
Ідеї щодо функцій можуть надходити як у компанії, так і від самих кінцевих користувачів. Вони збираються, керуються та розставляються за пріоритетністю в програмному забезпеченні для запитів функцій або електронних таблицях.
Забагато функцій може ускладнити продукт і погіршити роботу користувача. Ось чому хороші менеджери з продуктів думають про бажані результати, перш ніж планувати нові функції.

Чи можуть помилки бути функціями?
Іноді помилки можуть виглядати як функції і навпаки. Це може призвести до того, що помилки стануть частиною продукту.
Сара та її команда відправляють останню версію продукту XYZ. Вони очікують, що це працюватиме певним чином. Але коли він починає працювати, щось працює не так, як має бути.
Але клієнти не знають, що це помилка. Насправді вони думають, що так і повинно було бути. І вони люблять це. Тож Сара залишає це й називає це функцією.
Якщо користувачам це не подобається, то помилка — це просто помилка. І Сара має з цим щось зробити.

Помилка чи функція: чому віддати перевагу?
У 2000 році Джоель Спольскі створив тест Джоела , список із 12 кроків для кращого програмування. Крок 5 у списку — « виправити помилки перед написанням нового коду ».
Джоел стверджує, що успішна розробка програмного забезпечення залежить від усунення помилок. Він ілюструє з Microsoft.
Коли корпорація Майкрософт віддала перевагу функціям продукту над виправленнями помилок, їхні команди зазнали катастрофічних результатів. Тому вони змінили свій підхід і прийняли «методологію нульових дефектів».
Багато програмістів у компанії захихотіли, оскільки це звучало так, ніби керівництво думало, що вони можуть зменшити кількість помилок за допомогою розпорядження керівника. Насправді «нуль дефектів» означало, що в будь-який момент часу найвищим пріоритетом є усунення помилок перед написанням будь-якого нового коду.
Джоел Спольскі у фільмі «Тест Джоела».
Пріоритетність виправлень помилок також означає, що ваш продукт завжди готовий до доставки. Ваші терміни виконання робіт коротші, а ваша команда більш спритна.
Скажімо, вам потрібно створити функцію в крайньому випадку. Оскільки у вашому продукті немає помилок, ви зможете надіслати нову версію відразу після завершення роботи з новою функцією.
Виправлення помилок було вашим першочерговим завданням у 2000 році, і це має сенс і сьогодні.

Чи варто виправляти ВСІ помилки?
Що робити, якщо помилку, про яку йдеться, важко виправити й вона не стосується багатьох людей? Ви можете заперечити, що краще створити функцію, яка допоможе сотням користувачів, ніж виправляти помилку, яка турбує десяток.
Якщо ви застосовуєте цю логіку знову і знову, ви отримаєте продукт, пронизаний дефектами. Ваші користувачі матимуть жахливий досвід, і вони відмовляться.
Ваш продукт набагато кращий з декількома куленепробивними функціями, ніж безлад хитких. Вони будуть добре спроектовані, добре перевірені та загартовані завдяки ретельному виправленню помилок.
Функції залучають нових користувачів. Помилки відштовхують існуючих користувачів. (натисніть, щоб твітнути)
Що робити, якщо ваші розробники хочуть працювати над новими функціями?
Виправлення помилок, коли запити на функції заповнюють вашу дошку відгуків , розчаровують. Це жорстока реальність розробки програмного забезпечення.
Менеджери-початківці продукту часто припускають, що створення функції відбувається швидко. Вони недооцінюють, скільки часу займе пошук і виправлення помилок у функції.
Ваші розробники, швидше за все, сперечатимуться на користь нових функцій, а не на виправлення помилок. Це тому, що запуск нової функції для розробників приємніший, ніж полювання на помилки.
Ви часто почуєте, як розробники жартують: «Це не помилка, це функція!»
Але менеджер із продуктів має бути твердим у тому, щоб помилки щоразу мали пріоритет.
Висновок
Ви хочете створити програмне забезпечення, яке обожнюють ваші користувачі? Потім віддайте перевагу виправленню помилок над новими функціями.
Ви виправили всі свої помилки та хочете знати, які нові функції додати? Тоді спробуйте Feature Upvote.
Ви отримаєте дошку, де ваші клієнти та члени команди зможуть додавати та голосувати за ідеї продуктів. Найкращі пропозиції піднімаються вгору, даючи зрозуміти вашій команді, що будувати далі.
Last updated