Тож я почав працювати над великим корпусом. Один із тих, хто має 3 букви на ім'я, і вони намагаються стати Agile, але мають безліч процесів, які, як я не відчуваю, є спритними.
Те, що мене найбільше обернуло, - це огляди коду. Моя остання робота була зі стартапом, про який я б сказав, це найгірша команда розвитку, яку я бачив, був і / або коли-небудь чув.
У будь-якому випадку, мій аргумент полягає в тому, що Code Reviews є марною витратою часу на ітеративну або Agile розробку, де UX / UI є надзвичайним / інтенсивним (думаю, вдосконалення Apple / Steve Jobs). Може, хтось тут може допомогти зрозуміти, перш ніж мене звільнять?
Ось мій процес розробки та той, коли я останній запуск ... дуже Agile.
Ми робимо ранню функціональну роботу, щоб сортувати завдання розвитку / todos. Ми будемо знущатися над декількома версіями та представляти користувачам, команді та маркетингу, щоб отримати зворотній зв'язок. Потім ми робимо ще одну макет ітерації, щоб отримати один раунд від тих самих зацікавлених сторін вище. Тоді ми заглиблюємо роботу і починаємо. У нас є важливі етапи та дати для зустрічі, але ми продовжуємо підключатись. Ми не маємо оглядів коду під час нічого з цього. Кілька разів протягом тижнів нашої розробки ми знову проводимо сесії з зацікавленими сторонами, щоб побачити, чи вони все ще погоджуються, що функції / функції / UX / UI все ще підходять та націлені.
Коли ми наближаємось до кінця 8-тижневого циклу ітерації, QA починає тестувати, тоді він переходить до альфа-користувачів і, нарешті, до бета-користувачів. Але під час альфа- та бета-версії розробники переглядають нові функції та старіші функції, вносячи ітеративні щоденні або години зміни в інтерфейс для поліпшення UX. Таким чином, функція, яка розроблялась у цьому випуску, може змінитися ще 3 рази за останні чотири тижні, щоб покращити та вдосконалити її, або додати кілька крихітних функцій (наприклад, зробити компонент трохи стрункішим чи розумнішим). Іноді зміни можуть бути поверхневими, тобто CRUD-операції не змінюються та не змінюються, але весь інтерфейс лише змінюється.
Отож, при такому типі процесу розробки, надзвичайно Agile, чи не огляд коду буде марною тратою часу? Значить, якщо у мене був інший розробник чи два переглянули свій код, але потім цей код змінюється ще 3 рази, перш ніж він вийде з дверей, через всі вдосконалення UI / UX, ми не витрачаємо час на перші 3 рази, коли вони переглядали його код як код / компонент / інтерфейс користувача був знятий?
У нас ніколи не було багато проблем з якістю цього процесу, і так, якщо розробник залишив усі знання, вийшов із дверей, але ми завжди знаходили розумних розробників, щоб підібрати його та перейняти.
І так, у нас дуже багато тестувальників, оскільки їм, можливо, доведеться повторно перевірити речі 3 або 4 рази. Також, будь ласка, не зациклюйтесь на запитання, чому всі зміни інтерфейсу / UX змінюються ... ось як все робиться ... тоді тоді додаток виграє багато нагород за UI / UX, і користувачі вб'ють за додаток Мисленнєвий процес - якщо я можу зробити навіть 2% поліпшення чогось, тому що у мене є додаткова година, то це робити. Користувачі будуть щасливішими, що означає більше $ або користувачів. І так, наші користувачі в порядку, коли додаток постійно змінюється, тому що це робиться з першого дня, тому вони не вважають це поганим чи негативним.
Сподіваюся, ця публікація не виглядає настільки помпезною, але я просто не можу побачити, наскільки огляди коду не марнотратні. Можливо, у 2% всього нашого коду в переглянутому коді є помилки. Кожен випуск ми можемо знайти 3 помилки за допомогою перегляду коду. Отже, це виявляється за 40 годин перегляду коду на розробника за випуск (4 х 40 = 160 годин), щоб знайти 3 - 5 помилок? Швидше за все, 50% тих, що 3 - 5 помилок було б зібрано QA у будь-якому випадку. Чи не було б краще витратити ці 40 годин на розробника, додавши нову функцію або вдосконалюючи існуючі?