SlideShare a Scribd company logo
1 of 21
Планирование веб-релизовв условияхмногопоточности задачсо скачущими приоритетами  Евгения Фирсова, Яндекс.Деньги
Манифест Мы пытаемся: Радовать пользователей – запусками крупных проектов на фоне стабильного потока мелких улучшений; Выполнять требуемое заказчиками – делать то, что просят, и тогда, когда просят.  Мы стараемся: трезво оценивать свои возможности; не давать ложных обещаний; работать наиболее оптимальным и удобным нам способом.
Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за квартал – много? + проекты + «мелочи» – багофикс сколько успеваем за 91 день?
Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за квартал – много? + проекты + «мелочи» – багофикс сколько успеваем за 65 дней?
Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за квартал – много? + проекты + «мелочи» – багофикс сколько успеваем за 36 дней?
Изменения во входящем потоке Изменения требований: фиксируем; оцениваем сложность и примерные трудозатраты «может, на второй этап?» Изменения внешних приоритетов: фиксируем; информируем о конфликтующих задачах, каскадно меняем внутренние приоритеты; информируем о возможных нарушениях в нормальном процессе выкладок.
Как это работает
Требования к людям Тимлид: держит в голове (почти) весь код; помнит про все текущие задачи, сравнивает их с планами на будущее; мгновенно начинает реагировать на изменяющуюся ситуацию. Разработчик: умеет быстро переключаться между задачами; понимает чужой код; не стесняется задавать вопросы и просить о помощи.
Входящий поток – качественные оценки Первичная оценка каждой задачи: полнота постановки (неполная ≠ не берём); непротиворечивость с другими задачами; приоритет по сравнению с имеющимися/ожидаемыми задачами; deadline’ы; наличие (оптимального) ресурса разработки; зависимость от других команд/компонент; возможность и тип необходимого тестирования; наличие «окна» для выкладки; варианты реализации; примерные трудозатраты.
Входящий поток – качественные оценки Первичная «неофициальная» оценка каждой задачи: вероятность отмены задачи; вероятность значительного изменения требований; внутренняя потребность в результате; зависимости от текущего/планируемого рефакторинга; вероятность ошибки в реализации/тестировании; допустимость отката выкладки.
Пакеты и релизы Параллельные разработка и тестирование – «пакеты задач». Последовательное обновление production – релиз. Кодирование в названии: код «пакета» ответ на вопрос «что?» номер релиза ответ на вопрос «когда?»
Разработка – пакеты в CVS
Разработка – пакеты в CVS
Узкие места Потенциально проблемные моменты: логические ошибки при актуализации веток; повторное ручное тестирование; долгий рефакторинг; «реанимация» веток.
Базовые принципы Условия работы конвейера: не «мариновать» собранные пакеты; при планировании компенсировать неравномерность выходного потока (календаря выкладок) ; оставлять время на исправление ошибок; знать о ещё непоставленных задачах; соотносить свой темп с командой тестеров.
Когда начинать заканчивать разработку Откладываем начало работ, если: пакет не может сразу уйти в тестирование; после выкладки другого релиза заведомо предстоит переделка; параллельно идёт долгий рефакторинг; выгоднее тестировать вместе с задачами, постановка которых ещё не готова; известно, что разработку придётся прервать ради других задач. Не откладываем: хотфиксы; «дешёвые» мелочи по упрощённой схеме тестирования.
Взаимодействие с тестерами Помогаем друг другу: постоянно держим тестеров в курсе наших планов; совместно оцениваем длительность тестирования: знаем, когда текущий пакет будет готов к выкладке; знаем, сколько времени надо отводить на тестирование аналогичного пакета; знаем среднее время проведения автотестов; «виртуально» планируем ресурсы тестеров: знаем о специализации каждого тестера; знаем примерную скорость работы каждого тестера.
Взаимодействие с эксплуатацией Помогаем друг другу: по возможности заранее сообщаем о планируемых релизах; планируем совместные действия на случай экстренных релизов; интересуемся планами и загруженностью админов.
Результаты
Пытаемся планировать В рамках квартала – считаем будущие задачи по головам; В рамках месяца: гарантируем работу над задачей (до момента каскадной смены приоритетов); совместно с тестерами расписываем опорные точки поэтапного тестирования (считая, что баги правятся без задержки тестирования). В рамках недели: «выкладываем завтра».
Критерии оценки Время подготовки релиза: от 5 минут; Минимальный временной диапазон между двумя последовательными релизами: 10 минут; Оценки входящей задачи: от 5 минут до трёх часов.

