Работа с системой управления версиями при Agile разработке презентация

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

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

2008

Слайд 2Использование SCM
История использования SCM (Software Configuration Management) , в нашей фирме,

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

Слайд 3Проблемы
«Нерабочие» версии проекта в репозитарии («Я тут поломал, поэтому показать не

могу…»)
Конфликты при «коммите»


Слайд 4Цели презентации
Отказоустойчивость
Конфликты в коде могут быть обнаружены как можно раньше
Исправление маленьких

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

Слайд 5Диаграмма


Слайд 6Проблемы применения схемы
Несколько задач реализуются в ветке параллельно.
Другая команда также производит

публикацию в trunk.


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

Слайд 7Несколько задач реализуются в ветке параллельно. Варианты.
Не делать задач параллельно в

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


Слайд 8Правила
Кто бы не трогал trunk – он ответственен за работоспособность основной

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

Слайд 9Другая команда также производит публикацию в trunk. Правила.
Синхронизируйте вашу ветвь с

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

Слайд 10Диаграмма


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


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

электронном виде, на русском)

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика