Как мы организуем работу
нескольких команд над
одним проектом
Alex Chistyakov, CTO @ ClearTech
Угадайте, чем мы занимаемся?
2
Угадайте, чем мы занимаемся?
- Разработка
- Управление разработкой
3
3 teams 1 project
- Backend разработчики
- Frontend разработчики
- Operations team на стороне заказчика
4
Почему так вышло?
- Этой традиции почти 10 лет
5
Почему так вышло?
- Этой традиции почти 10 лет
- Кроме идиотских причин и последствий есть и польза
6
Польза
- Управлять двумя разработчиками легче, чем пятью
7
Польза
- Управлять двумя разработчиками легче, чем пятью
- Ими вообще не надо управлять
8
Польза
- Управлять двумя разработчиками легче, чем пятью
- Ими вообще не надо управлять
- Автоматизация интерфейсов между командами
9
Слава роботам!
- JIRA (для работы необходим кожаный мешок)
10
Слава роботам!
- JIRA (для работы необходим кожаный мешок)
- Gitlab у нас
11
Слава роботам!
- JIRA (для работы необходим кожаный мешок)
- Gitlab у нас
- Gitlab у заказчика
12
Слава роботам!
- JIRA (для работы необходим кожаный мешок)
- Gitlab у нас
- Gitlab у заказчика
- CI (про это позже, самый клевый робот)
13
Взаимодействие с ops team
- Вся инфраструктура - это код
14
Взаимодействие с ops team
- Вся инфраструктура - это код
- Если у вас не так же - с вами что-то не так
15
Взаимодействие с ops team
- Вся инфраструктура - это код
- Если у вас не так же - с вами что-то не так
- Если у вас не Ansible - с вами тоже что-то не так
16
А поэтому
- Весь Jenkins тоже заскриптован
- Его конфигурация описана в репозитории
- Jenkins jobs описаны в репозитории
- Используются pipeline и Jenkinsfiles
17
Слава роботам!
- Синхронизация репозиториев у нас и у заказчика - это
Jenkins job
18
Слава роботам!
- Синхронизация репозиториев у нас и у заказчика - это
Jenkins job
- У нас были проблемы с синхронизацией стендов из-за
недостаточной автоматизации
19
Убить всех человеков!
- Синхронизация двух JIRA - это вдумчивый процесс,
которым постоянно занимается PM
20
Убить всех человеков!
- Синхронизация двух JIRA - это вдумчивый процесс,
которым постоянно занимается PM
- У нас не бывает никаких daily standup meetings, раз в
две недели ездим в офис заказчика
21
Убить всех человеков!
- Синхронизация двух JIRA - это вдумчивый процесс,
которым постоянно занимается PM
- У нас не бывает никаких daily standup meetings, раз в
две недели ездим в офис заказчика
- Общие созвоны - зло
22
Как устроен процесс?
- PM читает и понимает текущие версии бизнес-задач
23
Как устроен процесс?
- PM читает и понимает текущие версии бизнес-задач
- Декомпозирует задачи и переносит их в нашу JIRA
24
Как устроен процесс?
- PM читает и понимает текущие версии бизнес-задач
- Декомпозирует задачи и переносит их в нашу JIRA
- Раскидывает задачи на команды
25
Как устроен процесс?
- PM читает и понимает текущие версии бизнес-задач
- Декомпозирует задачи и переносит их в нашу JIRA
- Раскидывает задачи на команды
- Формирует задачи в JIRA заказчика для ops team
26
Как устроен процесс?
- PM читает и понимает текущие версии бизнес-задач
- Декомпозирует задачи и переносит их в нашу JIRA
- Раскидывает задачи на команды
- Формирует задачи в JIRA заказчика для ops team
- Все бегают и пишут код
27
Как устроен процесс?
- PM читает и понимает текущие версии бизнес-задач
- Декомпозирует задачи и переносит их в нашу JIRA
- Раскидывает задачи на команды
- Формирует задачи в JIRA заказчика для ops team
- Все бегают и пишут код
- Робот собирает билды и ставит версии на стенды
28
В чем наша фишка?
- Мы не можем взять людей в штат
29
В чем наша фишка?
- Мы не можем взять людей в штат
- Вы не можете взять людей в штат
30
В чем наша фишка?
- Мы не можем взять людей в штат
- Вы не можете взять людей в штат
- Мы не берем людей в штат
31
В чем наша фишка?
- Мы не можем взять людей в штат
- Вы не можете взять людей в штат
- Мы не берем людей в штат
- Найм только по рекомендации
32
В чем наша фишка?
- Мы не можем взять людей в штат
- Вы не можете взять людей в штат
- Мы не берем людей в штат
- Найм только по рекомендации
- Fail fast!
33
Коммуникации
- Фронтенд - бэкенд: swagger (слава роботам!)
34
Коммуникации
- Фронтенд - бэкенд: swagger (слава роботам!)
- Ops team: репозиторий, skype и очные митинги
35
Коммуникации
- Фронтенд - бэкенд: swagger (слава роботам!)
- Ops team: репозиторий, skype и очные митинги
- Все вместе: JIRA, Confluence, чат в skype
36
Ошибки молодости
- Технический долг (неизбежность?)
37
Ошибки молодости
- Технический долг (неизбежность?)
- Попытки перестановки задач на другого исполнителя
заканчиваются провалом - Брукс был прав во всем!
38
Результаты
- 8-10 месячный проект за примерно 5 месяцев
39
Результаты
- 8-10 месячный проект за примерно 5 месяцев
- Мы действуем систематически и не успокоимся
никогда
40
Ваши вопросы?
- alexclear@gmail.com
- Skype, Telegram:
@demeliorator
- У меня есть канал в
Telegram:
- @lhommequipleure
- http://cleartech.io
41
У меня есть ответы!
Спасибо!
42

