Планирование веб-релизовв условиях многопоточности задачсо скачущими приоритетами

Содержание

Слайд 2

Манифест

Мы пытаемся:
Радовать пользователей – запусками крупных проектов на фоне стабильного потока мелких

Манифест Мы пытаемся: Радовать пользователей – запусками крупных проектов на фоне стабильного
улучшений;
Выполнять требуемое заказчиками – делать то, что просят, и тогда, когда просят.
Мы стараемся:
трезво оценивать свои возможности;
не давать ложных обещаний;
работать наиболее оптимальным и удобным нам способом.

Слайд 3

Входящий поток – количественные оценки

Пример: 46 релизов / 177 задач за квартал

Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за
– много?
+ проекты
+ «мелочи»
– багофикс
сколько успеваем за 91 день?

Слайд 4

Входящий поток – количественные оценки

Пример: 46 релизов / 177 задач за квартал

Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за
– много?
+ проекты
+ «мелочи»
– багофикс
сколько успеваем за 65 дней?

Слайд 5

Входящий поток – количественные оценки

Пример: 46 релизов / 177 задач за квартал

Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за
– много?
+ проекты
+ «мелочи»
– багофикс
сколько успеваем за 36 дней?

Слайд 6

Изменения во входящем потоке

Изменения требований:
фиксируем;
оцениваем сложность и примерные трудозатраты
«может, на второй этап?»
Изменения

Изменения во входящем потоке Изменения требований: фиксируем; оцениваем сложность и примерные трудозатраты
внешних приоритетов:
фиксируем;
информируем о конфликтующих задачах, каскадно меняем внутренние приоритеты;
информируем о возможных нарушениях в нормальном процессе выкладок.

Слайд 7

Как это работает

Как это работает

Слайд 8

Требования к людям

Тимлид:
держит в голове (почти) весь код;
помнит про все текущие задачи,

Требования к людям Тимлид: держит в голове (почти) весь код; помнит про
сравнивает их с планами на будущее;
мгновенно начинает реагировать на изменяющуюся ситуацию.
Разработчик:
умеет быстро переключаться между задачами;
понимает чужой код;
не стесняется задавать вопросы и просить о помощи.

Слайд 9

Входящий поток – качественные оценки

Первичная оценка каждой задачи:
полнота постановки (неполная ≠ не

Входящий поток – качественные оценки Первичная оценка каждой задачи: полнота постановки (неполная
берём);
непротиворечивость с другими задачами;
приоритет по сравнению с имеющимися/ожидаемыми задачами;
deadline’ы;
наличие (оптимального) ресурса разработки;
зависимость от других команд/компонент;
возможность и тип необходимого тестирования;
наличие «окна» для выкладки;
варианты реализации;
примерные трудозатраты.

Слайд 10

Входящий поток – качественные оценки

Первичная «неофициальная» оценка каждой задачи:
вероятность отмены задачи;
вероятность значительного

Входящий поток – качественные оценки Первичная «неофициальная» оценка каждой задачи: вероятность отмены
изменения требований;
внутренняя потребность в результате;
зависимости от текущего/планируемого рефакторинга;
вероятность ошибки в реализации/тестировании;
допустимость отката выкладки.

Слайд 11

Пакеты и релизы

Параллельные разработка и тестирование – «пакеты задач».
Последовательное обновление production –

Пакеты и релизы Параллельные разработка и тестирование – «пакеты задач». Последовательное обновление
релиз.
Кодирование в названии:
код «пакета»
ответ на вопрос «что?»
номер релиза
ответ на вопрос «когда?»

Слайд 12

Разработка – пакеты в CVS

Разработка – пакеты в CVS

Слайд 13

Разработка – пакеты в CVS

Разработка – пакеты в CVS

Слайд 14

Узкие места

Потенциально проблемные моменты:
логические ошибки при актуализации веток;
повторное ручное тестирование;
долгий рефакторинг;
«реанимация» веток.

Узкие места Потенциально проблемные моменты: логические ошибки при актуализации веток; повторное ручное

Слайд 15

Базовые принципы

Условия работы конвейера:
не «мариновать» собранные пакеты;
при планировании компенсировать неравномерность выходного потока

Базовые принципы Условия работы конвейера: не «мариновать» собранные пакеты; при планировании компенсировать
(календаря выкладок) ;
оставлять время на исправление ошибок;
знать о ещё непоставленных задачах;
соотносить свой темп с командой тестеров.

Слайд 16

Когда начинать заканчивать разработку

Откладываем начало работ, если:
пакет не может сразу уйти в

Когда начинать заканчивать разработку Откладываем начало работ, если: пакет не может сразу
тестирование;
после выкладки другого релиза заведомо предстоит переделка;
параллельно идёт долгий рефакторинг;
выгоднее тестировать вместе с задачами, постановка которых ещё не готова;
известно, что разработку придётся прервать ради других задач.
Не откладываем:
хотфиксы;
«дешёвые» мелочи по упрощённой схеме тестирования.

Слайд 17

Взаимодействие с тестерами

Помогаем друг другу:
постоянно держим тестеров в курсе наших планов;
совместно оцениваем

Взаимодействие с тестерами Помогаем друг другу: постоянно держим тестеров в курсе наших
длительность тестирования:
знаем, когда текущий пакет будет готов к выкладке;
знаем, сколько времени надо отводить на тестирование аналогичного пакета;
знаем среднее время проведения автотестов;
«виртуально» планируем ресурсы тестеров:
знаем о специализации каждого тестера;
знаем примерную скорость работы каждого тестера.

Слайд 18

Взаимодействие с эксплуатацией

Помогаем друг другу:
по возможности заранее сообщаем о планируемых релизах;
планируем совместные

Взаимодействие с эксплуатацией Помогаем друг другу: по возможности заранее сообщаем о планируемых
действия на случай экстренных релизов;
интересуемся планами и загруженностью админов.

Слайд 19

Результаты

Результаты

Слайд 20

Пытаемся планировать

В рамках квартала – считаем будущие задачи по головам;
В рамках месяца:
гарантируем

Пытаемся планировать В рамках квартала – считаем будущие задачи по головам; В
работу над задачей (до момента каскадной смены приоритетов);
совместно с тестерами расписываем опорные точки поэтапного тестирования (считая, что баги правятся без задержки тестирования).
В рамках недели:
«выкладываем завтра».
Имя файла: Планирование-веб-релизовв-условиях-многопоточности-задачсо-скачущими-приоритетами.pptx
Количество просмотров: 86
Количество скачиваний: 0