24 September

Цікава і правдива стаття на сайті "Хабрахабр"

The staff of the web studio "Glyanets.NET" has always followed the principles set out in the article. We advise you to get acquainted — https://habrahabr.ru/post/151902.

Червоної таблетки не існує

Про що це

Я довгий час був адептом ідей за рівність, свободу і братерство тому був впевнений, що існує червона таблетка.
— Що можна за допомогою ООП вирішити всі проблеми масштабування програм;
— Що за допомогою однієї методології можна вибудувати розробку проектів;
— Що за допомогою декількох геніальних книжок можна навчитися проектувати інтерфейси.

Насправді, після пари десятків проектів я прийшов до висновку, що все це — не більше ніж помилки, і чудеса відбуваються тільки в книгах авторів, які роблять на своїх бестселерах мільйони. Або в головах консультантів, які роблять гроші, коли продають вам фуфло у вигляді Agile, KPI і інших розумних слів.

Проектування немає

Можливо, після N ітерацій розробники починають говорити вам — все, далі проект робити не можна, треба рефактору. А ще краще — переписати з нуля, інакше він буде падати з кожною новою зміною. І якщо ви послухаєте їх — два місяці будуть рефакторити, а далі вирішать переписати з нуля. А через півроку, коли нічого ще не буде готове, або кинуть марну затію, або ви їх звільните — ринок пішов вперед, і потрапити на поїзд, що вже пішов —  не вийде.

Або ж, якщо розробники вже мали досвід рефакторінга в іншій компанії, вони відразу запропонують вам проектувати. UML, використання складних інструментів і так далі — давайте відразу зробимо все правильно, щоб не переписувати. Це може стосуватися не тільки програмістів — дизайнер буде намагатися намалювати відразу кінцевий макет, щоб здати його без переробок.

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

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

Про еволюційному проектуванні (і про мертвому традиційному) серйозно розмірковував навіть Мартін Фаулер
 

Методології немає

Тут я буду говорити коротко. Ми спробували фіксовані ітерації, пробуємо канбан. Так як я програміст, крім PM — можу підтвердити, що всі методології дійсно зводяться до пиши-код-блять.рф. І чим менше зайвих дій вноситься в процес — тим краще. Щоденні обов'язкові розмови — мінус (ми спілкуємося ввечері і все частіше on-demand). Пленінг покер — нафіг: як правило, в моїх проектах дуже багато складних залежностей, і змоделювати їх і точно уявити не можна; а значить, оцінки будуть тільки забирати час і тяжіти, коли ти їх на себе взяв. Замість цього — прості прикидки: зробити відразу, зробити за годину, за день, і тд, тобто порядок.

Окремим пунктом йде відмова від фіксованої ітерації. Я не знаю, як у інших, але в моїх проектах, як і в стартапах, дуже важливі часті релізи та швидкі зміни. Фіксований реліз раз в два тижні — це IMHO дурня, і ми відмовилися від фіксованих ітерацій на користь канбана саме тому. Втім, не одні ми — ось 50 місяців еволюції розробки, хлопці прийшли до того ж висновку.

Також хочеться відзначити дерготни. У нас є регламент (з його впровадженням непросто, але ми не здаємося) про години тиші: мінімум 4 години на день програміст повинен працювати без жодних засобів IM, тому що ніщо так не дратує, як питання переключитися.

Загалом, поки я не бачив універсальної методології. Коли навчався у вузі і був курс управління проектами, нам сватали RUP. Потім вивчав Agile. На практиці перший простий для IT, швидкоплинного ринку і галузі, просто мертвий. А другий — секрет полішинеля. Всі розповідають, що вже вони-то точно знають всі секрети і можуть поставити розробку. Але все частіше на ринок виходять говнопроекти, і робиться все дуже повільно. Зате контори з консультацій процвітають. Дивно, так? Замість того, щоб самим робити проекти, вони роблять бабки на тренерській роботі.

Крім одиниць, які 5-10 років в Гуглі або IBM керували розробкою, в основному ці хлопці ІМХО навіть близько не повинні підходити до консультацій, якщо тільки в портфоліо немає реально крутих своїх проектів.

А що є?

Є тільки люди. На думку доктора біологічних наук Сергія Савельєва, яку він виклав у книзі «Мінливість і геніальність», мізки у людей відрізняються в рази (окремі структури до 40 разів). Грубо кажучи, у всіх мозок унікальний. І вся завдання полягає тільки в тому, щоб відібрати до вас на роботу найгеніальніших, заточених саме для потрібної роботи. Тому що певні великі структури в мозку будуть тягнути людину робити те, до чого у нього дар. Тому у кращих людей завжди кайф від роботи — але не тому, що вони вибрали таку роботу, а тому, що спочатку були створені для неї і всього лише правильно вгадали.

Тому я шукаю тих, кому подобається його діяльність — це ознака обдарованості (часом геніальності), і що людина вірно обрала свій шлях (а не насильно, заради грошей, вивчив Java або там Photoshop, і займається тим, чим не обдарований).

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

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

Хто хоче витрачати гроші, час і свої зусилля на червоні таблетки у вигляді Agile, чи думає, що зараз розумні програмісти все спроектують, а дизайнери намалюють — ок, вперед! Можна проектувати до третього пришестя, і намагатися до четвертого вибудувати ідеальний burndown chart, в той час як 10 хостів бісяться від невірно обраних user stories на вашому проекті.

Бажаю вам не витрачати час на фігню, а скоріше сфокусуватися на пошуку й утриманні кращих з кращих!

Эпілог

Пост присвячується тим самим одиницям, тим програмістам, менеджерам проектів і дизайнерам, і всім скпеціалістам, які трудяться на совість і роблять реальну роботу, а не ИБД, як багато їхніх колег. Таіе, як ви - це еліта IT і рушійна сила світу. Про вас добре сказав Айзек Азімов у своєму оповіданні «Професія».

[...], і той, хто не бажає змиритися з цим, і є людина, яку ми шукаємо. Можливо це жорстокий метод, але він себе виправдовує. Не можна ж сказати людині: «Ти можеш творити. Так давай, твори». Краще почекати, поки він сам скаже: «Я можу творити, і я буду творити, хочете ви цього чи ні». Є близько десяти тисяч людей, подібних тобі, Джордж, і від них залежить технічний прогрес півтори тисячі світів. Ми не можемо дозволити собі втратити хоча б одного з них або витрачати зусилля на того, хто не цілком відповідає необхідним вимогам.
Bestellen Sie jetzt Ihre Website!

Nur ein Schritt zu Ihrer perfekten Website

Accessibility menu
Kontrasteinstellungen
Schriftgröße
Zeichenabstand
Zeilenabstand
Bilder
Schriftart
Zurücksetzen der Einstellungen