More Related Content

PDF
Python, Django и корпоративные информационные системы
PDF
PPT
Как самостоятельно менять процессы / Денис Кочергин (Ярмарка Мастеров)
PPTX
Илья Климов "О драконах ни слова"
PDF
[Realtime board] Culture as a Product by Anya Dvornikova
PDF
Teamwork foundation at Miro
PPTX
Remote Distributed Management. Julia Bialetska
PDF
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Python, Django и корпоративные информационные системы
Как самостоятельно менять процессы / Денис Кочергин (Ярмарка Мастеров)
Илья Климов "О драконах ни слова"
[Realtime board] Culture as a Product by Anya Dvornikova
Teamwork foundation at Miro
Remote Distributed Management. Julia Bialetska
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?

What's hot (18)

PPTX
Как сделать команде приятное - Михаил Карпов (Яндекс)
PPTX
Как мы делаем Banki.ru
PDF
My talk at SPb SQA sub-meetup of ITGM
PPTX
Переключатель: в какой момент инженер начинает думать как менеджер?
PPTX
SECON'2014 - Алексей Кошкидько - Межконтинентальный опыт внедрения Agile
PDF
Екатерина Войденко "Горизонтальное масштабирование MySQL"
PPTX
О фреймворках Backend conf 2016
PDF
Дизайн и проектирование: жесткая методика работы с рисками
PPTX
Теория Agile, практика Scrum простым языком с кейсами
PPTX
Проблемы и решения работы с контентом. Content preparing truobles and soltions
PPTX
Всему своё время Highload Junior 2016
PDF
От заката до рассвета | Максим Безуглый | Zlit Tech
PPTX
Business games for Agile Requirements
PPTX
Квантовые скачки длинной в два года: как переключиться в режим менеджера?
PDF
О фреймворках / Роман Ивлиев (Банки.ру)
PPTX
Agile Days 2011, Юферев - впоискахгибкогоразработчика
PDF
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
PPTX
SCRUM: Как полететь в космос за полтора часа
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как мы делаем Banki.ru
My talk at SPb SQA sub-meetup of ITGM
Переключатель: в какой момент инженер начинает думать как менеджер?
SECON'2014 - Алексей Кошкидько - Межконтинентальный опыт внедрения Agile
Екатерина Войденко "Горизонтальное масштабирование MySQL"
О фреймворках Backend conf 2016
Дизайн и проектирование: жесткая методика работы с рисками
Теория Agile, практика Scrum простым языком с кейсами
Проблемы и решения работы с контентом. Content preparing truobles and soltions
Всему своё время Highload Junior 2016
От заката до рассвета | Максим Безуглый | Zlit Tech
Business games for Agile Requirements
Квантовые скачки длинной в два года: как переключиться в режим менеджера?
О фреймворках / Роман Ивлиев (Банки.ру)
Agile Days 2011, Юферев - впоискахгибкогоразработчика
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
SCRUM: Как полететь в космос за полтора часа
Ad

Similar to On scaling teams (20)

