room8: Внедрение практик code review как важная составляющая...
DESCRIPTION
Успех любого программного продукта зависит от многих факторов и одним из основных является качество кода. В условиях часто меняющихся требований и параллельной разработки нескольких проектов следить за данным показателем невероятно сложно. Обсуждаемые в докладе практики призваны помочь руководителям отделов разработки и разработчикам решить эту проблему.TRANSCRIPT
Сode reviews as an important component of the successful mobile product
Nick Sergeev, CTO @ Room 8 Studio
Input
Сжатые сроки (deadly deadlines)
Факторы свойственные [почти] любому проекту:
Input
Сжатые сроки (deadly deadlines)Постоянные изменения требований (change requests every day)
Факторы свойственные [почти] любому проекту:
Input
Сжатые сроки (deadly deadlines)Постоянные изменения требований (change requests every day)Разный уровень девелоперов в команде (кадровая проблема)
Факторы свойственные [почти] любому проекту:
The issues we want to solve
Одинаковая осведомленность девелоперов об изменениях/нововведениях в разных частях проекта (knowledge/practices sharing)
The issues we want to solve
Одинаковая осведомленность девелоперов об изменениях/нововведениях в разных частях проекта (knowledge/practices sharing)Быстрое вхождение в проектную команду девелоперов разного уровня
The issues we want to solve
Одинаковая осведомленность девелоперов об изменениях/нововведениях в разных частях проекта (knowledge/practices sharing)Быстрое вхождение в проектную команду девелоперов разного уровняBad practices sharing/rapid problem solving
Code review types
Team lead code review
Code review types
Team lead code reviewXP elements
Code review types
Team lead code reviewXP elementsTeam code review
Code review types
Team lead code reviewXP elementsTeam code review
Team Code Review Format
Митинг длиной до 1 часаВремя проведения - середина дня - когда важные дела уже сделаны и необходим перерыв Частота проведения - 1 раз в 2 спринтаУчаствует вся командаПриглашаем наиболее опытных людей из других командКаждый девелопер представляет реализованные им фичи, команда обсуждает реализацию1 человек ведет протокол, он содержит информацию о найденных проблемах и хороших решенияхПротокол размещается во внутренней базе знаний (confluence)Каждый девелопер может вести собственный чек-листНа одном из последующих planning meetings при необходимости выделяется время на работы по исправлению
Additional points
Что делать если объем кода слишком большой? Ревьюим только самый важный функционал, core features Заставляем себя комментировать код :)
Additional points
Что делать если объем кода слишком большой? Ревьюим только самый важный функционал, core features Заставляем себя комментировать код :)
Цель найти виноватого - второстепенна, гораздо более важно найти проблему
What do we got?
Все знают все
What do we got?
Все знают все Ошибки разного рода выявляются на ранних этапах
What do we got?
Все знают все Ошибки разного рода выявляются на ранних этапах Ego effect
What do we got?
Все знают все Ошибки разного рода выявляются на ранних этапах Ego effect It’s fun because it’s social
Last thoughts
Keep it lightweight! [Не перегружайте деталями участников, не заставляйте их сразу писать громоздкие отчеты, сам процесс должен быть максимально простым]
Внедряя любой процесс или практику надо помнить следующие вещи:
Last thoughts
Keep it lightweight! [Не перегружайте деталями участников, не заставляйте их сразу писать громоздкие отчеты, сам процесс должен быть максимально простым]
Внедряя любой процесс или практику надо помнить следующие вещи:
Don’t micro manage! [Не заставляйте людей проверять каждую запятую, не заставляйте их следовать по шагам инструкции, которую вы составили или тому, что у вас в голове - позвольте им адаптироваться или адаптировать процесс]
Last thoughts
Keep it lightweight! [Не перегружайте деталями участников, не заставляйте их сразу писать громоздкие отчеты, сам процесс должен быть максимально простым]
Внедряя любой процесс или практику надо помнить следующие вещи:
Don’t force it! [Никогда не ставьте жесткие сроки при внедрении новых практик, люди всегда сопротивляются новому - дайте им почувствовать преимущества самим]
Don’t micro manage! [Не заставляйте людей проверять каждую запятую, не заставляйте их следовать по шагам инструкции, которую вы составили или тому, что у вас в голове - позвольте им адаптироваться или адаптировать процесс]