Все продуктовые и часть платформенных команд работают по Agile-методологии Scrum. Для нас это означает вот что: постоянные инкременты продукта, полная прозрачность процесса разработки для всей компании, непрерывное улучшение процессов в командах.
В то время как основными клиентами продуктовых команд являются конечные пользователи Авито, для платформенных команд — это другие разработчики. Мы верим, что большая часть продуктовых подходов и практик может быть применима и к платформенной разработке.
Developer Experience (DX) — это подход к созданию ценных, удобных и простых в освоении продуктов для разработчиков:
- это про то, как понимать «боль» разработчиков и помогать им ее решать;
- это сумма всех негативных и позитивных взаимодействий между разработчиком и платформой;
- это про то, как создавать больше пользы меньшими усилиями;
- это про «put user's needs first».
Developer Experience Framework (DXF) — это набор практик и методологий по управлению жизненным циклом технических продуктов и ожиданиями их пользователей:
- это про анализ ценности создаваемых продуктов;
- это про прозрачность разработки продуктов;
- это про построение рабочих процессов для быстрой разработки, проверки гипотез и получения фидбека;
- это про коммуникации с разработчиками, анализ их потребностей и обучение их новым продуктам.
Компоненты фреймворка можно разбить на несколько логических частей:
- Как планировать работу на длинном горизонте (стратегия, OKR, целевая аудитория, бэклог болей).
- Как выстроить процессы разработки в команде (Scrum, MVP, бэклог продукта, роадмапы).
- Как работать с информационными ресурсами (документация, гайды, портал разработчиков).
- Как строить сообщество (митапы, воркшопы, пилотирование).
- Как собирать информацию у разработчиков (опросы, NPS, интервью, метрики).
- Как работать с DX (dogfooding, DX-тестирование).
Мы придерживаемся подхода, где небольшие по объему релизы приносят больше пользы, чем редкие, но крупные. Это касается как быстрого получения обратной связи от пользователей, так и уменьшения цены ошибки и общего риска возникновения инцидентов. Мы работаем по методологии release train и придерживаемся следующего расписания:
- сайт Авито — 2 раза в день;
- мобильные приложения — раз в 2 недели.
Команды, которые владеют собственными микросервисами, работают по полноценному Continuous Delivery.
Вот наши основные рабочие инструменты:
- Корпоративный мессенджер — Slack
- Трекеры задач — Jira, Trello
- База знаний и документация — Confluence
- Аналитика — Tableau
- VCS — Git (Bitbucket Server)
- CI — TeamCity
- Совместная работа - Miro, Google Docs