Upload
yandex
View
586
Download
1
Embed Size (px)
DESCRIPTION
Команда разработки интерфейсов поиска состоит из 50 человек и находится в четырёх разных городах России и Украины: в Москве, Санкт-Петербурге, Киеве и Симферополе. В докладе рассказывается о том, как организована разработка интерфейсов поиска в распределенной команде. В частности, как помогают БЭМ-методология и инструменты в процессе разработки, как используются системы контроля версий, как устроен обмен информацией внутри отдела — и как с помощью всего этого разрабатывается анонсированная в мае 2013 года новая поисковая платформа «Острова», которая помогает представить интернет-сайты в результатах поисковой выдачи в виде интерактивных ответов.
Citation preview
Когда команда распределена по «островам» Семенов Артем Руководитель группы Я.Субботник в Санкт-Петербурге, 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