
Натрапив на днях на круту вичерпну підбірку емпіричних “законів” та принципів, теорій та підходів, сформульованих здебільшого на основі спостережень за поведінкою та роботою людей в цілому та інженерів зокрема.
Частина з них добре всім нам знайомі (наприклад принцип Парето), але більшість, впевнений – ні.
Ось деякі, що напряму стосуються тестування:
Теорія розбитих вікон
Якщо перефразувати по нашому:
де більше багів – там більше багів
Закон Брукса
Додавання людей в проект що запізнюється не прискорює його, а ще більше вповільнює.
Він ще добре відомий у формі приказки:
Nine women can’t make a baby in one month
Закон Каннінгема
Універсальний 🙂
Найкращий спосіб отримати правильну відповідь в інтернеті, це не поставити питання, а запостити неправильну відповідь.
Закон Галла
Завдяки цьому закону ми працюємо по Agile, а не Waterfall
Будь яка складна система, що працює, еволюціонувала з простої, що працювала. Складна система, розроблена з нуля, ніколи не запрацює, все одно доведеться починати з працюючої простої.
Закон Хофстадтера
Невмируща класика про те, що з естімейтами ви все одно налажаєте 🙂
За законом Хофстадтера щоб зробити щось – завжди потрібно більше часу ніж очікувалось, навіть якщо закон Хофстадтера був прийнятий до уваги.
Закон Кернігана
Люблю його розробникам цитувати 🙂
Дебаг коду вдвічі складніший за його написання. Тому, якщо ви пишете код як боженька, то вам за визначенням не вистачить розуму його продебажити.
Ну й там ще багато невмирущої класики. Enjoy!
https://github.com/dwmkerr/hacker-laws