room8: Внедрение практик code review как важная составляющая...

22
Сode reviews as an important component of the successful mobile product Nick Sergeev, CTO @ Room 8 Studio

Upload: devgamm-conference

Post on 09-May-2015

308 views

Category:

Presentations & Public Speaking


0 download

DESCRIPTION

Успех любого программного продукта зависит от многих факторов и одним из основных является качество кода. В условиях часто меняющихся требований и параллельной разработки нескольких проектов следить за данным показателем невероятно сложно. Обсуждаемые в докладе практики призваны помочь руководителям отделов разработки и разработчикам решить эту проблему.

TRANSCRIPT

Page 1: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Сode reviews as an important component of the successful mobile product

Nick Sergeev, CTO @ Room 8 Studio

Page 2: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Input

Сжатые сроки (deadly deadlines)

Факторы свойственные [почти] любому проекту:

Page 3: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Input

Сжатые сроки (deadly deadlines)Постоянные изменения требований (change requests every day)

Факторы свойственные [почти] любому проекту:

Page 4: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Input

Сжатые сроки (deadly deadlines)Постоянные изменения требований (change requests every day)Разный уровень девелоперов в команде (кадровая проблема)

Факторы свойственные [почти] любому проекту:

Page 5: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

The issues we want to solve

Одинаковая осведомленность девелоперов об изменениях/нововведениях в разных частях проекта (knowledge/practices sharing)

Page 6: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

The issues we want to solve

Одинаковая осведомленность девелоперов об изменениях/нововведениях в разных частях проекта (knowledge/practices sharing)Быстрое вхождение в проектную команду девелоперов разного уровня

Page 7: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

The issues we want to solve

Одинаковая осведомленность девелоперов об изменениях/нововведениях в разных частях проекта (knowledge/practices sharing)Быстрое вхождение в проектную команду девелоперов разного уровняBad practices sharing/rapid problem solving

Page 8: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Code review types

Team lead code review

Page 9: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Code review types

Team lead code reviewXP elements

Page 10: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Code review types

Team lead code reviewXP elementsTeam code review

Page 11: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Code review types

Team lead code reviewXP elementsTeam code review

Page 12: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Team Code Review Format

Митинг длиной до 1 часаВремя проведения - середина дня - когда важные дела уже сделаны и необходим перерыв Частота проведения - 1 раз в 2 спринтаУчаствует вся командаПриглашаем наиболее опытных людей из других командКаждый девелопер представляет реализованные им фичи, команда обсуждает реализацию1 человек ведет протокол, он содержит информацию о найденных проблемах и хороших решенияхПротокол размещается во внутренней базе знаний (confluence)Каждый девелопер может вести собственный чек-листНа одном из последующих planning meetings при необходимости выделяется время на работы по исправлению

Page 13: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Additional points

Что делать если объем кода слишком большой? Ревьюим только самый важный функционал, core features Заставляем себя комментировать код :)

Page 14: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Additional points

Что делать если объем кода слишком большой? Ревьюим только самый важный функционал, core features Заставляем себя комментировать код :)

Цель найти виноватого - второстепенна, гораздо более важно найти проблему

Page 15: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

What do we got?

Все знают все

Page 16: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

What do we got?

Все знают все Ошибки разного рода выявляются на ранних этапах

Page 17: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

What do we got?

Все знают все Ошибки разного рода выявляются на ранних этапах Ego effect

Page 18: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

What do we got?

Все знают все Ошибки разного рода выявляются на ранних этапах Ego effect It’s fun because it’s social

Page 19: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Last thoughts

Keep it lightweight! [Не перегружайте деталями участников, не заставляйте их сразу писать громоздкие отчеты, сам процесс должен быть максимально простым]

Внедряя любой процесс или практику надо помнить следующие вещи:

Page 20: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Last thoughts

Keep it lightweight! [Не перегружайте деталями участников, не заставляйте их сразу писать громоздкие отчеты, сам процесс должен быть максимально простым]

Внедряя любой процесс или практику надо помнить следующие вещи:

Don’t micro manage! [Не заставляйте людей проверять каждую запятую, не заставляйте их следовать по шагам инструкции, которую вы составили или тому, что у вас в голове - позвольте им адаптироваться или адаптировать процесс]

Page 21: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Last thoughts

Keep it lightweight! [Не перегружайте деталями участников, не заставляйте их сразу писать громоздкие отчеты, сам процесс должен быть максимально простым]

Внедряя любой процесс или практику надо помнить следующие вещи:

Don’t force it! [Никогда не ставьте жесткие сроки при внедрении новых практик, люди всегда сопротивляются новому - дайте им почувствовать преимущества самим]

Don’t micro manage! [Не заставляйте людей проверять каждую запятую, не заставляйте их следовать по шагам инструкции, которую вы составили или тому, что у вас в голове - позвольте им адаптироваться или адаптировать процесс]

Page 22: Room8: Внедрение практик code review как важная составляющая успеха мобильного продукта

Thanks! :)

@nick_sergeev

www.room8studio.com