Очевидно, якщо керівництво купує витрачати час на огляди коду, то всі повинні це робити.
Але завжди є такі хлопці (або гелі), які чинять опір кожному унції свого буття.
Як ви ефективно керуєте цим сценарієм, коли вирішуєте його як рецензента?
Очевидно, якщо керівництво купує витрачати час на огляди коду, то всі повинні це робити.
Але завжди є такі хлопці (або гелі), які чинять опір кожному унції свого буття.
Як ви ефективно керуєте цим сценарієм, коли вирішуєте його як рецензента?
Відповіді:
Він чинить опір через страх . Ця умова може бути результатом попереднього поганого досвіду щодо перегляду, як дитина, у школі, на роботі чи навіть у вашому поточному колективі. У наших сучасних суспільствах нам дуже часто плутати чийсь результат праці з його цінністю як людської істоти. Ось чому відгуки на роботі недостатньо сприймаються. Ось чому і виступати на публіці в одній із найпоширеніших фобій (страх перед судженнями).
Щоб уникнути такої поведінки, вам знадобиться певна психологія. Ви повинні довести його мозку ящірки, що цього не станеться (його не будуть судити, принижувати, вбивати, нічого ...), десенсифікуючи його для кодування відгуків.
Один з найефективніших методів, який я виявив, щоб розблокувати когось, - це попросити його переглянути ваш код , перш ніж просити переглянути його код.
Через деякий час запропонуйте йому прочитати його код, щоб дізнатися його, а чому б не запропонувати вдосконалення. Коли ви знайдете щось для зміни, будьте уважні в тому, що пишете. Він зрозуміє, що боятися нічого, і він буде брати позитивну частину лише в процесі рецензування: навчання та підвищення своїх знань .
Я б спробував працювати в парі - об'єднайте когось, хто ненавидить ідею, з тим, хто їй сподобається, і попросіть їх переглядати код один одного на пару тижнів. Очевидно, це може чи не допоможе, але перебуваючи на обох кінцях огляду, ви принаймні дасте більш округлене уявлення про процес. Спільна робота в парі дозволить їм ознайомитись зі стилем та поширеними помилками один одного і дасть їм час реально допомогти одне одному покращитися, а не штамп. Це також може допомогти вам пропонувати програмування пар у вашому робочому середовищі, оскільки, на мою думку, ви можете спостерігати зростаючу тенденцію не лише переглядати, але перекодувати або навіть планувати і кодувати з нуля.
Поки незацікавлені сторони бажають спробувати, це може допомогти. Якщо вони відмовляться розглянути це, ви не можете багато з цим зробити, доки вони в команді.
@ Відповідь П'єра правильна для тих, хто побоюється перегляду коду. Я можу уявити іншу ситуацію. Зоряний програміст, котрий вважає перегляд коду, марно витрачає час, оскільки там код досягає прийнятного рівня якості та коректності. У цьому випадку вони можуть відчути, що перегляд коду - це витрата часу та полювання на відьом. (Це пошук проблеми, коли такої немає.)
У цьому випадку я б переорієнтував мету огляду. Замість того, щоб в огляді коду йшлося про пошук «проблем» у коді, трактуйте це як пошук ре-факторингу цілей або потенційних майбутніх удосконалень або додаткових конструктивних функцій. Таким чином, і кодер, і рецензент беруть участь у процесі, і, сподіваємось, цей здатний кодер буде відчувати, що час буде використаний на користь.
Чесно кажучи, це питання не має сенсу, якщо у вас добре керований магазин:
1) Якщо це частина роботи, ви повинні її виконати, або ви непідвладні. Той, хто твердо відмовляється виконувати частину роботи, яку вони вимагають, повинен отримати консерви. Програмування - це ремесло і професія - рецензенти та менеджери є там, щоб допомогти виконати роботу, а не мати справу з розбещеними дітьми (будь-якого віку).
2) Якщо у вас є добре керована система управління джерелами (що є обов'язковим у будь-якому професійному магазині програмного забезпечення), то їх код можна переглянути, подобається їм це чи ні. Тому перегляньте їх код:
Якщо це добре, сповістіть їх і погладьте по спині - це сприятиме участі.
Якщо це не добре, також повідомте про це. Це має спричинити мотивацію їх до участі, щоб захистити себе. Якщо цього не відбувається, ви можете використовувати каральні заходи: Фінансові штрафи, пониження в статусі і т. Д. Якщо, незважаючи на ваші зусилля, цей працівник не приходить, ІМО у вас поганий працівник, і їм слід показати двері.
Чи мають вони негативний досвід у місцях, де перевірки коду не були виконані належним чином? Вони можуть мати законні побоювання.
Якщо вони абсолютно не бачать жодної заслуги перед вправою, попросіть їх набратися терпіння і побачити, що відбувається з їх кодом, а особливо іншими (якщо вони вважають, що вони ідеальні).
Перегляд коду "повинен" покращити розвиток, але поки у вас немає системи, яка насправді працює, навіщо хтось хотів це робити?
Я особисто, що є деякі поєдинки, які просто неможливо перемогти зі 100% населення.
Я бачу достатньо причин, чому парне програмування не буде працювати, коли хтось змушений це робити.
Але огляди коду різні - вони змінюють вашу продуктивність, не обов'язково ваші робочі звички.
Для зниження опірності завдяки продуктивності управління може зробити декілька речей: 1) Прийняти зниження швидкості для всіх розробників. 2) Оснастіть відповідні інструменти для управління та об'єднання декількох версій за допомогою циклів перегляду (наприклад, дозволяючи розробникам мати локальне сховище git) 3) Застосовуйте певну соціальну чи іншу форму тиску, щоб забезпечити розподіл навантаження, якість та своєчасність відгуків.
Якщо вони це роблять, законно вимагати участі всіх, ІМХО. Компанія, в якій я зараз працюю над цим силою, - ви просто не можете подати заяву без схвалення власника. І хоча це уповільнює справи, це запобігає безлічі аварій.
Стріляйте їх
Це так просто - або вони отримують проект самотнього чоловіка, або їм потрібно їхати. Відведіть їх подалі від своєї команди. Вони не тільки не виконують своєї ролі, вони руйнують моральний дух та навички роботи команди.
Тепер, якщо вам здається, що ви повинні звільнити 50% своєї команди, то ...
Зрозумійте
Чому деякі відмовляються? У них немає часу? Вони згоріли? Чи є відгуки про щось, з чим вони не мають досвіду? Вони вважають, що це марна трата часу, якщо так, чому?
Тут допоможе гнучка методологія - я припускаю, що ви постійно працюєте проти силосів (тобто, щоб зменшити коефіцієнт шини), і люди з вашої команди беруть участь у тому, що роблять інші.
Робота над забезпеченням окремих запитів на об'єднання є досить малою. Якщо це більше, ніж один екран змін, для роз'яснення того, що робиться, потрібна розмова в режимі очікування або блискавки. Якщо це 10 сторінок, йому потрібна презентація із слайдами та діаграмами архітектури.
Чи працюють усі, про кого йдеться, над одним проектом?
Проект вже похований під горою технічного боргу?
Чи вірять вони в проект та постійне вдосконалення?