SlideShare a Scribd company logo
1 of 49
Download to read offline
VietnamThailandSingaporePhilippinesMalaysiaIndonesia Russia
Agile Days ’16 Summary
Структура презентации
- банковский сектор
- техническая часть
- техническая организационная часть
- организационная часть
Банковский сектор
Банковский сектор
Кто внедрял аджайл:
• Raiffeisen Bank
• Сбербанк
• Альфа Банк
Enterprise. Agile нельзя Waterfall (Сбербанк)
Иерархии и амбиции
-страх потерять место
-страх потерять свою значимость
-неприятие нового подхода
Дурной “корпоративный” тон - 150% загрузки
-резиновые спринты
-переработки
Плохой признак!
Неприятие децентрализации
-убивает мотивацию
-создает бутылочное горлышко
Применимость SAFe в фин. организации (Raiffeisen)
- внедрили Scaled-Agile Framework
- сейчас самый актуальный SAFe 4.0 стандарт
• Business Requirements Documents (BRD)
• User Story Mapping
10.5 мес -> 6 мес.
Периодичность релизов
Техническая часть
Enterprise. Agile нельзя Waterfall (Сбербанк)
• SAFe базируется поверх Scrum/XP
• Максимально тестировать все в dev-
среде (не дожидаясь test-среды)
• Github - verigreen
Digital, Agile, DevOps, микросервисы
Digital - не надо общаться с людьми, чтобы
получить услугу. Пример: carsharing, gettaxi
В схеме технологических компаний отсутствует
операционный уровень. У них нет прямого
контакта с клиентами в офисе. Пример: yandex
Технологическая компания
Цель:
сокращать time
to market
Автоматизация vs Цифровизация
vs
• проигрывает музыку
• держит аудио картотеку
• следит что слушают друзья
• предлагает новинки
Автоматизация vs Цифровизация
Новый IT
• сетевая организационная структура компании
• большое количество взаимодействия
• бешеная скорость взаимодействия
• в operations - devops - скорость изменений предельная
• в разработке - agile - скорость разработки предельная
• сетевые технологии распределенные
• железные сервера уходят, появляются облака
Архитектура
Application
Middleware
Database
Микросервисы
- самодостаточен и изолирован
- один сервис - одна agile-команда
- API
- build, release, run
- сервис становится автоматически обнаруживаемый
для других сервисов
Docker
- не система контейнеризации
- не система виртуализации
- Docker - система автоматизации поставки ПО
- Docker - замах стать целой эко-системой
Микросервисы
• Datacenter Operating System
• Service Discovery - знает, какие сервисы должны быть
запущены
• CI - собирает docker-контейнеры
• новые языки, меньше ООП, функциональные языки
Частые проблемы
• монолит пытаются перевести на continuous delivery
• трехзвёнка (app, middle, db) в цифровом проекте
• agile, devops для нецифрового бизнеса
Техническая и организационная часть
DDD (smart step group)
• Ubiquitous language
• Bounded Context
Проектирование по модели
Классический процесс:
• проектирование архитектуры начинается с
проектирования базы данных. Так, там будет табличка
заказы, товар, покупатель…
• архитектура кода - от архитектуры БД
Проектирование по модели
Путь DDD:
• спроектировать объектную модель
• Persistence Ignorance
• технические специалисты + эксперты предметной
области
• написание кода по модели
• проектирование инфраструктуры (бд, таблички)
Ubiquitous Language
• DeleteAllLines
• SetStatus(Status.Approved)
• CreateUser
• Customer.Address = new
Address();
• CancelOrder
• Approve
• EnrollCustomer
• Customer.RelocateTo(new
Address());
Bounded Context (ограниченный контекст)
one model to rule them all
маленькие под-модели
применительно к контексту
Как разделять контексты
Пример: интернет-магазин, 4 контекста:
- для покупателя
- для продажников
- для поставщика
- для бухгалтерии
1. В рамках одного проекта - 4 папки применительно к
каждому контексту
2. Разделять контексты по базам данных, по модулям
3. Разбивать контексты по сервисам
Как разделять контексты
• Важно определить главный контекст, и именно вокруг него будет
строиться предметная область (core domain)
• Физически разделять контексты
• Anti-Corruption Layer у сервисов
• Заказчик должен быть доступен
• Итеративная модель разработки
Там, где объектная модель не подходит, используем:
- events
- CQRS
- функциональное программирование
Поток поставки (DevOps)
Официант в кафе не приносит все блюда сразу!
Бережливое производство
Поток ценности:
- идея и дизайн
- разработка
- стенд
- качество (QA)
- выкладка
ценность
потери
Объявите войну
потерям!
Магическая формула
• Посадите их вместе
• дайте им полномочия и права
• пусть возьмут ответственность
Непрерывная поставка
Необходим continuous delivery!
dev -> CI process -> staging -> tests -> deploy
50% features have never been used
Надо быстро проверять свои гипотезы!
Непрерывная поставка
Post-coordination
- code review
- feature branches
Pre-coordination
- design sessions
- pair programming
- only trunk (коммитим в одну ветку)
По опросам ведущих DevOps инженеров
VCS мордочки
- github 70%
- bitbucket 20%
- gitlab 8%
CI сервера
- jenkins 56%
- TC 28%
- Travis 16%
Conf. management
- ansible 50%
- docker 26%
- bash 23%
- chef 20%
- puppet 5%
- soldstack 5%
Virtualise your infrastructure
- virtualisation
- containers
- clouds
Logs
- logstash
Платформы
- kubernetes
- heroku
- mesos
- helios
Monitoring
- zabbix
Стейджинг
инвестиции в стейджинг всегда оправданы!
кнопка “превратить staging в prod”
репетиция деплоя на staging
Release process
Blue Green Deployment:
Canary releases:
Обязательно
• Monitoring
• Log aggregation
• Alerting
Организационная часть
Топ 10 не могу (Аутсорсинговая компания)
1. Я видимо читал не ту версию ТЗ
2. А это Андрей в курсе, это он с заказчиками говорил
3. Мы решили переписать ядро на Java
4. Было много задач, не успели протестировать (Тестирование
всегда нужно!)
5. В задаче этого не сказано
6. Она была так настойчива (Заказчик, которые постоянно пушит)
7. Проще сделать самому, чем учить (Отсутствие кадрового
потенциала)
8. Завтра приемка? А Иван уже уехал домой (Проблема
приверженности, отсутствие командного духа)
9. А где можно об этом почитать?
10. Не хватило времени (Неверное планирование работ)
Топ 10 не могу (Аутсорсинговая компания)
Пути решения:
- описание бизнес-процессов
- единое информационное пространство
- автоматизация производства
- мотивация на результат
- обучение/подготовка кадров
Роль вирусов в поедании слонов
Три слагаемых успешной стратегии:
1. евангелизм, а не внедрение
2. искать возможность, есть по частям
3. зрелость процессов и команд
Вирусный подход
• нельзя внедрять административно
• заинтересованность и готовность от участников
Внедрение по частям
• “все или ничего” под запретом
• не стоит пытаться охватить все сразу, брать по частям
Разработка проекта
• Impact mapping
• Customer journey map
• User Story mapping
• UX/UI прототипы
• разработка
• QA
• выпуск
Провал предыдущих команд
• жесткий вотерфолл
• описали требования и ушли в работу
• требования не вынесли испытания
реальностью
• созданной системой невозможно
пользоваться
слабая обр.
связь
результат
слабой обр.
связи
Простые практики в сложных условиях
• демо без слайдов
• от лица пользователя
Демо:
• регулярные
• работающий продукт
• ранняя интеграция
Процесс разработки
Межкомандное планирование релиза:
• use cases по командам
• release board
• межкомандные стендапы
Архитектурные сессии:
- командные 1р/неделю (1-2 часа)
- межкомандные 1-3р перед планированием
(присутствие всех участников)
Рисуем маркером на флипчарте, чтобы увидеть всего слона в
целом!
С чего начать борьбу
• демо
• введение демо снизу-вверх
• межкомандные планирующие сессии
• межкомандные архитектурные сессии
• работать в командах
Распределенные команды:
• skype с видео (эффект присутствия)
• парное программирование
Как не уснуть на ретро
Боль:
- скучное ретро
- затянутое ретро
- распределенная команда
Как не уснуть на ретро
Решение боли:
- Amazon Review
- кино отзывы
- Poster Session
ключевое событие
нарисовать кто выиграл?
кто проиграл?
- Speed Dating
- The worst we could do
диверсия
контрмера
Вопросы
Жуков Антон

More Related Content

What's hot

SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON
 
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Ontico
 
Подход ScrumTrek к Agile Transformation
 Подход ScrumTrek к Agile Transformation Подход ScrumTrek к Agile Transformation
Подход ScrumTrek к Agile TransformationAskhat Urazbaev
 
«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42DevDay
 
Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыCEE-SEC(R)
 
Практика DevOps в крупных организациях
Практика DevOps в крупных организацияхПрактика DevOps в крупных организациях
Практика DevOps в крупных организацияхSoftmart
 
Асхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусыАсхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусыScrumTrek
 
Devprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиDevprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиEvgeny Savitsky
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Ontico
 
Управление зависимостями между командами
Управление зависимостями между командамиУправление зависимостями между командами
Управление зависимостями между командамиAskhat Urazbaev
 
как убить поставку скрамом
как убить поставку скрамомкак убить поставку скрамом
как убить поставку скрамомAlexey Ilyichev
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектамиMikhail Sofonov, PMP, P2M, PRINCE2
 
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСРоман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСDev_Party
 
сербул по лезвию бритвы
сербул   по лезвию бритвысербул   по лезвию бритвы
сербул по лезвию бритвыMagneta AI
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...CEE-SEC(R)
 

What's hot (19)

Agile testing
Agile testingAgile testing
Agile testing
 
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
 
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
 
Подход ScrumTrek к Agile Transformation
 Подход ScrumTrek к Agile Transformation Подход ScrumTrek к Agile Transformation
Подход ScrumTrek к Agile Transformation
 
«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42
 
Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-команды
 
ALM & Agile
ALM & AgileALM & Agile
ALM & Agile
 
Практика DevOps в крупных организациях
Практика DevOps в крупных организацияхПрактика DevOps в крупных организациях
Практика DevOps в крупных организациях
 
Асхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусыАсхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусы
 
Devprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиDevprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработки
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
 
Управление зависимостями между командами
Управление зависимостями между командамиУправление зависимостями между командами
Управление зависимостями между командами
 
как убить поставку скрамом
как убить поставку скрамомкак убить поставку скрамом
как убить поставку скрамом
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектами
 
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФСРоман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
Роман Приходько, Владимир Беспрозванных, «Сбербанк-Технологии» — Платформа ЕФС
 
сербул по лезвию бритвы
сербул   по лезвию бритвысербул   по лезвию бритвы
сербул по лезвию бритвы
 
KPI и бонусы
KPI и бонусыKPI и бонусы
KPI и бонусы
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
 

Viewers also liked

Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...ScrumTrek
 
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Denis Tuchin
 
Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...
Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...
Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...ScrumTrek
 
Agile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспеченияAgile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспеченияjazzteam
 
The Business of Social Media
The Business of Social Media The Business of Social Media
The Business of Social Media Dave Kerpen
 
The hottest analysis tools for startups
The hottest analysis tools for startupsThe hottest analysis tools for startups
The hottest analysis tools for startupsLiane Siebenhaar
 
10 Steps of Project Management in Digital Agencies
10 Steps of Project Management in Digital Agencies 10 Steps of Project Management in Digital Agencies
10 Steps of Project Management in Digital Agencies Alemsah Ozturk
 
Lost in Cultural Translation
Lost in Cultural TranslationLost in Cultural Translation
Lost in Cultural TranslationVanessa Vela
 
All About Beer
All About Beer All About Beer
All About Beer Ethos3
 

Viewers also liked (10)

Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
Михаил Лукьянов, Дмитрий Шайхатаров, Agile среди водопадов. Использование SCR...
 
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
 
Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...
Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...
Сергей Рогачев, Лилия Алексеева. Запуск Agile команд: от одной до десятков од...
 
Agile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспеченияAgile/Scrum методологии разработки программного обеспечения
Agile/Scrum методологии разработки программного обеспечения
 
The Business of Social Media
The Business of Social Media The Business of Social Media
The Business of Social Media
 
The hottest analysis tools for startups
The hottest analysis tools for startupsThe hottest analysis tools for startups
The hottest analysis tools for startups
 
10 Steps of Project Management in Digital Agencies
10 Steps of Project Management in Digital Agencies 10 Steps of Project Management in Digital Agencies
10 Steps of Project Management in Digital Agencies
 
Lost in Cultural Translation
Lost in Cultural TranslationLost in Cultural Translation
Lost in Cultural Translation
 
Flyer
FlyerFlyer
Flyer
 
All About Beer
All About Beer All About Beer
All About Beer
 

Similar to Agile days `16 summary

Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...RIF-Technology
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsMicrosoft
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalMicrosoft
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продуктаAlexey Filimonov
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignAndrey Bibichev
 
Способы создания качественного программного продукта
Способы создания качественного программного продуктаСпособы создания качественного программного продукта
Способы создания качественного программного продуктаIngria. Technopark St. Petersburg
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...IT-Portfolio
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продуктаAlexey Filimonov
 
Практики разработки программного обеспечения в крупных компаниях на примере IBM
Практики разработки программного обеспечения в крупных компаниях на примере IBMПрактики разработки программного обеспечения в крупных компаниях на примере IBM
Практики разработки программного обеспечения в крупных компаниях на примере IBMAlexander Klimov
 
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupAlina Vilk
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестированияGleb Rybalko
 
Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-системRoman Ivliev
 
Проектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системПроектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системTKConf
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)Ontico
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
 

Similar to Agile days `16 summary (20)

Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
 
