Upload
pcamprussia
View
187
Download
0
Embed Size (px)
Citation preview
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 1
Жизненный цикл разработки крупного продукта несколькими командамиАлександр Атцик
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 2
О компании
Телеком оператор.
Разработка распределена по странам и командам.
Кто в US, а кто в RU-СПб.
Как они взаимодействуют
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 3
Продукт
• Распределённая телеком система на базе IP-телефонии.
• Поделена на части пользовательской аудитории• Продублирована в нескольких локациях• Продукт состоит из взаимосвязанных компонент,
взаимозависимость которых пытаемся уменьшать.• Телефонная система• Сервисный сайт• Сайт администрирования• Эксплуатационные процессы
• Точки присутствия бизнеса US, Canada and UK
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 4
2 противоречащих цели
• Свободное независимое творчество для разработчиков
• Соблюдение сложных процессов обновления постоянно работающей системы с доступностью 99,999
• Самостоятельное принятие технических решений• Соблюдение стабильности системы и безопасное её
развитие
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 5
Agile и Релизное планирование
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 6
Как совместить команды и релизы
• Зачем PM знать о процессе разработки• Как он вовлечён в процесс• Как процесс влияет на продукт
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 7
Cycle is pretty simple
Project 1
MergeRegression & Performance OPS Stage
deployment Production roll-out
Project 2
Project N
...
Development
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 8
How it looks for Project team
Project 1
MergeRegression & Performance
OPS Stage deployment
Production roll-out
Bug fixMerge to trunk Support Resolve incidentsDevelopment
1.Roadmap2.Definition of release scope3.Project planning 4.Development/QA5.Requirements to LAB· Requirements for
OPS
8.Project Pre-RNM9.Stabilization trunk· 11.Release
candidate1
13.Deployment on ODS-UP17,22. 2 regression cycles18,26. Regression load tests19.Final Release candidate23.Test installation on QA-UP
25.Pre-requisites deployment27.RNM28.Stage Deployment31.UAT
30. Deployment to POD9 32.Signups to POD9· Euro-POP· PODx33.Signups to PODx· Migrate users
POD9 to PODx34.Rest PRO roll-out
Stabilization
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 9
Start
• Как появляется роадмэп• Технический специалист в US • Архитектурный совет• Сайнофф проекта
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 10
Подготовительные этапы
• Разворачивание environment (LAB)• Подготовка к эксплуатации OPS
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 11
Разработка
• Взаимосвязи компонент• Agile events• Роль руководителя проекта – согласование ресурсов • Product Manager, Project Manager и Product owner• Возможность отката и переключения
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 12
Merge
• Тут получаем единый продукт (требования к merge)
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 13
Регрессия
• Передача тестов в команду регрессии• Взаимодействие PM команд для поиска Root Cause
возникших проблем
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 14
Stage
• Демонстрация PM • User acceptance testing
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 15
Production
• Поэтапное включение• Откат изменений
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 16
Зачем это понимать.
• Координация создания зависимых компонент• Временная оценка• Понимание когда заработает фича• Совмещение agile с релизным планированием