• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Доклад по SCM для VLDC2, Юрий Удовиченко
 

Доклад по SCM для VLDC2, Юрий Удовиченко

on

  • 6,491 views

Пожар в бардаке во время наводнения, или Распределённая групповая разработка. ...

Пожар в бардаке во время наводнения, или Распределённая групповая разработка.
Доклад Юрия Удовиченко, Rhonda Software, для Vladivostok Developers Conference. https://wmspanel.com/nimble

Statistics

Views

Total Views
6,491
Views on SlideShare
1,355
Embed Views
5,136

Actions

Likes
0
Downloads
5
Comments
0

33 Embeds 5,136

http://scm-notes.blogspot.ru 3152
http://scm-notes.blogspot.com 1732
http://scm-notes.blogspot.de 94
http://scm-notes.blogspot.ca 34
http://scm-notes.blogspot.co.il 25
http://scm-notes.blogspot.it 10
http://scm-notes.blogspot.co.at 8
http://scm-notes.blogspot.co.uk 8
http://scm-notes.blogspot.fr 7
http://scm-notes.blogspot.kr 7
http://scm-notes.blogspot.cz 6
http://scm-notes.blogspot.se 6
http://scm-notes.blogspot.com.es 5
http://bazqux.com 5
http://scm-notes.blogspot.nl 4
http://scm-notes.blogspot.com.ar 3
http://scm-notes.blogspot.in 3
http://scm-notes.blogspot.com.au 3
http://www.newsblur.com 3
http://www.scm-notes.blogspot.de 2
http://scm-notes.blogspot.hu 2
http://scm-notes.blogspot.com.br 2
http://prlog.ru 2
http://scm-notes.blogspot.no 2
http://www.inoreader.com 2
http://scm-notes.blogspot.jp 2
http://translate.googleusercontent.com 1
http://www.feedspot.com 1
http://localhost 1
http://scm-notes.blogspot.co.nz 1
http://scm-notes.blogspot.fi 1
http://scm-notes.blogspot.tw 1
http://feedly.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Доклад по SCM для VLDC2, Юрий Удовиченко Доклад по SCM для VLDC2, Юрий Удовиченко Presentation Transcript

    • Пожар в бардаке во время наводненияРаспределённая групповая разработкаЮрий Удовиченко пианист, Rhonda Software
    • О ком речь?Ронда это:● Firmware & embedded systems● Computer vision● Custom development● 100+ инженеров16 лет на рынке — живее всех живых!
    • Специфика крупныхраспределённых проектов● Сложные системы (часто, но не всегда)● Несколько групп разной численности● Непростая система подчинения
    • А ещё● Большие расстояния● Разные часовые пояса● Разные языки и культурыХорошее развитие продукта в такихусловиях — высший пилотаж и тот ещёchallenge
    • Нет ничего более постоянного, чем изменения (с) Кто-то древний
    • Software Configuration ManagementВ первую очередь:● Change control● Source code management (version control)● Build engineering
    • А также● Release engineering● Environment configuration● Deployment
    • Контроль изменений● Что сделать и зачем?● Кто просит?● Чья ответственность?
    • ● Уже сделано?● А если проверю?● И что получилось?● А куда всё делось?
    • Not Invented Here● bug trackers● issue trackers● defect trackers● task managers● help desks● service desks● project management systemsИмя им - легион! Только в Вики - 52названия.
    • Что нужно от инструмента?● Внесение запросов на изменение● Назначение ответственного● Отслеживание принятия решений● Отслеживание жизненного цикла задачи
    • ● Сохранение истории и поиск● Приобщение артефактов (доки, email)● Привязка к контролю версийПригодится:● Ведение документации (Wiki)● Логирование времени
    • Велопарк из практики Ронды● JIRA● Redmine● Assembla● github● Trac● eTraxis● WSD DDTS● ClearDDTS● Excel (!)
    • Контроль версийОсновные задачи:● Хранение истории рабочих продуктов● Обеспечение параллельности разработки● Стабилизация результатов
    • Наш автопарк● Perforce● ClearCase● Subversion● git● CVS
    • Основные практики (1/3)Ветвление vs. главная ветка● branch-per-task vs. trunk● feature branchesИнтеграционные веткиМетки● Описание стабильных конфигураций● Манипуляция конфигурациями
    • Основные практики (2/3)Релизные ветки● СтабилизацияВетки проектов или заказчиков● Стабилизация и исправление● Внесение специфичных измененийPropagation● Перенос изменений между ветками
    • Основные практики (3/3)Роль интегратора, т.е. СМ-инженераРазграничение доступа● Предоставление только части кода● Контроль доступа внутри репозитория● Выставление наружу срезов
    • Управление сборкойНе всегда получается собирать кодлокально● Специфичный софт● Требования по ресурсам● Прогон автоматических тестов
    • Что используемQuickBuild● гибкая настройка● интеграция с системами автотестов● публикация в PerforceHudson/Jenkins
    • Стабилизация результатовОпределяется baseline, стабильнаяконфигурация — интеграцией или"заморозкой"Отстройка — локально и/или через билд-серверТестирование
    • Доставка релизаПредоставление релиза заказчикам● release notes● release area● нотификацииРазвёртывание в среде заказчика
    • Инструменты и процессыИнь и янь: одно без другого не работает.Как выбрать подходящие?● Определяется конечный результат● Описывается процесс исходя из имеющегося инструментария● При необходимости инструмент меняется под задачу
    • Менять процесс?● Иногда это нужно - кессонная болезнь, илиболезнь роста● Надо учитывать стоимость изменений(иногда дешевле оставить как есть)
    • Идеал vs. реальный мир
    • Работает — не трогай! Ломать — не строить.
    • Коммуникация● Email, IM, Conference Calls - как обычноНо этого не достаточно● Внедрение в инфраструктуру заказчика - VPN, AD● Свои люди на сайтах● Командировки● Наладить обмен hardware
    • Дружба народов!"Маленькие" отличия:● Язык● Менталитет● Праздники, выходные, военные сборы
    • http://scm-notes.blogspot.com/
    • }Вопросы ?