Team workflow
Team workflowTeam workflow
Team workflow
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm final
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven Design
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Способы создания качественного программного продукта
Способы создания качественного программного продуктаСпособы создания качественного программного продукта
Способы создания качественного программного продукта
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
 
Управление разработкой продукта
Управление разработкой продуктаУправление разработкой продукта
Управление разработкой продукта
 
Практики разработки программного обеспечения в крупных компаниях на примере IBM
Практики разработки программного обеспечения в крупных компаниях на примере IBMПрактики разработки программного обеспечения в крупных компаниях на примере IBM
Практики разработки программного обеспечения в крупных компаниях на примере IBM
 
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
Эволюция экосистем тестирования
Эволюция экосистем тестированияЭволюция экосистем тестирования
Эволюция экосистем тестирования
 
Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-систем
 
Проектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системПроектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-систем
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
 

Agile days `16 summary

  • 2. Структура презентации - банковский сектор - техническая часть - техническая организационная часть - организационная часть
  • 4. Банковский сектор Кто внедрял аджайл: • Raiffeisen Bank • Сбербанк • Альфа Банк
  • 5. Enterprise. Agile нельзя Waterfall (Сбербанк) Иерархии и амбиции -страх потерять место -страх потерять свою значимость -неприятие нового подхода Дурной “корпоративный” тон - 150% загрузки -резиновые спринты -переработки Плохой признак! Неприятие децентрализации -убивает мотивацию -создает бутылочное горлышко
  • 6. Применимость SAFe в фин. организации (Raiffeisen) - внедрили Scaled-Agile Framework - сейчас самый актуальный SAFe 4.0 стандарт • Business Requirements Documents (BRD) • User Story Mapping 10.5 мес -> 6 мес. Периодичность релизов
  • 8. Enterprise. Agile нельзя Waterfall (Сбербанк) • SAFe базируется поверх Scrum/XP • Максимально тестировать все в dev- среде (не дожидаясь test-среды) • Github - verigreen
  • 9. Digital, Agile, DevOps, микросервисы Digital - не надо общаться с людьми, чтобы получить услугу. Пример: carsharing, gettaxi В схеме технологических компаний отсутствует операционный уровень. У них нет прямого контакта с клиентами в офисе. Пример: yandex
  • 11. Автоматизация vs Цифровизация vs • проигрывает музыку • держит аудио картотеку • следит что слушают друзья • предлагает новинки
  • 13. Новый IT • сетевая организационная структура компании • большое количество взаимодействия • бешеная скорость взаимодействия • в operations - devops - скорость изменений предельная • в разработке - agile - скорость разработки предельная • сетевые технологии распределенные • железные сервера уходят, появляются облака
  • 15. Микросервисы - самодостаточен и изолирован - один сервис - одна agile-команда - API - build, release, run - сервис становится автоматически обнаруживаемый для других сервисов
  • 16. Docker - не система контейнеризации - не система виртуализации - Docker - система автоматизации поставки ПО - Docker - замах стать целой эко-системой
  • 17. Микросервисы • Datacenter Operating System • Service Discovery - знает, какие сервисы должны быть запущены • CI - собирает docker-контейнеры • новые языки, меньше ООП, функциональные языки
  • 18. Частые проблемы • монолит пытаются перевести на continuous delivery • трехзвёнка (app, middle, db) в цифровом проекте • agile, devops для нецифрового бизнеса
  • 20. DDD (smart step group) • Ubiquitous language • Bounded Context
  • 21. Проектирование по модели Классический процесс: • проектирование архитектуры начинается с проектирования базы данных. Так, там будет табличка заказы, товар, покупатель… • архитектура кода - от архитектуры БД
  • 22. Проектирование по модели Путь DDD: • спроектировать объектную модель • Persistence Ignorance • технические специалисты + эксперты предметной области • написание кода по модели • проектирование инфраструктуры (бд, таблички)
  • 23. Ubiquitous Language • DeleteAllLines • SetStatus(Status.Approved) • CreateUser • Customer.Address = new Address(); • CancelOrder • Approve • EnrollCustomer • Customer.RelocateTo(new Address());
  • 24. Bounded Context (ограниченный контекст) one model to rule them all маленькие под-модели применительно к контексту
  • 25. Как разделять контексты Пример: интернет-магазин, 4 контекста: - для покупателя - для продажников - для поставщика - для бухгалтерии 1. В рамках одного проекта - 4 папки применительно к каждому контексту 2. Разделять контексты по базам данных, по модулям 3. Разбивать контексты по сервисам
  • 26. Как разделять контексты • Важно определить главный контекст, и именно вокруг него будет строиться предметная область (core domain) • Физически разделять контексты • Anti-Corruption Layer у сервисов • Заказчик должен быть доступен • Итеративная модель разработки Там, где объектная модель не подходит, используем: - events - CQRS - функциональное программирование
  • 27. Поток поставки (DevOps) Официант в кафе не приносит все блюда сразу!
  • 28. Бережливое производство Поток ценности: - идея и дизайн - разработка - стенд - качество (QA) - выкладка ценность потери Объявите войну потерям!
  • 29. Магическая формула • Посадите их вместе • дайте им полномочия и права • пусть возьмут ответственность
  • 30. Непрерывная поставка Необходим continuous delivery! dev -> CI process -> staging -> tests -> deploy 50% features have never been used Надо быстро проверять свои гипотезы!
  • 31. Непрерывная поставка Post-coordination - code review - feature branches Pre-coordination - design sessions - pair programming - only trunk (коммитим в одну ветку)
  • 32. По опросам ведущих DevOps инженеров VCS мордочки - github 70% - bitbucket 20% - gitlab 8% CI сервера - jenkins 56% - TC 28% - Travis 16% Conf. management - ansible 50% - docker 26% - bash 23% - chef 20% - puppet 5% - soldstack 5% Virtualise your infrastructure - virtualisation - containers - clouds Logs - logstash Платформы - kubernetes - heroku - mesos - helios Monitoring - zabbix
  • 33. Стейджинг инвестиции в стейджинг всегда оправданы! кнопка “превратить staging в prod” репетиция деплоя на staging
  • 34. Release process Blue Green Deployment: Canary releases:
  • 37. Топ 10 не могу (Аутсорсинговая компания) 1. Я видимо читал не ту версию ТЗ 2. А это Андрей в курсе, это он с заказчиками говорил 3. Мы решили переписать ядро на Java 4. Было много задач, не успели протестировать (Тестирование всегда нужно!) 5. В задаче этого не сказано 6. Она была так настойчива (Заказчик, которые постоянно пушит) 7. Проще сделать самому, чем учить (Отсутствие кадрового потенциала) 8. Завтра приемка? А Иван уже уехал домой (Проблема приверженности, отсутствие командного духа) 9. А где можно об этом почитать? 10. Не хватило времени (Неверное планирование работ)
  • 38. Топ 10 не могу (Аутсорсинговая компания) Пути решения: - описание бизнес-процессов - единое информационное пространство - автоматизация производства - мотивация на результат - обучение/подготовка кадров
  • 39. Роль вирусов в поедании слонов Три слагаемых успешной стратегии: 1. евангелизм, а не внедрение 2. искать возможность, есть по частям 3. зрелость процессов и команд
  • 40. Вирусный подход • нельзя внедрять административно • заинтересованность и готовность от участников
  • 41. Внедрение по частям • “все или ничего” под запретом • не стоит пытаться охватить все сразу, брать по частям
  • 42. Разработка проекта • Impact mapping • Customer journey map • User Story mapping • UX/UI прототипы • разработка • QA • выпуск
  • 43. Провал предыдущих команд • жесткий вотерфолл • описали требования и ушли в работу • требования не вынесли испытания реальностью • созданной системой невозможно пользоваться слабая обр. связь результат слабой обр. связи
  • 44. Простые практики в сложных условиях • демо без слайдов • от лица пользователя Демо: • регулярные • работающий продукт • ранняя интеграция
  • 45. Процесс разработки Межкомандное планирование релиза: • use cases по командам • release board • межкомандные стендапы Архитектурные сессии: - командные 1р/неделю (1-2 часа) - межкомандные 1-3р перед планированием (присутствие всех участников) Рисуем маркером на флипчарте, чтобы увидеть всего слона в целом!
  • 46. С чего начать борьбу • демо • введение демо снизу-вверх • межкомандные планирующие сессии • межкомандные архитектурные сессии • работать в командах Распределенные команды: • skype с видео (эффект присутствия) • парное программирование
  • 47. Как не уснуть на ретро Боль: - скучное ретро - затянутое ретро - распределенная команда
  • 48. Как не уснуть на ретро Решение боли: - Amazon Review - кино отзывы - Poster Session ключевое событие нарисовать кто выиграл? кто проиграл? - Speed Dating - The worst we could do диверсия контрмера