Techleads Meetup #1
Мобильный веб: назад в будущее"
Виталий Шароватов, Mobile Web Team Lead и Руслан Байрамкулов, Senior Mobile Web QA Engineer (Badoo)
Описание:
Количество пользователей мобильных устройств уже давно превысило количество пользователей стационарных компьютеров и ноутбуков. В свою очередь мобильный веб — это самая быстрорастущая мобильная платформа (по данным comScore, 2015). И если будущее не за этой платформой, то как минимум, она будет его заметной частью.
Давным-давно для Мобильного веба в Badoo были «тёмные времена». Использовались дизайны нативных платформ и эмитировалось их поведение. Даже релизы случались раз в неделю-две. Около года назад ситуация начала меняться в лучшую сторону. Мобильная веб версия Badoo догнала по количеству фич остальные платформы и показала существенный рост по всем показателям. Теперь мобильный веб релизится каждый день.
В докладе мы расскажем о том, что неправильного происходит с процессами внутри и снаружи команды. Для примера возьмем как собственные грабли, так и чужие, но такие распространённые ошибки организации работы.
О том, что не помогло, рассказывать не будем, а о том, что сработало, ничего не утаим. Эта информация поможет вам работать в удовольствие. В ассортименте истории о том:
— как один автоматизатор всю регрессию покрыл;
— как подружились продакты-дизайнеры с командой разработки;
— как жадные программисты забрали себе всю ответственность;
— пуркуа QA любит сидеть с девелоперами плечом к плечу;
— зачем нужно не спускать глаз с багов, ломающих автоматизацию, и как заканчивать фичу после того, как закончили фичу.
15. Нет баланса и гармонии
Проблемы:
✦ тестировщик болеет душой за качество!
✦ девелопер решает, что проще пофиксить, чем спорить
✦ сроки сдвигаются за дедлайн
16. Нет баланса и гармонии
Делаем:
✦ релизим, когда готово 80%
✦ остальные 3% делаем в другой задаче
✦ не применяем правило бездумно
✦ все фичи равны, но некоторые всё-таки равнее
18. Низкое качество тикетов
Делаем:
✦ линтеры, юнит тесты
✦ на разработчике - позитивное тестирование и проверка
автотестов
✦ не тратим зря время, убираем глупые переоткрытия
✦ повышаем ответственность разработчиков
20. Командная ответственность =
ничья ответственность
Проблемы:
✦ неточная оценка
✦ нечеткое понимание прогресса разработчика
✦ не видно проблем — как улучшать?
✦ недостаточная мотивация разработчика пушить
21. Командная ответственность =
ничья ответственность
Делаем:
✦ личная ответственность за оценку
✦ у каждой задержки должно быть объяснение
✦ ретроспективы провалов
✦ большая прозрачность
22. Оценка времени разработки
Проблемы:
Разработчик оценивал только время написания самого кода
✦ кто выясняет все зависимости / блокеры, проясняет все
неочевидные моменты?
✦ за сроки отвечает кто угодно, но не разработчик
✦ трудно отслеживать узкие места в процессах/
коммуникациях
23. Оценка времени разработки
Делаем:
✦ разработчик даёт срок релиза
✦ разработчик налаживает общение
✦ улучшает навык оценки
✦ разработчик ближе всего к “узким местам”
24. Незапланированные траты времени
Проблемы:
✦ как выкатиться в срок, если в фиче чинится ещё и десяток
несвязанных багов?
✦ какая история в гите, если рефакторинг?
✦ какие сроки, “идет рефакторинг” или “очень важный”
эксперимент
✦ много велосипедов хуже, чем один
25. Незапланированные траты времени
Делаем:
✦ рефакторинг — максимально прагматичен. Статистика
плохих мест, рефакторинг отдельными тикетами
✦ баги и фичи — отдельно
✦ работа в рамках задачи. Техплан изменений, ревью
техплана
27. Растущий беклог
Делаем:
✦ починка багов после деплоя фичи
✦ фильтруем общий поток на backlog grooming с PM’ом + QA
✦ багфиксер недели
✦ контролируемый прогресс
28. Все же слишком их много
Проблемы:
✦ стоп разработки для починки багов?
✦ время на переключение контекста между “разными”
задачами
✦ наследие предков?
29. Все же слишком их много
Делаем:
✦ компоненты — разработчикам
✦ внутри компонента работать быстрее
✦ инициатива разработчика
✦ работа по компоненту между продуктовыми задачами
✦ давно висит — нужен ли?
30. Различное толкование спеки
Проблемы:
✦ с нашим темпом спеки никогда не будут “вылизаны” до
последней запятой
✦ удивительные для PM’ов результаты на проде
✦ трата времени и нервов на переделки
31. Различное толкование спеки
Делаем:
✦ acceptance criteria в спеках
✦ перед стартом — pre-kickoff investigation, kickoff с PM +
дизайнером, инициатива у разработчика
✦ после разработки — VQA c PM + дизайнером
32. Не знаю будущих задач
Проблемы:
✦ планирование рефакторингов без знания будущего
✦ вовлечённость в “большое” дело со стратегическим
видением всегда лучше
33. Не знаю будущих задач
Делаем:
✦ прозрачность — месячные/квартальные роадмапы от PM’ов
✦ еженедельная встреча с командой
✦ технические решения (костылим или делаем круто)
принимаем на основании планов
34. Что я делаю?
Проблемы:
✦ разработчик “теряется” в конвейере
✦ финансовая мотивация может даже ухудшить ситуацию
35. Что я делаю?
Делаем:
✦ еженедельные демо фичей авторами перед PM’ами/
дизайнерами/командой
✦ еженедельный отчёт PM’а о статистике
38. Все молодцы
• Разработчики чаще всего рациональны, и если видят
доказанную эффективность какого-то инструмента,
принимают его без особых проблем.
• Рецепты сработали у нас, возможно, помогут и вам