SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Выбираем стратегию
ветвления
ЕВГЕНИЙ ГАВРИЛЕНКО
Ноябрь 12, 2016
НОЯБРЬ 12, 2016
В современном мире все меняется очень быстро. Слишком быстро.
И требования заказчика в том числе. Гибкие методологии разработки
позволяют адаптироваться к быстро меняющимся требованиям. Но как
сохранить стабильность приложения в данных условиях, как оставить
заказчика удовлетворенным и при этом сберечь психическое здоровье
разработчиков? Этот доклад о том, как быстро двигаться вперед без
опаски оступиться.
3
• Реализовать новый функционал, не мешая остальным.
• Отвлечься от реализации функционала и починить баг в другом
месте.
• Вовсе отложить начатый функционал до лучших времен.
• Поэкспериментировать с кодом без страха сломать билд.
Зачем нужны бранчи
4
• Реализовать новый функционал, не мешая остальным.
• Отвлечься от реализации функционала и починить баг в другом
месте.
• Вовсе отложить начатый функционал до лучших времен.
• Поэкспериментировать с кодом без страха сломать билд.
Зачем нужны бранчи
5
• Получить запрос на доработку старой версии программы от
заказчика и поддерживать далее несколько версий ПО.
Зачем нужны бранчи
6
• Получить запрос на доработку старой версии программы от
заказчика и поддерживать далее несколько версий ПО.
Зачем нужны бранчи
7
• Организовать процесс поэтапного выпуска программы (разработка
- тестирование - релиз), не блокируя разработку следующей
версии.
Зачем нужны бранчи
8
• Организовать процесс поэтапного выпуска программы (разработка
- тестирование - релиз), не блокируя разработку следующей
версии.
Зачем нужны бранчи
9
• Проводить модерацию (кодревью) нового кода перед
непосредственным добавлением в кодовую базу.
• Организовать работу с open source сообществом или
подрядчиком.
Зачем нужны бранчи
10
• Проводить модерацию (кодревью) нового кода перед
непосредственным добавлением в кодовую базу.
• Организовать работу с open source сообществом или
подрядчиком.
Зачем нужны бранчи
11
1. Без ветвлений
2. Ответвление для релиза
3. Ответвления для поддержки
4. Ответвления для задач
Наиболее распространенные сценарии
12
Без ветвлений
master
Tag1.5 Tag2.0
13
Без ветвлений
master
Tag1.5 Tag2.0
Плюсы:
+ Простота
Минусы:
- Нестабильный код в master
- Непредсказуемые даты новых релизов
- Сложности поддержки
- И т.д.
14
Ответвление для релиза
master
15
release
Ответвление для релиза
master
16
release
Ответвление для релиза
master
17
Ответвления для поддержки
release1
master
18
Ответвления для поддержки
release1
master
19
Ответвления для поддержки
release1
master
release2
20
Ответвления для поддержки
release1
master
release2
hotfix
21
Sample
22
Ответвления для задач
master
feature1
23
Ответвления для задач
master
feature1
feature2
24
Ответвления для задач
master
feature1
feature2
25
Ответвления для задач
master
feature1
feature2
26
Стратегия ветвления
Это процесс
Хранить в вики
Утверждаю
27
1. Наличие релизов
2. Необходимость поддержки старых релизов
3. Используемая система контроля версий
4. Продолжительность спринтов
5. И т.д.
От чего оттолкнуться
28
TUESDAY WEDNESDAY THURSDAY FRIDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY MONDAY
USER
STORIES
BREAKDOWN
TEST CASES COMPOSING
DEVELOPMENT & BUG FIXING
TESTING REGRESSION TESTING
FEATURE
FREEZE
CODE
FREEZE
CRITICAL BUG FIXING
GROOMING DEMO PLANNING
Стадии спринта
29
“Git Flow”
master
develop
30
“Git Flow”
master
develop
feature1
feature2
31
“Git Flow”
master
develop
feature1
feature2
32
“Git Flow”
master
develop
feature1
feature2
hotfix
33
“Git Flow”
master
develop
feature1
feature2
hotfix
release
34
“Git Flow”
master
develop
feature1
feature2
hotfix
release
35
“Git Flow”
master
develop
feature1
feature2
hotfix
release
36
“Git Flow”
master
develop
feature1
feature2
hotfix
release
37
“Git Flow”
master
develop
feature1
feature2
hotfix
release
38
“GitHub Flow”
master
feature1
feature2
39
А у нас так
develop
feature1
feature2
40
А у нас так
develop
feature1
feature2
release1
41
А у нас так
develop
feature1
feature2
release1
42
А у нас так
develop
feature1
feature2
release1
43
А у нас так
develop
feature1
feature2
release1
44
А у нас так
develop
feature1
feature2
release1
release2
45
Сохраняйте историю:
git merge <feature> --no-ff.
Пишите комментарии к коммитам и, если система контроля версий позволяет,
добавляйте тэги.
Используйте «хорошие» названия для ветвей.
Полезные советы
46
Вопросы
47
Полезные ссылки
• http://nvie.com/posts/a-successful-git-branching-model/
• http://scottchacon.com/2011/08/31/github-flow.html
• https://msdn.microsoft.com/en-us/library/bb668955.aspx
• https://ashamray.wordpress.com/stati_hf/microsoft_vs/visual_studio_tfs_branching_guid
e_2010/tfs_branching_guidance_2010_main/
• https://www.visualstudio.com/en-us/docs/tfvc/branch-strategically