PPTX
11боровиков. 2016 копия
PPTX
DaKiRy_PMWeekend2016_Андрій Мандріка "Робота з вимогами в умовах Agile трансф...
PPTX
Work with requirements in terms of Agile transformation
PDF
Киев. Как внедрить SCRUM без трупов и остаться довольным
PPTX
Работа с требованиями в условиях Agile трансформации
PDF
работа в крупной компании на примере Banki.ru
PPTX
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
PDF
Денис Чистяков: Workflow. Работа над проектом в Яндексе
PDF
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
PDF
Клуб Большого мозга - DevOps Evening
PDF
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
PDF
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
PDF
Юлия Викторова; Александр Тарасов. DevOps без булшита.
PPTX
Мастер-класс про организацию службы эксплуатации
PDF
Разработка веб-сервисов осень 2013 лекция 9
PDF
Workflow: работа над проектом в Яндексе
ODP
DevOps в реальном времени
PPTX
Формирование технической команды на старте
PDF
Agile days `16 summary
PPTX
Developmentmanage3.0
11боровиков. 2016 копия
DaKiRy_PMWeekend2016_Андрій Мандріка "Робота з вимогами в умовах Agile трансф...
Work with requirements in terms of Agile transformation
Киев. Как внедрить SCRUM без трупов и остаться довольным
Работа с требованиями в условиях Agile трансформации
работа в крупной компании на примере Banki.ru
50 команд как одна команда. Как в компании Петер-Сервис боролись за согласова...
Денис Чистяков: Workflow. Работа над проектом в Яндексе
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
Клуб Большого мозга - DevOps Evening
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Мастер-класс про организацию службы эксплуатации
Разработка веб-сервисов осень 2013 лекция 9
Workflow: работа над проектом в Яндексе
DevOps в реальном времени
Формирование технической команды на старте
Agile days `16 summary
Developmentmanage3.0
Ad

More from Alex Chistyakov (20)

PDF
My slides from DevOpsDays 2019
PDF
My slides from BMM №3 May 2019
PDF
My slides from DevOps-40 meetup Jun 2019
PDF
My slides from SECR'2018
PDF
My slides from the first SPb SRE community meetup at DataArt
PDF
My slides from CC'2019
PDF
My slides from BMM №4 Nov 2019
PDF
My slides from DevOps-40 meetup Oct 2019
PDF
My slides from DevOps-40 meetup Dec 2019
PDF
Configuration management and Kubernetes
PDF
Ansible and other stuff
PDF
Python performance engineering in 2017
PDF
My talk at SECR 2017
PDF
MariaDB workshop
PDF
Docker for JS people
PDF
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
PDF
My talk on GitHub open data at ITGM #10
PDF
My talk on DevOps :) at Stachka 2017
PDF
My talk on programming languages at SPbLUG Mar 2017
PDF
My talk at DevParty 2017
My slides from DevOpsDays 2019
My slides from BMM №3 May 2019
My slides from DevOps-40 meetup Jun 2019
My slides from SECR'2018
My slides from the first SPb SRE community meetup at DataArt
My slides from CC'2019
My slides from BMM №4 Nov 2019
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Dec 2019
Configuration management and Kubernetes
Ansible and other stuff
Python performance engineering in 2017
My talk at SECR 2017
MariaDB workshop
Docker for JS people
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on GitHub open data at ITGM #10
My talk on DevOps :) at Stachka 2017
My talk on programming languages at SPbLUG Mar 2017
My talk at DevParty 2017

