16
©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 1 Жизненный цикл разработки крупного продукта несколькими командами Александр Атцик

Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

Embed Size (px)

Citation preview

Page 1: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 1

Жизненный цикл разработки крупного продукта несколькими командамиАлександр Атцик

Page 2: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 2

О компании

Телеком оператор.

Разработка распределена по странам и командам.

Кто в US, а кто в RU-СПб.

Как они взаимодействуют

Page 3: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 3

Продукт

• Распределённая телеком система на базе IP-телефонии.

• Поделена на части пользовательской аудитории• Продублирована в нескольких локациях• Продукт состоит из взаимосвязанных компонент,

взаимозависимость которых пытаемся уменьшать.• Телефонная система• Сервисный сайт• Сайт администрирования• Эксплуатационные процессы

• Точки присутствия бизнеса US, Canada and UK

Page 4: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 4

2 противоречащих цели

• Свободное независимое творчество для разработчиков

• Соблюдение сложных процессов обновления постоянно работающей системы с доступностью 99,999

• Самостоятельное принятие технических решений• Соблюдение стабильности системы и безопасное её

развитие

Page 5: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 5

Agile и Релизное планирование

Page 6: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 6

Как совместить команды и релизы

• Зачем PM знать о процессе разработки• Как он вовлечён в процесс• Как процесс влияет на продукт

Page 7: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©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

Page 8: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©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

Page 9: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 9

Start

• Как появляется роадмэп• Технический специалист в US • Архитектурный совет• Сайнофф проекта

Page 10: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 10

Подготовительные этапы

• Разворачивание environment (LAB)• Подготовка к эксплуатации OPS

Page 11: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 11

Разработка

• Взаимосвязи компонент• Agile events• Роль руководителя проекта – согласование ресурсов • Product Manager, Project Manager и Product owner• Возможность отката и переключения

Page 12: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 12

Merge

• Тут получаем единый продукт (требования к merge)

Page 13: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 13

Регрессия

• Передача тестов в команду регрессии• Взаимодействие PM команд для поиска Root Cause

возникших проблем

Page 14: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 14

Stage

• Демонстрация PM • User acceptance testing

Page 15: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 15

Production

• Поэтапное включение• Откат изменений

Page 16: Жизненный цикл разработки крупного продукта несколькими командами (Александр Атцик, Dins)

©2012 RingCentral, Inc. All rights reserved. RingCentral Confidential 16

Зачем это понимать.

• Координация создания зависимых компонент• Временная оценка• Понимание когда заработает фича• Совмещение agile с релизным планированием