Weitere ähnliche Inhalte

Was ist angesagt?

How I Learned to Stop Worrying and Love the Gradle (Rus)
How I Learned to Stop Worrying and Love the Gradle (Rus)How I Learned to Stop Worrying and Love the Gradle (Rus)
How I Learned to Stop Worrying and Love the Gradle (Rus)Siarhei Krukau
 
Management of projects
Management of projectsManagement of projects
Management of projectsMageCloud
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...JSC “Arcadia Inc”
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...CEE-SEC(R)
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сAlexey Lustin
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиIT61
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling eventViktoriya Pridatko
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)Smartling
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторитьCEE-SEC(R)
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Tech talk Angular 2
Tech talk Angular 2Tech talk Angular 2
Tech talk Angular 2DA-14
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...CEE-SEC(R)
 
Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Maxim Shulga
 
FitNesse+PowerSlim on Windows
FitNesse+PowerSlim on WindowsFitNesse+PowerSlim on Windows
FitNesse+PowerSlim on WindowsMaxim Shulga
 

Was ist angesagt? (20)

DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
How I Learned to Stop Worrying and Love the Gradle (Rus)
How I Learned to Stop Worrying and Love the Gradle (Rus)How I Learned to Stop Worrying and Love the Gradle (Rus)
How I Learned to Stop Worrying and Love the Gradle (Rus)
 
Management of projects
Management of projectsManagement of projects
Management of projects
 
Agile
AgileAgile
Agile
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
Как не налететь на рифы в море преимуществ Scrum: организация и оптимизация т...
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1с
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling event
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Tech talk Angular 2
Tech talk Angular 2Tech talk Angular 2
Tech talk Angular 2
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
 
Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы
 
FitNesse+PowerSlim on Windows
FitNesse+PowerSlim on WindowsFitNesse+PowerSlim on Windows
FitNesse+PowerSlim on Windows
 

Andere mochten auch

Reactивная тяга
Reactивная тягаReactивная тяга
Reactивная тягаVitebsk Miniq
 
Оптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноОптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноVitebsk DSC
 
Облачные технологии – Что? Где? Когда?
Облачные технологии – Что? Где? Когда?Облачные технологии – Что? Где? Когда?
Облачные технологии – Что? Где? Когда?Vitebsk Miniq
 
Использование продуктов gigya.com для интеграции с популярными социальными се...
Использование продуктов gigya.com для интеграции с популярными социальными се...Использование продуктов gigya.com для интеграции с популярными социальными се...
Использование продуктов gigya.com для интеграции с популярными социальными се...Vitebsk Miniq
 
Зачем нам нужен Amazon?
Зачем нам нужен Amazon?Зачем нам нужен Amazon?
Зачем нам нужен Amazon?Vitebsk Miniq
 
Amazon cloud – готовим вместе
Amazon cloud – готовим вместеAmazon cloud – готовим вместе
Amazon cloud – готовим вместеVitebsk Miniq
 
Экстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java DriverЭкстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java DriverVitebsk DSC
 
Async Gateway или Разработка системы распределенных вычислений с нуля
Async Gateway или Разработка системы распределенных вычислений с нуляAsync Gateway или Разработка системы распределенных вычислений с нуля
Async Gateway или Разработка системы распределенных вычислений с нуляVitebsk Miniq
 
Собираем будильник правильно
Собираем будильник правильноСобираем будильник правильно
Собираем будильник правильноVitebsk Miniq
 
MyBatis на практике
MyBatis на практикеMyBatis на практике
MyBatis на практикеVitebsk Miniq
 
Apache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate SearchApache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate SearchVitebsk Miniq
 
Использование Google Drive API для управления хранилищем отчетов
Использование Google Drive API для управления хранилищем отчетовИспользование Google Drive API для управления хранилищем отчетов
Использование Google Drive API для управления хранилищем отчетовVitebsk Miniq
 
Жизнь после promises
Жизнь после promisesЖизнь после promises
Жизнь после promisesVitebsk DSC
 
Строим плот - Как не утонуть в данных
Строим плот - Как не утонуть в данныхСтроим плот - Как не утонуть в данных
Строим плот - Как не утонуть в данныхVitebsk Miniq
 
Проблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решенияПроблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решенияVitebsk DSC
 
Эпохи в разработке программного обеспечения
Эпохи в разработке программного обеспеченияЭпохи в разработке программного обеспечения
Эпохи в разработке программного обеспеченияVitebsk Miniq
 
Виртуализация
ВиртуализацияВиртуализация
ВиртуализацияVitebsk Miniq
 
Blockchain: is just buzzword?
Blockchain: is just buzzword?Blockchain: is just buzzword?
Blockchain: is just buzzword?Vitebsk Miniq
 
Осторожно, не упадите! Идет работа с real-time данными
Осторожно, не упадите! Идет работа с real-time даннымиОсторожно, не упадите! Идет работа с real-time данными
Осторожно, не упадите! Идет работа с real-time даннымиVitebsk Miniq
 
Микросервисы на практике
Микросервисы на практикеМикросервисы на практике
Микросервисы на практикеVitebsk DSC
 

Andere mochten auch (20)

Reactивная тяга
Reactивная тягаReactивная тяга
Reactивная тяга
 
Оптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноОптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильно
 
Облачные технологии – Что? Где? Когда?
Облачные технологии – Что? Где? Когда?Облачные технологии – Что? Где? Когда?
Облачные технологии – Что? Где? Когда?
 
Использование продуктов gigya.com для интеграции с популярными социальными се...
Использование продуктов gigya.com для интеграции с популярными социальными се...Использование продуктов gigya.com для интеграции с популярными социальными се...
Использование продуктов gigya.com для интеграции с популярными социальными се...
 
Зачем нам нужен Amazon?
Зачем нам нужен Amazon?Зачем нам нужен Amazon?
Зачем нам нужен Amazon?
 
Amazon cloud – готовим вместе
Amazon cloud – готовим вместеAmazon cloud – готовим вместе
Amazon cloud – готовим вместе
 
Экстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java DriverЭкстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java Driver
 
Async Gateway или Разработка системы распределенных вычислений с нуля
Async Gateway или Разработка системы распределенных вычислений с нуляAsync Gateway или Разработка системы распределенных вычислений с нуля
Async Gateway или Разработка системы распределенных вычислений с нуля
 
Собираем будильник правильно
Собираем будильник правильноСобираем будильник правильно
Собираем будильник правильно
 
MyBatis на практике
MyBatis на практикеMyBatis на практике
MyBatis на практике
 
Apache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate SearchApache Lucene + Hibernate = Hibernate Search
Apache Lucene + Hibernate = Hibernate Search
 
Использование Google Drive API для управления хранилищем отчетов
Использование Google Drive API для управления хранилищем отчетовИспользование Google Drive API для управления хранилищем отчетов
Использование Google Drive API для управления хранилищем отчетов
 
Жизнь после promises
Жизнь после promisesЖизнь после promises
Жизнь после promises
 
Строим плот - Как не утонуть в данных
Строим плот - Как не утонуть в данныхСтроим плот - Как не утонуть в данных
Строим плот - Как не утонуть в данных
 
Проблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решенияПроблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решения
 
Эпохи в разработке программного обеспечения
Эпохи в разработке программного обеспеченияЭпохи в разработке программного обеспечения
Эпохи в разработке программного обеспечения
 