On scaling teams

  • 1. Как мы организуем работу нескольких команд над одним проектом Alex Chistyakov, CTO @ ClearTech
  • 2. Угадайте, чем мы занимаемся? 2
  • 3. Угадайте, чем мы занимаемся? - Разработка - Управление разработкой 3
  • 4. 3 teams 1 project - Backend разработчики - Frontend разработчики - Operations team на стороне заказчика 4
  • 5. Почему так вышло? - Этой традиции почти 10 лет 5
  • 6. Почему так вышло? - Этой традиции почти 10 лет - Кроме идиотских причин и последствий есть и польза 6
  • 7. Польза - Управлять двумя разработчиками легче, чем пятью 7
  • 8. Польза - Управлять двумя разработчиками легче, чем пятью - Ими вообще не надо управлять 8
  • 9. Польза - Управлять двумя разработчиками легче, чем пятью - Ими вообще не надо управлять - Автоматизация интерфейсов между командами 9
  • 10. Слава роботам! - JIRA (для работы необходим кожаный мешок) 10
  • 11. Слава роботам! - JIRA (для работы необходим кожаный мешок) - Gitlab у нас 11
  • 12. Слава роботам! - JIRA (для работы необходим кожаный мешок) - Gitlab у нас - Gitlab у заказчика 12
  • 13. Слава роботам! - JIRA (для работы необходим кожаный мешок) - Gitlab у нас - Gitlab у заказчика - CI (про это позже, самый клевый робот) 13
  • 14. Взаимодействие с ops team - Вся инфраструктура - это код 14
  • 15. Взаимодействие с ops team - Вся инфраструктура - это код - Если у вас не так же - с вами что-то не так 15
  • 16. Взаимодействие с ops team - Вся инфраструктура - это код - Если у вас не так же - с вами что-то не так - Если у вас не Ansible - с вами тоже что-то не так 16
  • 17. А поэтому - Весь Jenkins тоже заскриптован - Его конфигурация описана в репозитории - Jenkins jobs описаны в репозитории - Используются pipeline и Jenkinsfiles 17
  • 18. Слава роботам! - Синхронизация репозиториев у нас и у заказчика - это Jenkins job 18
  • 19. Слава роботам! - Синхронизация репозиториев у нас и у заказчика - это Jenkins job - У нас были проблемы с синхронизацией стендов из-за недостаточной автоматизации 19
  • 20. Убить всех человеков! - Синхронизация двух JIRA - это вдумчивый процесс, которым постоянно занимается PM 20
  • 21. Убить всех человеков! - Синхронизация двух JIRA - это вдумчивый процесс, которым постоянно занимается PM - У нас не бывает никаких daily standup meetings, раз в две недели ездим в офис заказчика 21
  • 22. Убить всех человеков! - Синхронизация двух JIRA - это вдумчивый процесс, которым постоянно занимается PM - У нас не бывает никаких daily standup meetings, раз в две недели ездим в офис заказчика - Общие созвоны - зло 22
  • 23. Как устроен процесс? - PM читает и понимает текущие версии бизнес-задач 23
  • 24. Как устроен процесс? - PM читает и понимает текущие версии бизнес-задач - Декомпозирует задачи и переносит их в нашу JIRA 24
  • 25. Как устроен процесс? - PM читает и понимает текущие версии бизнес-задач - Декомпозирует задачи и переносит их в нашу JIRA - Раскидывает задачи на команды 25
  • 26. Как устроен процесс? - PM читает и понимает текущие версии бизнес-задач - Декомпозирует задачи и переносит их в нашу JIRA - Раскидывает задачи на команды - Формирует задачи в JIRA заказчика для ops team 26
  • 27. Как устроен процесс? - PM читает и понимает текущие версии бизнес-задач - Декомпозирует задачи и переносит их в нашу JIRA - Раскидывает задачи на команды - Формирует задачи в JIRA заказчика для ops team - Все бегают и пишут код 27
  • 28. Как устроен процесс? - PM читает и понимает текущие версии бизнес-задач - Декомпозирует задачи и переносит их в нашу JIRA - Раскидывает задачи на команды - Формирует задачи в JIRA заказчика для ops team - Все бегают и пишут код - Робот собирает билды и ставит версии на стенды 28
  • 29. В чем наша фишка? - Мы не можем взять людей в штат 29
  • 30. В чем наша фишка? - Мы не можем взять людей в штат - Вы не можете взять людей в штат 30
  • 31. В чем наша фишка? - Мы не можем взять людей в штат - Вы не можете взять людей в штат - Мы не берем людей в штат 31
  • 32. В чем наша фишка? - Мы не можем взять людей в штат - Вы не можете взять людей в штат - Мы не берем людей в штат - Найм только по рекомендации 32
  • 33. В чем наша фишка? - Мы не можем взять людей в штат - Вы не можете взять людей в штат - Мы не берем людей в штат - Найм только по рекомендации - Fail fast! 33
  • 34. Коммуникации - Фронтенд - бэкенд: swagger (слава роботам!) 34
  • 35. Коммуникации - Фронтенд - бэкенд: swagger (слава роботам!) - Ops team: репозиторий, skype и очные митинги 35
  • 36. Коммуникации - Фронтенд - бэкенд: swagger (слава роботам!) - Ops team: репозиторий, skype и очные митинги - Все вместе: JIRA, Confluence, чат в skype 36
  • 37. Ошибки молодости - Технический долг (неизбежность?) 37
  • 38. Ошибки молодости - Технический долг (неизбежность?) - Попытки перестановки задач на другого исполнителя заканчиваются провалом - Брукс был прав во всем! 38
  • 39. Результаты - 8-10 месячный проект за примерно 5 месяцев 39
  • 40. Результаты - 8-10 месячный проект за примерно 5 месяцев - Мы действуем систематически и не успокоимся никогда 40
  • 41. Ваши вопросы? - alexclear@gmail.com - Skype, Telegram: @demeliorator - У меня есть канал в Telegram: - @lhommequipleure - http://cleartech.io 41 У меня есть ответы!