Организация многопоточной разработки в условиях конкуренции задач Евгения Фирсова
ЧТО ДЕЛАЕМ?
Цикл жизни задачи определение приоритетов разработка тестирование выкладка в production фиксация результатов фиксация постановки
Типы задач 0. Не задача вовсе 1.Мелкая фича 2.Баг 3.Баг-блокер 4.Заказ 5.Проект
Приоритеты и потоки Критерии: Полновесность Планы (сроки, релизы) Потенциальная (бес)проблемность Оптимальность и своевременность Наличие ресурсов Технологические ограничения
Фиксация процессов Jira + – тип задачи – заказчик – взаимосвязь задач – сроки (релизы) Wiki + – постановки – договорённости – планирование
Фиксация процессов мелкая фича; багпроект; заказ фиксация постановки задача – в jira набор задач – в jira постановки – в wiki концептуальная техническая определение приоритетов указание релиза – в jira корректировка общих планов – в wiki разработка фиксация выполненных этапов в jira тестирование перевод задач в jira на тестера выкладка в production закрытие задач – в jira фиксация результатов отчёт – в wiki информирование заказчика
КАК ДЕЛАЕМ?
Разделение хостов Несколько хостов для разработки. Несколько отдельных хостов для тестирования.
Система контроля версий CVS/SVN можно использовать: для контроля версий; для организации процесса выкладки изменений в production.
CVS Процесс выкладки в production разработка production trunk коммит скрипт
КАК ДЕЛАЕМ УДОБНО?
Ситуации Разработка группы задач. Организация хотфиксов.
CVS: 0 ветвей - разработка разработка по задаче-1 разработка по задаче-2 разработка по задаче-N рабочая папка CVS trunk CVS trunk-new ожидание CVS production коммит скрипт новый тег
CVS: 0 ветвей - хотфикс CVS trunk-new checkout временная папка CVS trunk-new production коммит скрипт разработка рабочая папка перенос изменений новый тег CVS trunk-new-hot
CVS: 3 ветви - разработка разработка по задаче-1 разработка по задаче-2 разработка по задаче-N папка dev CVS dev коммит CVS trunk коммит production скрипт новый тег CVS trunk-new CVS hot перенос изменений
CVS: 3 ветви - хотфикс CVS hot checkout папка hot CVS hot production коммит скрипт разработка перенос изменений новый тег CVS trunk CVS dev CVS trunk-hot перенос изменений
CVS: много ветвей - разработка CVS releaseN production коммит скрипт перенос изменений новый тег CVS trunk CVS dev CVS trunk-new CVS releaseM CVS release1 перенос изменений разработка по задаче-1 разработка по задаче-2 разработка по задаче-N папка releaseN CVS hot перенос изменений
CVS: много ветвей - хотфикс CVS hot checkout папка hot CVS hot production коммит скрипт разработка перенос изменений новый тег CVS trunk CVS dev CVS trunk-hot перенос изменений CVS releaseN CVS release1 перенос изменений
ЧТО ДАЛЬШЕ?
Возможности Выкладка изменений в production – из произвольной ветви. Пакетная выкладка изменений в production.
Евгения Фирсова