More Related Content

What's hot

Software process framework
Software process frameworkSoftware process framework
Software process frameworkachempion
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеVasiliy Burov
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?SQALab
 
Наталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-командеНаталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-командеSQALab
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформаSQALab
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторитьCEE-SEC(R)
 
Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыCEE-SEC(R)
 
Менеджмент WordPress проектів або як вибрати потрібний шлях
Менеджмент WordPress проектів або як вибрати потрібний шляхМенеджмент WordPress проектів або як вибрати потрібний шлях
Менеджмент WordPress проектів або як вибрати потрібний шляхShtrih Sruleg
 
Management of projects
Management of projectsManagement of projects
Management of projectsMageCloud
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииAndrey Rebrov
 
Я.Москвина "Переход от хаоса к планированию в веб-разработке"
Я.Москвина "Переход от хаоса к планированию в веб-разработке"Я.Москвина "Переход от хаоса к планированию в веб-разработке"
Я.Москвина "Переход от хаоса к планированию в веб-разработке"PCampRussia
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...CEE-SEC(R)
 

What's hot (18)

Software process framework
Software process frameworkSoftware process framework
Software process framework
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?
 
Наталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-командеНаталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-команде
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
 
Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-команды
 
Менеджмент WordPress проектів або як вибрати потрібний шлях
Менеджмент WordPress проектів або як вибрати потрібний шляхМенеджмент WordPress проектів або як вибрати потрібний шлях
Менеджмент WordPress проектів або як вибрати потрібний шлях
 
Management of projects
Management of projectsManagement of projects
Management of projects
 
Agile
AgileAgile
Agile
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюции
 
Я.Москвина "Переход от хаоса к планированию в веб-разработке"
Я.Москвина "Переход от хаоса к планированию в веб-разработке"Я.Москвина "Переход от хаоса к планированию в веб-разработке"
Я.Москвина "Переход от хаоса к планированию в веб-разработке"
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 
Kanbanize
KanbanizeKanbanize
Kanbanize
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
 

Viewers also liked

Whale Rider 2009 управление разработкой продукта
Whale Rider 2009 управление разработкой продуктаWhale Rider 2009 управление разработкой продукта
Whale Rider 2009 управление разработкой продуктаWRider
 
ტაო–კლარჯეთის საოცრება
ტაო–კლარჯეთის საოცრებატაო–კლარჯეთის საოცრება
ტაო–კლარჯეთის საოცრებაanzori
 
Psykologiens vitenskaplige forankring
Psykologiens vitenskaplige forankringPsykologiens vitenskaplige forankring
Psykologiens vitenskaplige forankringtrusle
 
United We Stand 15 Jan 2011
United We Stand   15 Jan 2011United We Stand   15 Jan 2011
United We Stand 15 Jan 2011niranjang
 
Colin Powell On Leadership
Colin Powell On LeadershipColin Powell On Leadership
Colin Powell On Leadershipniranjang
 
Nossik Whalerider
Nossik WhaleriderNossik Whalerider
Nossik WhaleriderWRider
 
Whale Rider 20091116 Emin Aliev
Whale Rider 20091116   Emin AlievWhale Rider 20091116   Emin Aliev
Whale Rider 20091116 Emin AlievWRider
 
Mahatma Gandhi
Mahatma GandhiMahatma Gandhi
Mahatma Gandhiniranjang
 
Urazbaev.Wr
Urazbaev.WrUrazbaev.Wr
Urazbaev.WrWRider
 

Viewers also liked (15)

Whale Rider 2009 управление разработкой продукта
Whale Rider 2009 управление разработкой продуктаWhale Rider 2009 управление разработкой продукта
Whale Rider 2009 управление разработкой продукта
 
ტაო–კლარჯეთის საოცრება
ტაო–კლარჯეთის საოცრებატაო–კლარჯეთის საოცრება
ტაო–კლარჯეთის საოცრება
 
Psykologiens vitenskaplige forankring
Psykologiens vitenskaplige forankringPsykologiens vitenskaplige forankring
Psykologiens vitenskaplige forankring
 
United We Stand 15 Jan 2011
United We Stand   15 Jan 2011United We Stand   15 Jan 2011
United We Stand 15 Jan 2011
 
Mentoring
MentoringMentoring
Mentoring
 
Colin Powell On Leadership
Colin Powell On LeadershipColin Powell On Leadership
Colin Powell On Leadership
 
Nossik Whalerider
Nossik WhaleriderNossik Whalerider
Nossik Whalerider
 
