Слайд 2Манифест
Мы пытаемся:
Радовать пользователей – запусками крупных проектов на фоне стабильного потока мелких
![Манифест Мы пытаемся: Радовать пользователей – запусками крупных проектов на фоне стабильного](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-1.jpg)
улучшений;
Выполнять требуемое заказчиками – делать то, что просят, и тогда, когда просят.
Мы стараемся:
трезво оценивать свои возможности;
не давать ложных обещаний;
работать наиболее оптимальным и удобным нам способом.
Слайд 3Входящий поток – количественные оценки
Пример: 46 релизов / 177 задач за квартал
![Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-2.jpg)
– много?
+ проекты
+ «мелочи»
– багофикс
сколько успеваем за 91 день?
Слайд 4Входящий поток – количественные оценки
Пример: 46 релизов / 177 задач за квартал
![Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-3.jpg)
– много?
+ проекты
+ «мелочи»
– багофикс
сколько успеваем за 65 дней?
Слайд 5Входящий поток – количественные оценки
Пример: 46 релизов / 177 задач за квартал
![Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-4.jpg)
– много?
+ проекты
+ «мелочи»
– багофикс
сколько успеваем за 36 дней?
Слайд 6Изменения во входящем потоке
Изменения требований:
фиксируем;
оцениваем сложность и примерные трудозатраты
«может, на второй этап?»
Изменения
![Изменения во входящем потоке Изменения требований: фиксируем; оцениваем сложность и примерные трудозатраты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-5.jpg)
внешних приоритетов:
фиксируем;
информируем о конфликтующих задачах, каскадно меняем внутренние приоритеты;
информируем о возможных нарушениях в нормальном процессе выкладок.
Слайд 8Требования к людям
Тимлид:
держит в голове (почти) весь код;
помнит про все текущие задачи,
![Требования к людям Тимлид: держит в голове (почти) весь код; помнит про](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-7.jpg)
сравнивает их с планами на будущее;
мгновенно начинает реагировать на изменяющуюся ситуацию.
Разработчик:
умеет быстро переключаться между задачами;
понимает чужой код;
не стесняется задавать вопросы и просить о помощи.
Слайд 9Входящий поток – качественные оценки
Первичная оценка каждой задачи:
полнота постановки (неполная ≠ не
![Входящий поток – качественные оценки Первичная оценка каждой задачи: полнота постановки (неполная](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-8.jpg)
берём);
непротиворечивость с другими задачами;
приоритет по сравнению с имеющимися/ожидаемыми задачами;
deadline’ы;
наличие (оптимального) ресурса разработки;
зависимость от других команд/компонент;
возможность и тип необходимого тестирования;
наличие «окна» для выкладки;
варианты реализации;
примерные трудозатраты.
Слайд 10Входящий поток – качественные оценки
Первичная «неофициальная» оценка каждой задачи:
вероятность отмены задачи;
вероятность значительного
![Входящий поток – качественные оценки Первичная «неофициальная» оценка каждой задачи: вероятность отмены](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-9.jpg)
изменения требований;
внутренняя потребность в результате;
зависимости от текущего/планируемого рефакторинга;
вероятность ошибки в реализации/тестировании;
допустимость отката выкладки.
Слайд 11Пакеты и релизы
Параллельные разработка и тестирование – «пакеты задач».
Последовательное обновление production –
![Пакеты и релизы Параллельные разработка и тестирование – «пакеты задач». Последовательное обновление](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-10.jpg)
релиз.
Кодирование в названии:
код «пакета»
ответ на вопрос «что?»
номер релиза
ответ на вопрос «когда?»
Слайд 14Узкие места
Потенциально проблемные моменты:
логические ошибки при актуализации веток;
повторное ручное тестирование;
долгий рефакторинг;
«реанимация» веток.
![Узкие места Потенциально проблемные моменты: логические ошибки при актуализации веток; повторное ручное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-13.jpg)
Слайд 15Базовые принципы
Условия работы конвейера:
не «мариновать» собранные пакеты;
при планировании компенсировать неравномерность выходного потока
![Базовые принципы Условия работы конвейера: не «мариновать» собранные пакеты; при планировании компенсировать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-14.jpg)
(календаря выкладок) ;
оставлять время на исправление ошибок;
знать о ещё непоставленных задачах;
соотносить свой темп с командой тестеров.
Слайд 16Когда начинать заканчивать разработку
Откладываем начало работ, если:
пакет не может сразу уйти в
![Когда начинать заканчивать разработку Откладываем начало работ, если: пакет не может сразу](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-15.jpg)
тестирование;
после выкладки другого релиза заведомо предстоит переделка;
параллельно идёт долгий рефакторинг;
выгоднее тестировать вместе с задачами, постановка которых ещё не готова;
известно, что разработку придётся прервать ради других задач.
Не откладываем:
хотфиксы;
«дешёвые» мелочи по упрощённой схеме тестирования.
Слайд 17Взаимодействие с тестерами
Помогаем друг другу:
постоянно держим тестеров в курсе наших планов;
совместно оцениваем
![Взаимодействие с тестерами Помогаем друг другу: постоянно держим тестеров в курсе наших](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-16.jpg)
длительность тестирования:
знаем, когда текущий пакет будет готов к выкладке;
знаем, сколько времени надо отводить на тестирование аналогичного пакета;
знаем среднее время проведения автотестов;
«виртуально» планируем ресурсы тестеров:
знаем о специализации каждого тестера;
знаем примерную скорость работы каждого тестера.
Слайд 18Взаимодействие с эксплуатацией
Помогаем друг другу:
по возможности заранее сообщаем о планируемых релизах;
планируем совместные
![Взаимодействие с эксплуатацией Помогаем друг другу: по возможности заранее сообщаем о планируемых](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-17.jpg)
действия на случай экстренных релизов;
интересуемся планами и загруженностью админов.
Слайд 20Пытаемся планировать
В рамках квартала – считаем будущие задачи по головам;
В рамках месяца:
гарантируем
![Пытаемся планировать В рамках квартала – считаем будущие задачи по головам; В](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396219/slide-19.jpg)
работу над задачей (до момента каскадной смены приоритетов);
совместно с тестерами расписываем опорные точки поэтапного тестирования (считая, что баги правятся без задержки тестирования).
В рамках недели:
«выкладываем завтра».