28
Управление highload-проектами 24 на 7 Юрий Гугнин директор по производству ADV / web-engineering co.

Управление highload-проектами 24 на 7

Embed Size (px)

DESCRIPTION

Доклад Юрия Гугнина, директора по производству ADV/web-engineering, на крупнейшей российской интернет-конференции Неделя Российского Интернета.

Citation preview

Page 1: Управление highload-проектами 24 на 7

Управление highload-проектами24 на 7

Юрий Гугниндиректор по производствуADV / web-engineering co.

Page 2: Управление highload-проектами 24 на 7

Кто я?

Юрий Гугнин

Директор по производствуADV/web-engineering co.

[email protected]/goognin

Page 3: Управление highload-проектами 24 на 7

ADV?

Одна из крупнейших отечественных компаний на рынке разработки и развития интернет-решений с 1997 года

High-load проекты: http://vtb24.ru/ http://eldorado.ru/ http://lotopobeda.ru/ http://panasonic.ru/

Платформы:1С-BitrixMS SharePoint

Page 4: Управление highload-проектами 24 на 7

Hiload-проекты сделаны давно

Page 5: Управление highload-проектами 24 на 7

И их очень опасно переделывать с нуля

Page 6: Управление highload-проектами 24 на 7

Почему hiload-проекты переделывать опасно?

—Невозможно описать весь функционал

—Постоянно появляются новые фичи, и их приходится делать в двух версиях

—Практически невозможно безболезненно обкатать новую систему в условиях высоких нагрузок и 24-часовой доступности

Page 7: Управление highload-проектами 24 на 7

Выход – рефакторинг

Page 8: Управление highload-проектами 24 на 7

Почему рефакторинг?

—Проект постоянно работает и приносит доход

—Новые фичи легко интегрируются

—Минимум стресса при публикации новых версий

Page 9: Управление highload-проектами 24 на 7

Команда

Page 10: Управление highload-проектами 24 на 7

Главное – команда

—Постоянная и выделенная—Сработанная—С четкими ролями—Но с возможностью

взаимной замены игроков

Page 11: Управление highload-проектами 24 на 7

Менеджеры

— Да, их нужно двое— Один делает крупные задачи— Второй – задачи поменьше— О, чудо, они могут ходить в отпуска

— Собирают задачи с клиента— Управляют бюджетами— Управляют требованиями— Принимают решение о релизах

Page 12: Управление highload-проектами 24 на 7

Тимлид

— Собирает с клиента задачу— Планирует итерацию— Распределяет задачи по команде— Мержит— 30% времени пишет код сам— Проверяет чек-листы на тестирование— Принимает решение о релизах

Page 13: Управление highload-проектами 24 на 7

Архитектор

— Консультирует— В отдельном потоке

решает сверхсложные задачи (нагрузочное тестирование, «магические зависания»)

Page 14: Управление highload-проектами 24 на 7

Админ

— Публикует на реальную зону— В отдельном потоке

решает сверхсложные задачи (нагрузочное тестирование, «магические зависания»)

Page 15: Управление highload-проектами 24 на 7

Разработчики

— Их должно быть минимум двое (отпуска, болезни, свадьбы и т.д.)

— Они оба должны знать всю систему— Если нет отдельного разработчика

на мелкие задачи – вводится дежурство

Page 16: Управление highload-проектами 24 на 7

Тестировщики

— В идеале их должно быть столько же, сколько разработчиков

— Как минимум нужен один, но постоянный

— Пишет чек-листы— Проверяет по ним вручную— Делает автотесты

Page 17: Управление highload-проектами 24 на 7

Клиент

— Помогает команде собирать требования

— Участвует в планерках— Защищает результаты работ— Выделяет ресурсы в своей компании

Page 18: Управление highload-проектами 24 на 7

Рабочий процесс

Page 19: Управление highload-проектами 24 на 7

2-недельные итерацииРабота тимлида

2 нед.1 нед.

Хотфиксы предыдущей итерации

Сбор требований и планирование на следующую итерацию

Разработка текущей итерации

Мерж, тестирование, публикация

Page 20: Управление highload-проектами 24 на 7

2-недельные итерацииРабота тестировщиков

2 нед.1 нед.

Тестирование предыдущей итерации

Написание чек-листов на текущую итерацию Тестирование Тестирование x2

Page 21: Управление highload-проектами 24 на 7

3-звенная архитектура

—Максимум безопасности—Минимум доступов—Желательно немецкий хостинг

Page 22: Управление highload-проектами 24 на 7

3-звенная архитектураTest

—Лежит где угодно—Нужен для внутреннего тестирования—SSH-доступ и доступ в CMS для всех

Page 23: Управление highload-проектами 24 на 7

3-звенная архитектураStage

—Лежит в окружении, максимально близком к боевому

—Рабочая копия боевого сервера—SSH-доступ имеет админ и тимлид—CMS-доступ

—Админский у тимлида—Контентный у контент-менеджеров

Page 24: Управление highload-проектами 24 на 7

3-звенная архитектураProd

—SSH-доступ имеет админ—CMS-доступ

—Админский у руководителя отдела—Контентный у контент-менеджеров

Page 25: Управление highload-проектами 24 на 7

Дежурство

—4 дежурных в режиме «сутки через трое»

—Или использование разных часовых поясов

—Обязательные инструкции на случай аварии

Page 26: Управление highload-проектами 24 на 7

Риски

—Хостинг от другой компании

—Вторая команда разработки

—Доступы к prod у клиента

Page 27: Управление highload-проектами 24 на 7

?

Page 28: Управление highload-проектами 24 на 7

Контактная информация:Юрий ГугнинДиректор по производствуADV/web-engineering. co

[email protected] facebook.com/goognin

Спасибо за внимание!