Nilesaren Hft
Nilesaren HftNilesaren Hft
Nilesaren Hft
 
Whale Rider 20091116 Emin Aliev
Whale Rider 20091116   Emin AlievWhale Rider 20091116   Emin Aliev
Whale Rider 20091116 Emin Aliev
 
Mahatma Gandhi
Mahatma GandhiMahatma Gandhi
Mahatma Gandhi
 
Aviskurs 2010
Aviskurs 2010Aviskurs 2010
Aviskurs 2010
 
Hi b samf f sept 2011
Hi b samf f sept 2011Hi b samf f sept 2011
Hi b samf f sept 2011
 
Nileseren
NileserenNileseren
Nileseren
 
Aviskurs 2010
Aviskurs 2010Aviskurs 2010
Aviskurs 2010
 
Urazbaev.Wr
Urazbaev.WrUrazbaev.Wr
Urazbaev.Wr
 

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

Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS HugeScrumTrek
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.ScrumTrek
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Ontico
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Евгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестированиеЕвгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестированиеsqadays8
 
григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...
григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...
григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...New Business Idea
 
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...Валерий Павлович Сысик
 
Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)
Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)
Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)PCampRussia
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки поJaneKozmina
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
 
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0AlexeyParhomenko
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестированияGleb Rybalko
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
евгения б фирсова смена Web платформы на лету
евгения б  фирсова смена Web платформы  на летуевгения б  фирсова смена Web платформы  на лету
евгения б фирсова смена Web платформы на летуrit2010
 
евгения фирсова смена Web платформы на лету
евгения фирсова смена Web платформы  на летуевгения фирсова смена Web платформы  на лету
евгения фирсова смена Web платформы на летуrit2010
 
Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...
Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...
Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...Artem Letyushev
 

Similar to планирование веб релизов в условиях многопоточности задач со скачущими приоритетами (20)

Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS Huge
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Евгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестированиеЕвгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестирование
 
григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...
григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...
григорьев андрей, юмисофт, основные ошибки ведения It проектов - от документа...
 
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
 
Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)
Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)
Как мы выкатываем большие изменения на прод (Дмитрий Петрашев, Wrike)
 
AUG-1
AUG-1AUG-1
AUG-1
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки по
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
 
Kanban vs scrum_v3
Kanban vs scrum_v3Kanban vs scrum_v3
Kanban vs scrum_v3
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестирования
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
евгения б фирсова смена Web платформы на лету
евгения б  фирсова смена Web платформы  на летуевгения б  фирсова смена Web платформы  на лету
евгения б фирсова смена Web платформы на лету
 
евгения фирсова смена Web платформы на лету
евгения фирсова смена Web платформы  на летуевгения фирсова смена Web платформы  на лету
евгения фирсова смена Web платформы на лету
 
Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...
Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...
Использование практик Канбан-метода для улучшения предсказуемости сроков и ра...
 

More from WRider

система управления проектом (Qsoft)
система управления проектом (Qsoft)система управления проектом (Qsoft)
система управления проектом (Qsoft)WRider
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакинWRider
 
заставки
заставкизаставки
заставкиWRider
 
Whale Rider устраняем шумы в коммуникациях
Whale Rider   устраняем шумы в коммуникацияхWhale Rider   устраняем шумы в коммуникациях
Whale Rider устраняем шумы в коммуникацияхWRider
 
Whale Rider.Ya Money.Project.Tools
Whale Rider.Ya Money.Project.ToolsWhale Rider.Ya Money.Project.Tools
Whale Rider.Ya Money.Project.ToolsWRider
 
Satin Usability Working Place
Satin Usability Working PlaceSatin Usability Working Place
Satin Usability Working PlaceWRider
 

More from WRider (6)

система управления проектом (Qsoft)
система управления проектом (Qsoft)система управления проектом (Qsoft)
система управления проектом (Qsoft)
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакин
 
заставки
заставкизаставки
заставки
 
Whale Rider устраняем шумы в коммуникациях
Whale Rider   устраняем шумы в коммуникацияхWhale Rider   устраняем шумы в коммуникациях
Whale Rider устраняем шумы в коммуникациях
 
Whale Rider.Ya Money.Project.Tools
Whale Rider.Ya Money.Project.ToolsWhale Rider.Ya Money.Project.Tools
Whale Rider.Ya Money.Project.Tools
 