Виртуализация
ВиртуализацияВиртуализация
Виртуализация
 
Blockchain: is just buzzword?
Blockchain: is just buzzword?Blockchain: is just buzzword?
Blockchain: is just buzzword?
 
Осторожно, не упадите! Идет работа с real-time данными
Осторожно, не упадите! Идет работа с real-time даннымиОсторожно, не упадите! Идет работа с real-time данными
Осторожно, не упадите! Идет работа с real-time данными
 
Микросервисы на практике
Микросервисы на практикеМикросервисы на практике
Микросервисы на практике
 

Ähnlich wie Выбираем стратегию создания бранчей

Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0AlexeyParhomenko
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаRoman Dvornov
 
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019corehard_by
 
Как не подавиться большим старым проектом
Как не подавиться большим старым проектомКак не подавиться большим старым проектом
Как не подавиться большим старым проектомAndrey Karpov
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
О пользе Open Source
О пользе Open SourceО пользе Open Source
О пользе Open SourceAnton Konev
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла0leGG
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"HYS Enterprise
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontendDenis Kolesnikov
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 

Ähnlich wie Выбираем стратегию создания бранчей (20)

Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
 
Как не подавиться большим старым проектом
Как не подавиться большим старым проектомКак не подавиться большим старым проектом
Как не подавиться большим старым проектом
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
О пользе Open Source
О пользе Open SourceО пользе Open Source
О пользе Open Source
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 

Mehr von Vitebsk DSC

How to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA projectHow to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA projectVitebsk DSC
 
Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?Vitebsk DSC
 
Микросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudМикросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudVitebsk DSC
 
Тестирование больших данных
Тестирование больших данныхТестирование больших данных
Тестирование больших данныхVitebsk DSC
 
Amazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезныAmazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезныVitebsk DSC
 
Amazon Athena overview
Amazon Athena overviewAmazon Athena overview
Amazon Athena overviewVitebsk DSC
 
Typical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentationTypical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentationVitebsk DSC
 
На пути к совершенному инжинирингу
На пути к совершенному инжинирингуНа пути к совершенному инжинирингу
На пути к совершенному инжинирингуVitebsk DSC
 
Чего же ты хочешь, человек?
Чего же ты хочешь, человек?Чего же ты хочешь, человек?
Чего же ты хочешь, человек?Vitebsk DSC
 
Растем вместе с eKIDS
Растем вместе с eKIDSРастем вместе с eKIDS
Растем вместе с eKIDSVitebsk DSC
 
Технологии беспилотных автомобилей
Технологии беспилотных автомобилейТехнологии беспилотных автомобилей
Технологии беспилотных автомобилейVitebsk DSC
 
Управляем эволюцией на лету
Управляем эволюцией на летуУправляем эволюцией на лету
Управляем эволюцией на летуVitebsk DSC
 
Reactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапаReactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапаVitebsk DSC
 

Mehr von Vitebsk DSC (15)

Community-Z
Community-ZCommunity-Z
Community-Z
 
How to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA projectHow to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA project
 
Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?
 
Микросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudМикросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring Cloud
 
Тестирование больших данных
Тестирование больших данныхТестирование больших данных
Тестирование больших данных
 
Amazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезныAmazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезны
 
Amazon Athena overview
Amazon Athena overviewAmazon Athena overview
Amazon Athena overview
 
Typical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentationTypical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentation
 
Boring is Fun!
Boring is Fun!Boring is Fun!
Boring is Fun!
 
На пути к совершенному инжинирингу
На пути к совершенному инжинирингуНа пути к совершенному инжинирингу
На пути к совершенному инжинирингу
 
Чего же ты хочешь, человек?
Чего же ты хочешь, человек?Чего же ты хочешь, человек?
Чего же ты хочешь, человек?
 
Растем вместе с eKIDS
Растем вместе с eKIDSРастем вместе с eKIDS
Растем вместе с eKIDS
 
Технологии беспилотных автомобилей
Технологии беспилотных автомобилейТехнологии беспилотных автомобилей
Технологии беспилотных автомобилей
 
Управляем эволюцией на лету
Управляем эволюцией на летуУправляем эволюцией на лету
Управляем эволюцией на лету
 
Reactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапаReactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапа
 

Выбираем стратегию создания бранчей