TechLeads meetup: Макс Лапшин, Erlyvideo
-
Upload
badoo-development -
Category
Internet
-
view
4.300 -
download
4
Transcript of TechLeads meetup: Макс Лапшин, Erlyvideo
Содержание
• Кто мы такие и кому нужны
• Как ставим задачи и чего в них сложного
• Как делаем сложные задачи без ночных спринтов
• Как обеспечиваем качество и скорость
«Взрывной» рост
• 2 года ходишь на выставки, на 3-й начинают здороваться
• все на старте боятся, не доверяют
Чего получается• Ровный рост компании
• Держим паритет по фичам с лидером рынка
• Все делаем спокойно
• Выходные и ночь для отдыха
• Сохраняем уровень качества
Направление разработки
• Сами себе заказчики
• «Реактивная» разработка за рынком
• В b2b надо быть и гибким, и не делать спец-ветки
Направление разработки
• Сами себе заказчики
• «Реактивная» разработка за рынком
• В b2b надо быть и гибким, и не делать спец-ветки
• Конкуренция с внутренними отделами клиента
Сложности
• Есть mandatory задачи: делай или уходи
• Непрогнозируемый код: от месяца до 2 лет
• Тяжело проектировать то, что ещё не делал
Готовая коробка
• Мы даем не сервис, а софт
• Каждая строчка пишется для многих клиентов
• Сначала пишем, потом продаем
• Гарантии по срокам дают только на HL3
Наукообразный подход• Инженер планирует планы решения задачи
• Ищет гарантированные способы и короткие
• Описывает шаги и их результаты
• Минимум ежедневно пишет отчет
• Один тикет — одна диссертация
Наши ответы
• Продаем только готовое
• Подход к задаче, как к научной проблеме
• Запуск минимальных фич
MVP каждый день• Что-то завелось — дали клиенту на тест
• Чем быстрее фидбек, тем лучше
• Клиент не знает, что именно будет нужно
• А мы не полностью знаем бизнес клиента
• Чем раньше бросишь, тем меньше потеряешь
Наши ответы
• Продаем только готовое
• Подход к задаче, как к научной проблеме
• Запуск минимальных фич
• Баланс между новым и поддержкой
r&d vs support• Тяжелый выбор
• Приходится дергать людей
• Иногда группируем поддержку в большие задачи
• Есть код, который поддерживаем 8 лет
• Выделенной роли нет
Наши ответы
• Продаем только готовое
• Подход к задаче, как к научной проблеме
• Запуск минимальных фич
• Баланс между новым и поддержкой
• Иногда откладываем
Progress -> New• Бывает, что фича слишком много съела время
• Stop loss!
• Через 3 месяца будут новые инструменты
• Или новый человек
• Надо уметь откладывать
ПО и сервис• Сервис решает проблему
• Софт работает так, как запрогали
• Софт один на всех, сервис каждому свой
• Стараемся делать то, что годится всем
• Убираем то, что смущает
Тестовый сервис
• Нереально воспроизвести нагрузку на стенде
• Для отладки нужен странный сервис
• Надежнее всего иметь пиратский сервис на тесты
• Но опасно организационно
Continuous ready
• Каждый коммит в мастер — рабочий пакет
• Ежедневно по 8-10 скачек новых сборок
• Фичи opt-in, потом opt-out, потом включаются
Обеспечение качества
• Софт vs сервис
• Сложности тестирования highload
• Continuous install
• Юнит-тесты — нет
Обеспечение качества
• Софт vs сервис
• Сложности тестирования highload
• Continuous install
• Юнит-тесты — нет, интеграционные — да
Тесты• Интеграционные тесты рулят
• Замещают ручного тестировщика
• Обязательны регрессионные тесты
• Внешне протокольные, хаотичные
• Есть 6-летние тесты
Резюме• Инертный b2b рынок
• Сложные непрогнозируемые задачи
• Отделяем себя истеричный рост клиентов
• Аккуратно пишем и хорошо тестируем
• Спим по ночам и отдыхаем по выходным