Satin Usability Working Place
Satin Usability Working PlaceSatin Usability Working Place
Satin Usability Working Place
 

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

  • 1. Планирование веб-релизовв условияхмногопоточности задачсо скачущими приоритетами Евгения Фирсова, Яндекс.Деньги
  • 2. Манифест Мы пытаемся: Радовать пользователей – запусками крупных проектов на фоне стабильного потока мелких улучшений; Выполнять требуемое заказчиками – делать то, что просят, и тогда, когда просят. Мы стараемся: трезво оценивать свои возможности; не давать ложных обещаний; работать наиболее оптимальным и удобным нам способом.
  • 3. Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за квартал – много? + проекты + «мелочи» – багофикс сколько успеваем за 91 день?
  • 4. Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за квартал – много? + проекты + «мелочи» – багофикс сколько успеваем за 65 дней?
  • 5. Входящий поток – количественные оценки Пример: 46 релизов / 177 задач за квартал – много? + проекты + «мелочи» – багофикс сколько успеваем за 36 дней?
  • 6. Изменения во входящем потоке Изменения требований: фиксируем; оцениваем сложность и примерные трудозатраты «может, на второй этап?» Изменения внешних приоритетов: фиксируем; информируем о конфликтующих задачах, каскадно меняем внутренние приоритеты; информируем о возможных нарушениях в нормальном процессе выкладок.
  • 8. Требования к людям Тимлид: держит в голове (почти) весь код; помнит про все текущие задачи, сравнивает их с планами на будущее; мгновенно начинает реагировать на изменяющуюся ситуацию. Разработчик: умеет быстро переключаться между задачами; понимает чужой код; не стесняется задавать вопросы и просить о помощи.
  • 9. Входящий поток – качественные оценки Первичная оценка каждой задачи: полнота постановки (неполная ≠ не берём); непротиворечивость с другими задачами; приоритет по сравнению с имеющимися/ожидаемыми задачами; deadline’ы; наличие (оптимального) ресурса разработки; зависимость от других команд/компонент; возможность и тип необходимого тестирования; наличие «окна» для выкладки; варианты реализации; примерные трудозатраты.
  • 10. Входящий поток – качественные оценки Первичная «неофициальная» оценка каждой задачи: вероятность отмены задачи; вероятность значительного изменения требований; внутренняя потребность в результате; зависимости от текущего/планируемого рефакторинга; вероятность ошибки в реализации/тестировании; допустимость отката выкладки.
  • 11. Пакеты и релизы Параллельные разработка и тестирование – «пакеты задач». Последовательное обновление production – релиз. Кодирование в названии: код «пакета» ответ на вопрос «что?» номер релиза ответ на вопрос «когда?»
  • 14. Узкие места Потенциально проблемные моменты: логические ошибки при актуализации веток; повторное ручное тестирование; долгий рефакторинг; «реанимация» веток.
  • 15. Базовые принципы Условия работы конвейера: не «мариновать» собранные пакеты; при планировании компенсировать неравномерность выходного потока (календаря выкладок) ; оставлять время на исправление ошибок; знать о ещё непоставленных задачах; соотносить свой темп с командой тестеров.
  • 16. Когда начинать заканчивать разработку Откладываем начало работ, если: пакет не может сразу уйти в тестирование; после выкладки другого релиза заведомо предстоит переделка; параллельно идёт долгий рефакторинг; выгоднее тестировать вместе с задачами, постановка которых ещё не готова; известно, что разработку придётся прервать ради других задач. Не откладываем: хотфиксы; «дешёвые» мелочи по упрощённой схеме тестирования.
  • 17. Взаимодействие с тестерами Помогаем друг другу: постоянно держим тестеров в курсе наших планов; совместно оцениваем длительность тестирования: знаем, когда текущий пакет будет готов к выкладке; знаем, сколько времени надо отводить на тестирование аналогичного пакета; знаем среднее время проведения автотестов; «виртуально» планируем ресурсы тестеров: знаем о специализации каждого тестера; знаем примерную скорость работы каждого тестера.
  • 18. Взаимодействие с эксплуатацией Помогаем друг другу: по возможности заранее сообщаем о планируемых релизах; планируем совместные действия на случай экстренных релизов; интересуемся планами и загруженностью админов.
  • 20. Пытаемся планировать В рамках квартала – считаем будущие задачи по головам; В рамках месяца: гарантируем работу над задачей (до момента каскадной смены приоритетов); совместно с тестерами расписываем опорные точки поэтапного тестирования (считая, что баги правятся без задержки тестирования). В рамках недели: «выкладываем завтра».
  • 21. Критерии оценки Время подготовки релиза: от 5 минут; Минимальный временной диапазон между двумя последовательными релизами: 10 минут; Оценки входящей задачи: от 5 минут до трёх часов.