SlideShare a Scribd company logo
1 of 46
Кто она,
инкрементальная и
адаптивная архитектура?
Сергей Баранов
«ScrumTrek»
реакция на
изменения
устранение
рисков
BDUF
Emergent Design
Just Enough Design
BDUF
риски изменения
Emergent Design
риски изменения
Just Enough Design
нечто среднее
РАБОТАЮЩИЙ ПРОДУКТ
важнее
ИСЧЕРПЫВАЮЩЕЙ ДОКУМЕНТАЦИИ
#ИНКРЕМЕНТАЛЬНОСТЬ
ГОТОВНОСТЬ К ИЗМЕНЕНИЯМ
важнее
СЛЕДОВАНИЯ ПЕРВОНАЧАЛЬНОМУ
ПЛАНУ
#АДАПТИВНОСТЬ
МАНИФЕСТ АДАПТИВНОЙ
РАЗРАБОТКИ
EXPERIMENTATION
instead of
SPECIFICATION
EVOLUTION
instead of
IMPLEMENTATION
ADAPTATION
instead of
MODIFICATION
EXTENSION
instead of
GROWTH
ПРАКТИКИ
#Vision
Удобный сайт конференции
AgileDays, максимально
автоматизирующий работу с
докладами
#Stories
Регистрация участника
Регистрация докладчика
Подача доклада
Отображение докладов
#Stories
Регистрация участника
Регистрация докладчика
Подача доклада
Отображение докладов
#DomainModel
ПОРЯДОК ИМЕЕТ ЗНАЧЕНИЕ
#WalkingSkeleton
#WalkingSkeleton
Шаги
Бизнес-правила
Платформы
Входные параметры
Роли
#WalkingSkeleton
Какие [шаги|правила..] нужны?
Все ли [шаги|правила..] необходимы
сейчас?
Могут ли какие-то [шаги|правила…]
сейчас быть упрощены?
Как бы вы решили проблему не будь у
вас компьютера?
#WalkingSkeleton:workflow
Подача доклада
Выбрать тип: «Докладчик»
Заполнить форму подачи доклада
Отправить информационное
письмо
#WalkingSkeleton:businessRules
Заполнить форму подачи доклада
Все поля обязательные
Не более 3-х докладов
Описание не менее 2048 символов
Название на русском языке
#WalkingSkeleton:businessRules
Заполнить форму подачи доклада
Часть полей — обязательные
Не более 3-х докладов
Описание не более 2048 символов
Название на русском языке
ТРЕБОВАНИЯ РЕГУЛЯТОРОВ
ИНТЕРНАЦИОНАЛИЗАЦИЯ
ПРОИЗВОДИТЕЛЬНОСТЬ
ТЕСТОПРИГОДНОСТЬ
БЕЗОПАСНОСТЬ
#OCP
OPENED FOR EXTENSION
but
CLOSED FOR MODIFICATION
#OCP
AbstractSingletonProxyFactoryB
ean
#OCP
#Strategy
50 км
#Strategy
изменение профиля
свободное
через уведомление и
подтверждение
#Simplicity
«The art of maximizing
the amount of work not
done — is essential.»
#Simplicity vs over-engineering
Действительно ли этот участок
кода нужен сейчас?
#ShotgunSurgery
A выполняет A, X, Y, Z
B выполняет B, X, Y, Z
C выполняет C, X, Y, Z
«Поправь X, там работы на 15
минут…»
https://agiledays.ru/login
?return_url=http://agiledays.ru/profile
&login=BruceDickinson
&password=BraveNewWorld
Login
#Testability
https://agiledays.ru/edit
?data={“name”: “Bruce”, “band”: “Iron..”}
Тестируем что угодно
#Testability
Архитектура — лишь один из аспектов
проекта, управляемый тем же
процессом и теми же принципами
инкрементальность, адаптивность,
обратная связь, совместное принятие
решений, реакция на изменения
Спасибо!
Q&A
facebook.com/jsergey
sb@scrumtrek.ru

More Related Content

Viewers also liked

White Paper: Unpacking competitive bidding methods
White Paper: Unpacking competitive bidding methodsWhite Paper: Unpacking competitive bidding methods
White Paper: Unpacking competitive bidding methods
Henrik Jarleskog
 

Viewers also liked (11)

SolidWorks Model : SW2015X-A11
SolidWorks Model : SW2015X-A11SolidWorks Model : SW2015X-A11
SolidWorks Model : SW2015X-A11
 
MSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on ArchitectureMSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on Architecture
 
Analisis caso AA agua helada
Analisis caso AA agua heladaAnalisis caso AA agua helada
Analisis caso AA agua helada
 
White Paper: Unpacking competitive bidding methods
White Paper: Unpacking competitive bidding methodsWhite Paper: Unpacking competitive bidding methods
White Paper: Unpacking competitive bidding methods
 
[명우니닷컴]그리스도인의 죽음관
[명우니닷컴]그리스도인의 죽음관[명우니닷컴]그리스도인의 죽음관
[명우니닷컴]그리스도인의 죽음관
 
SW2016X-A02
SW2016X-A02SW2016X-A02
SW2016X-A02
 
Gpsc 03. gestão com pessoas - 03.01 - a gestão de pessoas e o capital intel...
Gpsc   03. gestão com pessoas - 03.01 - a gestão de pessoas e o capital intel...Gpsc   03. gestão com pessoas - 03.01 - a gestão de pessoas e o capital intel...
Gpsc 03. gestão com pessoas - 03.01 - a gestão de pessoas e o capital intel...
 
SW2016X-A09
SW2016X-A09SW2016X-A09
SW2016X-A09
 
BizTalk Orchestration Fundamentals
BizTalk Orchestration FundamentalsBizTalk Orchestration Fundamentals
BizTalk Orchestration Fundamentals
 
IBM BPM & ODM
IBM BPM & ODMIBM BPM & ODM
IBM BPM & ODM
 
IBM BPM Overview
IBM BPM OverviewIBM BPM Overview
IBM BPM Overview
 

Similar to Инкрементальная и адаптивная архитектура @ AgileDays'16

Осознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийОсознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решений
Evgeniy Krivosheev
 
Aug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianAug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об Atlassian
Teamlead
 
Atlassian update moscow aug - ru
Atlassian update   moscow aug - ruAtlassian update   moscow aug - ru
Atlassian update moscow aug - ru
Sherali Karimov
 
Articul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проектаArticul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media
 
Программа StartService
Программа StartServiceПрограмма StartService
Программа StartService
unkindchp
 

Similar to Инкрементальная и адаптивная архитектура @ AgileDays'16 (11)

6 solution inno
6 solution inno6 solution inno
6 solution inno
 
Осознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решенийОсознанность рефакторинга: Модель принятия инженерных решений
Осознанность рефакторинга: Модель принятия инженерных решений
 
Aug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianAug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об Atlassian
 
Atlassian update moscow aug - ru
Atlassian update   moscow aug - ruAtlassian update   moscow aug - ru
Atlassian update moscow aug - ru
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектами
 
05.Внедрение Azure
05.Внедрение Azure05.Внедрение Azure
05.Внедрение Azure
 
Msf Dz
Msf DzMsf Dz
Msf Dz
 
Articul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проектаArticul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проекта
 
На пути к совершенному инжинирингу
На пути к совершенному инжинирингуНа пути к совершенному инжинирингу
На пути к совершенному инжинирингу
 
Digital-продюсер. Кто он такой и зачем он нужен в агентстве?
Digital-продюсер. Кто он такой и зачем он нужен в агентстве?Digital-продюсер. Кто он такой и зачем он нужен в агентстве?
Digital-продюсер. Кто он такой и зачем он нужен в агентстве?
 
Программа StartService
Программа StartServiceПрограмма StartService
Программа StartService
 

Инкрементальная и адаптивная архитектура @ AgileDays'16

Editor's Notes

  1. Говоря Agile мы обычно подразумеваем процессы. Но работая с самыми различными командами можно нередко можно заметить, что какими бы правильно исполняемыми ни были процессные приседания, упершись в инженерку мы начинаем топтаться на месте. Если количество фич в минуту падает не смотря на идеальную сыгранность команды, то возможно проблема где-то еще. И это где-то почти наверняка в другой плоскости, возможно даже архитектура. Я расскажу о том, что такое инкрементальная и адаптивная архитектура и каким образом она коррелирует с процессами разработки, разделяющие ценности agile.
  2. Что-то может выглядеть достаточно хорошим в теории, но не работать на практике, бизнес требует изменений в ногу со своим развитием, очень трудно наладить быстрые и ранние поставки и, конечно, невозможно предсказать абсолютно все. И даже более того, в скрам явно прописано, что Product Backlog может расти и меняться по мере того, как мы узнает больше о продукте и пользователях. К термину BDUF очень крепко прилипли такие метафоры, как PowerPoint-архитектура, архитектурный астронавт в башне из слоновой кости.
  3. No design Отлично работает, когда команде надо очень быстро реагировать на изменения и нет существенных архитектурных рисков, которые следовало бы адресовать до начала разработки
  4. Simon Brown, основатель сайта Coding the Architecture: «нечто между BDUF и Emergent Design». Столько, сколько надо! Но возникает вопрос: достаточно — это сколько, это что, это как?
  5. Традиционные методы фокусируются на детальных спецификациях требований, как функциональных, так и не функциональных. В современном мире мы должны извлекать требования через эксперименты, эмпирически. Например, Lean нам говорит: «строй Minimum Viable Product (MVP) откладывая все решения, какие только возможно до наступления Last Responsible Moment». Разумеется, здесь не обойтись без инженерных практик, позволяющих построить гибкую платформу, позволяющую проводить эффективные, с точки зрения стоимости, эксперименты. Томас Эдисон провел множество экспериментов. Если бы он только и делал, что переписывал спецификации, он бы так ничего и не добился.
  6. Workflow Какие шаги должен предпринять пользователь, чтобы получить ценность? Все ли шаги сейчас необходимы? Могут ли какие-то шаги сейчас быть упрощены? Бизнес-правила Какие правила применимы к этому workflow? Все ли правила необходимо применить прямо сейчас? Можем ли мы сейчас упростить какие-то правила? Какие должны поддерживаться платформы? Все ли платформы необходимо поддерживать прямо сейчас? Реализация для каких-то из платформ сложнее, чем для других? То же самое с входными параметрами, ролями. Почему так? Реализация по горизонтали, по слоям, не поставляет ценность пользователю.
  7. Workflow Какие шаги должен предпринять пользователь, чтобы получить ценность? Все ли шаги сейчас необходимы? Могут ли какие-то шаги сейчас быть упрощены? Бизнес-правила Какие правила применимы к этому workflow? Все ли правила необходимо применить прямо сейчас? Можем ли мы сейчас упростить какие-то правила? Какие должны поддерживаться платформы? Все ли платформы необходимо поддерживать прямо сейчас? Реализация для каких-то из платформ сложнее, чем для других? То же самое с входными параметрами, ролями. Почему так? Реализация по горизонтали, по слоям, не поставляет ценность пользователю.
  8. Требования регуляторов диктуют что мы должны делать, но не объясняют почему.
  9. not affected by the passage of time or changes in fashion.
  10. "The more tied components are to each other, the less reusable they will be, and the more difficult it becomes to make changes to one without accidentally affecting another" ” Rebecca Murphey, author of jQuery Fundamentals Blasting your code to make a change, making the same or similar change in many places. How painful is it to change your implementation? How painful is it tracking down bugs you didn't realize your changes had caused?