Наскільки добре достатньо? (Керуйте напругою та відвантажуйте її)
Учора я обідав з друзями та іншими власниками бізнесу та розробниками, і однією з тем, які виникли під час нашої дискусії, була ідея про те, наскільки добре – це достатньо добре?
Зокрема, щоразу, коли ви працюєте над програмним проектом, коли це Good Enough ™ для доставки замовнику?
Наскільки добре це достатньо добре зі стандартами кодування?
Звісно, мається на увазі, що якщо він достатньо хороший, то він задовольняє вимоги, але, ймовірно, є якась прихована напруга, що, маючи більше часу, грошей чи інших ресурсів, ми повернемося та покращимо певні аспекти проекту.
Якщо ви розробник або дизайнер, можливо, ви відчували цю напругу. Я маю. Наскільки це варте, я відчуваю це майже в кожному окремому проекті, над яким я працюю.
І звичайно, ми можемо цілий день сперечатися про те, що означає бути достатньо хорошим. Але я думаю, що визначення змінюється, чим далі ми просуваємося в галузь.
Наскільки добре це достатньо добре?
Я намагаюся підкреслити, що достатньо хороша – це рухома мішень, яка часто визначається вашим рівнем досвіду (порівняно з будь-яким іншим критерієм, наприклад, вашим віком).
Для цієї публікації я припускаю, що ви достатньо довго працюєте в галузі та працюєте з подібним набором інструментів і мов, щоб повністю зрозуміти особливості кожної з мов і інструментів, які ви використовуєте. Я не соромлюся , коли справа доходить до створення програмного забезпечення.
Це змінюється з часом
У той же час рівень досвіду, який ми вважаємо «достатньо хорошим», змінюється. Коли ви тільки починаєте роботу, достатньо хороший, швидше за все, просто починає працювати. Якщо ви в команді, особливо досвідчених розробників, ви ймовірно, ви отримаєте багато відгуків про те, як покращити ситуацію.
І спочатку це може бути складно. Можливо, це навіть трохи невтішно. Я маю на увазі, що ти пишаєшся тим, що зробив, але тоді у тебе є кілька людей, які кажуть тобі, як щось змінити. Те ж саме відбувається з відкритим кодом, до речі (чого б це не варте).
Не прикрашати і не змінювати нічого, тому що ви маєте рацію: це може стати невтішним. Я маю на увазі, що ви витратили невідомо скільки годин, працюючи над чимось, у вас це працює, а потім ваші колеги виправляють багато роботи, яку ви зробили.
Ми можемо покращити ситуацію разом.
Пам’ятайте, що мотивація цієї критики не має нічого спільного з вами як особистістю. І це не має нічого спільного з тим, щоб казати, що ти недостатньо хороший. Це означає, що у вас все працює, і це чудово, тепер давайте зробимо це ще краще.
У міру того, як ви дізнаєтесь більше, вимірювання того, що колись було досить хорошим, раптом змінюється.
Коли те, що колись було хорошим, більше не відповідає дійсності
І тут починає грати напруга: те, що колись було достатньо добре, тепер уже недостатньо добре. Це недоречно, чи не так? Отже, нове достатньо добре — це щось більш організоване, краще архітектурне та краще організоване.
Потім виникає нова напруга: ви досягли крайнього терміну або закінчилися гроші, і настав час відправити продукт. Ви знаєте, що робота, яку ви виконали, є якісною, керованою та достатньо добре задокументованою, щоб проект рухався вперед.
Наскільки добре достатньо? Чи є документація?
Але це недостатньо добре, оскільки ви знаєте, що можна було б оптимізувати, якби у вас було трохи більше часу. Але ви цього не зробите – ви повинні відправити його в поточному стані.
Комерційна таємниця
Ось маленький брудний секрет у галузі, який з будь-якої причини люди не хочуть визнавати: відправляти його в такому стані можна.
Відправляти продукт у його заданому стані можна.
По-перше, стан, у якому він перебуває, не тільки кращий, ніж взагалі нічого; це те, що краще, ніж те, що ви могли робити раніше. Ті з нас, хто дбає про це ремесло, відчувають це майже в усьому, що вони
По-друге, програмне забезпечення пластичне. Це може бути змінено з часом. Тому у нас є версії нашої роботи. Ті з нас, кому не байдуже це ремесло, відчувають цю напругу майже в усьому, що ми робимо.
Нарешті, ідея того, що вважається Good Enough™, не зникає. Воно просто рухається. Чим більше ви дізнаєтеся про створення якісного програмного забезпечення, тим більше змінюється визначення того, що є достатньо хорошим.
Напруга не знімається
Тому звикайте до напруги. Прийміть це навіть. Якщо ви цього не відчуваєте, то я б стверджував, що ви не стурбовані виробництвом якісного продукту. І я знаю, що це сміливе твердження, але я ще не зустрічав розробника з її чи його заслугами, який би не боровся з цим.
Це частина роботи. Прийміть це таким, яким воно є. Якщо ви це відчуваєте, це хороший знак того, що ви на правильному шляху.

