01.10.2024 старт набору нової групи на курс Enterprise Patterns! Реєструйтеся зараз зі знижкою 30%!
Дізнатися більше
08.07.2022
5 хвилин перегляду

Програміст-перфекціоніст: добре це чи погано?

Сергій Немчинський
Програміст-перфекціоніст: добре це чи погано?

Бути перфекціоністом погано. Як показує практика, перфекціоніст – це людина, що просто боїться провалу. Людина, який відтягує момент здачі роботи до останнього, намагаючись довести проект до ідеальності. Але разом з вилизаним кодом провалюються всі терміни дачі. А дедлайни в бізнесі вкрай важливі.

Краще зробити погано, але зараз, ніж добре, але ніколи.

Зробити повністю ідеально не вийде ніколи. У моєї практики був випадок, коли людина, явний перфекціоніст, намагався робити все максимально добре. Так ось він категорично не підходив для роботи, оскільки провалював всі можливі терміни.

Такі стовпи ІТ-індустрії, як Мартін Фаулер, Роберт Мартін дотримуються думки, що потрібно зупинятися, коли код досяг достатнього якості, і не потрібно його доводити до ідеальності.

Що значить «достатня якість»?

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

Я точно знаю, що знайдуться люди, які скажуть, що потрібно робити ідеально, інакше навіщо тоді взагалі починати. Я вам ось що скажу: ви развлекаетесь за гроші замовника. Точно також як програмісти, які хочуть потрапити на «цікавий» проект з новими фреймворками і новими мовами програмування – це теж розваги за гроші замовника. Тому що нові фреймворки і нові мови – це всі ризики, ризики, ризики, що в фіналі може призвести до провалу проекту. Аналогічно і тут. Краще випустити на 80% хороший продукт, який на 80% покриває необхідні потреби бізнесу, а решта допілівать потім, коли це знадобиться (насправді може і не знадобитися, оскільки будь-який бізнес змінюється швидко).

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

Завдання програміста – випустити в обумовлені терміни проект достатньої якості

Щоб розуміти, що таке «достатня якість» конкретно для вашого проекту, потрібно розуміти бізнес велью – цінність того, що ви робите. Про це я дуже докладно розповідав в відео «Внутрішній маркетинг для програмістів». В кінцевому підсумку все зводиться саме до цього – ви працюєте для бізнесу. Ви ж не Мікеланджело, який дозволяє собі створювати нетлінні твори. Ваша робота не залишиться на століття, ви просто покриваєте потреби бізнесу. Хороший програмістам не той, хто пише ідеальний код, а той, хто вміє бути орієнтованим на бізнес.

Тому я вважаю, що перфекціонізм – це зло. Робити потрібно достатньої якості.

Додати коментар

Ваш імейл не буде опубліковано. Обов'язкові поля відзначені *

Зберегти моє ім'я, імейл та адресу сайту у цьому браузері для майбутніх коментарів