Работа с системой управления версиями при Agile разработке Малышкин Фёдор (fedor.malyshkin@magnetosoft.ru)fedor.malyshkin@magnetosoft.ru 25 апреля 2008.

Презентация:



Advertisements
Похожие презентации
Организация репозитория Subversion при работе с несколькими проектами Загурский Сергей
Advertisements

Возможности и операции, проводимые программным обеспечением StarBoard Software. Семинар-практикум ч.2.
FBD В cреде CoDeSys Язык FBD Язык FBD (Functional Block Diagram, Диаграмма Функциональных Блоков) является языком графического программирования,
Покажи мне свои папки … Евгения Фирсова Яндекс. Деньги.
Устройства хранения информации Кэш - память Основная память Магнитный (жесткий) диск Регистры Оптические носителиМагнитные носители.
LOGO Управление версиями ПО Работу выполнил Студент группы Брюсов Роман.
Система управления версиями Subversion (SVN) По материалам электронной книги Управление версиями в Subversion Иртегов Д.В,
Постановка процесса тестирования в Agile Виталий Стрелюк. Intetics.
Microsoft ® Office SharePoint ® Server 2007 Учебный курс Библиотеки документов SharePoint III. Работа с журналом версий.
EXtreme Programming XP Тема 4. XP Тест – это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода. Тесты должны быть.
Волгоградский Государственный Технический Университет Менеджер проекта: Мамонтов Д.П. Архитектор :Сухарев К.А. Тестировщик: Гончарова И.В.
И ТЕСТИРОВАНИЯ ПРОЕКТА C ДЛИННЫМ ЖИЗНЕННЫМ ЦИКЛОМ ОРГАНИЗАЦИЯ РАЗРАБОТКИ Григорий UMI.CMS.
Модели транзакций Параллельное выполнение транзакций.
Инструментальные средства визуальной коммуникации и прикладной дизайн Лекция 4.
Интеграция Java и Ruby/Python Igor Artamonov | |
Два уравнения f (x)= g (x) и f (x)= g (x) называются равносильными, если множества их корней совпадают. Уравнения f (x)= g (x) называется следствием уравнения.
Минимум, необходимый современному образованному человеку.
VDas.livejournal.com © 2009 presents. Ну, во-первых, не будем заморачиваться умными словами «новые тэги html5» и прочими Во-вторых, рассмотрим пару самых.
Защищенность и отказоустойчивость ОС Повторение модуля, основные понятия и вопросы для повторения.
Настройка прав доступа к файлам и папкам Windows.
Транксрипт:

Работа с системой управления версиями при Agile разработке Малышкин Фёдор 25 апреля 2008

Страница 2 Использование SCM История использования SCM (Software Configuration Management), в нашей фирме, имеет очень глубокие корни, но очень простые принципы: сохраняйся и обновляйся чаще. В большинстве случаев оно используется как: Хранилище исходных текстов и ресурсов программ Средство обмена исходными текстами (синхронизации работы)

Страница 3 Проблемы «Нерабочие» версии проекта в репозитарии («Я тут поломал, поэтому показать не могу…») Конфликты при «коммите»

Страница 4 Цели презентации Отказоустойчивость Конфликты в коде могут быть обнаружены как можно раньше Исправление маленьких проблем (возможно чаще), чем больших (возможно реже) Всегда рабочее состояние Даже после большой неудачной работы в репозитарии есть рабочая копия чего-то Простота Все члены команды используют одну и ту же схему изо дня в день, как следствие все процедуры ясны и понятны

Страница 5 Диаграмма

Страница 6 Проблемы применения схемы Несколько задач реализуются в ветке параллельно. Другая команда также производит публикацию в trunk. Ожидание пока параллельная задача будет закончена или пока другая группа применит Ваши изменения, не может рассматриваться как решение. Это будет подобно снежному кому – поэтому необходимо выработать некоторые правила.

Страница 7 Несколько задач реализуются в ветке параллельно. Варианты. Не делать задач параллельно в рамках одно группы. Пытаться фокусироваться на одной задаче. Если кто-то собирается начать параллельную работу – подождать пока предыдущая задача будет опубликована. Либо создать новую ветку для неё (если нравится жонглировать ветками). Если кто-то начинает параллельную работу и она требует изменения существующего кода – начинайте с создания нового кода (новые классы, новые методы, новые тесты), но без модификаций существующего кода. Как только первая работа будет опубликована – можно начинать изменять код.

Страница 8 Правила Кто бы не трогал trunk – он ответственен за работоспособность основной ветви. Включая весь предыдущий функционал! Синхронизируйте вашу ветвь с основной периодически ( = как можно чаще)

Страница 9 Другая команда также производит публикацию в trunk. Правила. Синхронизируйте вашу ветвь с основной ежедневно (как минимум). Сразу разрешайте проблемы на вашей рабочей ветви. Объединяйте Вашу рабочую ветвь с основной на периодической основе. Например по окончании задачи (разумеется нерабочий или «ломающий» код выкладывать нельзя). Не ждите окончания спринта. Тот кто первый объединил – выиграл. В случае возникновения конфликтов при слиянии – он их исправлять уже не будет. Будет тот, кто производил слияние последним.

Страница 10 Диаграмма

Страница 11 Дополнительные возможности Ветви версий с различным функционалом Неизменяемы версии (tags ветка)

Страница 12 Ресурсы «Управление версиями в Subversion» - отличная книга по svn (есть в электронном виде, на русском)