Артём Семенов — Яндекс.Поиск: когда команда...

Post on 16-Jun-2015

578 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Команда разработки интерфейсов поиска состоит из 50 человек и находится в четырёх разных городах России и Украины: в Москве, Санкт-Петербурге, Киеве и Симферополе. В докладе рассказывается о том, как организована разработка интерфейсов поиска в распределенной команде. В частности, как помогают БЭМ-методология и инструменты в процессе разработки, как используются системы контроля версий, как устроен обмен информацией внутри отдела — и как с помощью всего этого разрабатывается анонсированная в мае 2013 года новая поисковая платформа «Острова», которая помогает представить интернет-сайты в результатах поисковой выдачи в виде интерактивных ответов.

TRANSCRIPT

Когда команда распределена по «островам» Семенов Артем Руководитель группы Я.Субботник в Санкт-Петербурге, 15 июня 2013 года

2 Яндекс.Острова

3 «Острова в Турции»

Команда

5

Команда

• 50 человек (поисковая выдача ~20) • 2 страны: Россия, Украина • 4 города: Москва, Санкт-Петербург, Симферополь, Киев

• Еще множество разработчиков из других отделов

Отдел разработки интерфейсов поисковых сервисов:

6 Поисковые сервисы Яндекса

7

Распределенность

• Расширенная география поиска разработчиков

• Стабильность разработки • Удешевление затрат

Четкий процесс

Роли

Обучение

Качества кода

9

Дежурство

• Дежурный разработчик • Релиз-инженер

10 Дежурный разработчик

11 Релиз-инженер

12

Еженедельное планирование

Пн.  Планы  на  неделю  

Ср.  Корректировка  

13 Обучение

14 Документация

15

Встречи

• Внешние конференции • Внутренние конференции • Внутренние встречи групп

Код

17

Code Style

clck.ru/8cn-Q

18

Code Review

clck.ru/8cmzq

19

VCS flow

clck.ru/8cn-q

20 Единая методология кода

21

22

BEM для разработчика

• Упрощение разработки и поддержки • Переключение между проектами • Повторное использование кода

23

BEM для команды

• Быстрое подключение человека к команде • Совместная работа с кодом • Независимая работа над частями проекта

24

Библиотеки блоков

• Общепортальная • Поисковая • Контрибы

25 Контриб маркета

26

Пример контрибов

map news market time audio traffic video turkish-university address weather afisha wikifacts images yaca-games lingvo

27 Контриб видео и карт

28

blocks!!.bem!! !level.js!!b-menu!! !_type!! ! !b-menu_type_taxi-switcher.css!!z-taxi!! !z-taxi.bemhtml!! !z-taxi.css!! !z-taxi.deps.js!! !z-taxi.ie.css!! !z-taxi.js!! !z-taxi.priv.js!!GNUmakefile!

Контриб такси

29

Уровни переопределения

Общая  библиотека  

Ядро  проекта  

Контрибы  

Результат  

30

Единая экосистема

• Все технологии в BEM терминах • Библиотеки блоков • Шаблонизатор • Иструменты

31

bem.info

Комьюнити

•  @bem_ru •  fb.com/groups/bem.info •  github.com/bem

Итоги

34

Процесс

• Четкие роли • Проработанный рабочий процесс • Удобные коммуникации • Налаженный vcs flow

35

Обучение

• Документация • Внешние и внутренние конференции • Обмен знаниями между группами

36

Код

• Единая методология разработки • Code Style • Code Review

37

Артем Семенов

Руководитель группы

xxxxxx@yandex-team.ru

top related