SlideShare a Scribd company logo
1 of 43
Download to read offline
● 2 года как Software Engineer
● 4 года как технический ко-фаундер
● 3 года как теклид/тимлид
● 5 лет как CTO в Zakaz.ua
● 3 года как Software Architect
● Director of Engineering at Takeoff
Technologies
Карьера
It’s not scalable.
Quality
Attributes
Environment
Human
Dynamics
Business
Strategy
Software Architecture
●
●
●
●
●
●
●
И шо?
● В каждой категории есть тот или иной
стандарт по индустрии
● Это утопия все учесть одним махом
● Это утопия прийти и все поменять за
месяцы, если большие и в продакшене
● Тем не менее, все это важно
А еще
● Управление рисками
● Коммуникация изменений (Change
management)
● Коммуникация расписания релизов
(если как мы)
2 years ago year ago now
опыт-опыт-опыт-опыт,
наука, корректность,
технологии,
архитектура
ээээ, а что,
там люди?
требования?
процессы?
стратегия?
ценность?
а там люди,
требования,
процессы,
стратегия.
ценность
Как приседать стратегически
3 → ~120
3 инженера
10 инженеров
40+ инженеров
Что можно сделать
● Часть вещей включить в Definition Of
Done
● Иметь Definition Of Done и процесс
● Time To Market так же важен, как и
правильная архитектура
● Научиться изящно фиксить фиксы
● “Зачем?”, “Почему так?”, “Чем это
грозит?”
● Стабильность системы – issue rate
● Скорость решения проблем - time to
resolution
● Скорость создания ценности - time to
market*
● Понятные [коммуницированные]
изменения
● Предсказуемость в графике
обновлений
На что мы влияем?
* это не метрика конечно, но
все ее чувствуют
Что делает..
клиентов счастливыми
Принимая во внимание
предположения, среду и
доступность ресурсов
1. start-up
2. turnaround - a burning platform
3. realignment - a lot of denial
4. sustaining success - challenge invention
Среда в контексте STaRS model
● Мы рассчитываем на рост в X% в месяц
● С максимальным жизненным циклом
клиента L заказов
● При этом сохранять возвращаемость на
уровне Y за период Z
● Одновременное количество клиентов,
которые мы обслуживаем должно быть
не больше, чем N
* это одна из задач архитектора, что тут не бредятина
Ключевые предположения
● Если у меня $5 с клиента в месяц
● И 100 клиентов с приростом в 10% в
месяц
● Это типа идея не очень тратить $5000 в
месяц на AWS*
● Для “скейлебл” решения
* если конечно это не часть бизнес стратегии
Вызовы Технические
GIT – это данные
● Статический анализ совместно с
историей из GIT - это ценный источник
информации
● Если добавить еще данные из JIRA по
багам, то получится довольно
качественная картина происходящего
Tech Debt
● Идентификация Hot Spots - небольших
участков кода, над которыми работают
много людей
● Идентификация нездоровых шаблонов,
которые приводят к техническому
долгу
● Идентификация увеличения сложности
(cyclomatic complexity)
Knowledge Loss
● Идентификация людей, которые
работали или работают над одним
участком кода - только у них есть
знания о том, что внутри
● Нахождение кода без документации
Onboarding Performance
● Как быстро новые члены команды
начинают доставлять наравне с
остальными
● Как работает онбординг в сравнении с
приобретением опыта в динамике
Вызовы Человеческие
Онбординг
● Качество онбординга один из
ключевых факторов, которые влияют
на organization agility
● Онбординг через менторинг (100%) и
чтение кода - тупик, съедающий
огромное количество времени и
ресурсов
● Документация - важно, но
гранулярность должна быть вменяемая
Автономия
● Авторитарный стиль не работает при
40+ инженеров - риск что останетесь
без хороших инженеров
● Авторитарные решения - это
уменьшение автономии
● Соотв. бОльшая часть работы может
уходить на переговоры с инженерами -
или надо придумать организационное
решение
Автономия
● Андрей Панфилов
(dzer6@gihub) предложил
выражать идеи в виде
документа Architecture
Proposals
● Любой в компании может
создать предложение и
продвинуть свою идею
Инерция
● Любая идея требует коммуникации
● И времени на внедрение
● Особенно если ценность не в короткой
перспективе
● Или если новая штука вскрывает дыру
в работоспособности команды или
производительности софта..
Пример
● Мы решили использовать OpenTracing
● И подключили Elastic APM
● И сделали библиотечки для
интеграции
● И все конфигурации сконфигурировали
● Прошло больше года
● Угадайте какой % сервисов внедрили
команды?
Когнитивные искажения
систематические отклонения в
восприятии и мышлении, обусловленные
● субъективными убеждениями
(предубеждениями)
● стереотипами
● социальными, моральными и
эмоциональными причинами
● сбоями в обработке и анализе
информации
Когнитивные искажения
Крайне важно принимать решения на
данных, которые есть на руках
и только потом на опыте/исторических
данных из других компаний
Спасибо
https://twitter.com/maxmaxmaxmax

More Related Content

What's hot

Измеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииИзмеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииCEE-SEC(R)
 
Иван Дубровин, Возможные подходы к контрактованию в Agile
Иван Дубровин, Возможные подходы к контрактованию в AgileИван Дубровин, Возможные подходы к контрактованию в Agile
Иван Дубровин, Возможные подходы к контрактованию в AgileScrumTrek
 
Олег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проекта
Олег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проектаОлег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проекта
Олег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проектаScrumTrek
 
Принятие инженерных решений в условиях неопределенности
Принятие инженерных решений в условиях неопределенностиПринятие инженерных решений в условиях неопределенности
Принятие инженерных решений в условиях неопределенностиSergey Baranov
 
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?ScrumTrek
 
Олег Швайковский, Европейский опыт государственного Agile
Олег Швайковский, Европейский опыт государственного AgileОлег Швайковский, Европейский опыт государственного Agile
Олег Швайковский, Европейский опыт государственного AgileScrumTrek
 
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileКонстантин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileScrumTrek
 
Kharkiv PM Day. Dmitriy Kalyonykh
Kharkiv PM Day. Dmitriy KalyonykhKharkiv PM Day. Dmitriy Kalyonykh
Kharkiv PM Day. Dmitriy KalyonykhLviv Startup Club
 
Факторы успеха экспертных оценок рисков в инновационных ИТ-проектах
Факторы успеха экспертных оценок рисков в инновационных ИТ-проектахФакторы успеха экспертных оценок рисков в инновационных ИТ-проектах
Факторы успеха экспертных оценок рисков в инновационных ИТ-проектахVsevolod Shabad
 
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...HappyDev
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Управление проектами в непроектных компаниях_Oleg Tumasov
Управление проектами в непроектных компаниях_Oleg TumasovУправление проектами в непроектных компаниях_Oleg Tumasov
Управление проектами в непроектных компаниях_Oleg TumasovOleg Tumasov, PMP, PRINCE2, MSP
 
Управление удаленной командой тестировщиков
Управление удаленной командой тестировщиковУправление удаленной командой тестировщиков
Управление удаленной командой тестировщиковISS Art, LLC
 
Великолепный провал
Великолепный провалВеликолепный провал
Великолепный провалNatalya Press
 
Дмитрий Плетнев
Дмитрий ПлетневДмитрий Плетнев
Дмитрий ПлетневCodeFest
 
Контроль над распределенной командой
Контроль над распределенной командойКонтроль над распределенной командой
Контроль над распределенной командойISS Art, LLC
 
Управление ИТ-проектами на основе PRINCE2®
Управление ИТ-проектами на основе PRINCE2®Управление ИТ-проектами на основе PRINCE2®
Управление ИТ-проектами на основе PRINCE2®Cleverics
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе: CEE-SEC(R)
 

What's hot (19)

Измеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииИзмеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенции
 
Иван Дубровин, Возможные подходы к контрактованию в Agile
Иван Дубровин, Возможные подходы к контрактованию в AgileИван Дубровин, Возможные подходы к контрактованию в Agile
Иван Дубровин, Возможные подходы к контрактованию в Agile
 
Олег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проекта
Олег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проектаОлег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проекта
Олег Бунин, 20 рисков, которые необходимо учесть при расчёте сложного проекта
 
Принятие инженерных решений в условиях неопределенности
Принятие инженерных решений в условиях неопределенностиПринятие инженерных решений в условиях неопределенности
Принятие инженерных решений в условиях неопределенности
 
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
 
Олег Швайковский, Европейский опыт государственного Agile
Олег Швайковский, Европейский опыт государственного AgileОлег Швайковский, Европейский опыт государственного Agile
Олег Швайковский, Европейский опыт государственного Agile
 
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileКонстантин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
 
Kharkiv PM Day. Dmitriy Kalyonykh
Kharkiv PM Day. Dmitriy KalyonykhKharkiv PM Day. Dmitriy Kalyonykh
Kharkiv PM Day. Dmitriy Kalyonykh
 
Факторы успеха экспертных оценок рисков в инновационных ИТ-проектах
Факторы успеха экспертных оценок рисков в инновационных ИТ-проектахФакторы успеха экспертных оценок рисков в инновационных ИТ-проектах
Факторы успеха экспертных оценок рисков в инновационных ИТ-проектах
 
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Управление проектами в непроектных компаниях_Oleg Tumasov
Управление проектами в непроектных компаниях_Oleg TumasovУправление проектами в непроектных компаниях_Oleg Tumasov
Управление проектами в непроектных компаниях_Oleg Tumasov
 
Управление удаленной командой тестировщиков
Управление удаленной командой тестировщиковУправление удаленной командой тестировщиков
Управление удаленной командой тестировщиков
 
Великолепный провал
Великолепный провалВеликолепный провал
Великолепный провал
 
Дмитрий Плетнев
Дмитрий ПлетневДмитрий Плетнев
Дмитрий Плетнев
 
Контроль над распределенной командой
Контроль над распределенной командойКонтроль над распределенной командой
Контроль над распределенной командой
 
Управление ИТ-проектами на основе PRINCE2®
Управление ИТ-проектами на основе PRINCE2®Управление ИТ-проектами на основе PRINCE2®
Управление ИТ-проектами на основе PRINCE2®
 
Обзор PMBOK 4
Обзор PMBOK 4Обзор PMBOK 4
Обзор PMBOK 4
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
 

Similar to 'Сrafting software architecture decisions' by Maksym Klymyshyn at ODESSA'2020

Разумное Инициирование Проекта
Разумное Инициирование ПроектаРазумное Инициирование Проекта
Разумное Инициирование ПроектаSergiy Povolyashko
 
Who is Delivery Manager?
Who is Delivery Manager?Who is Delivery Manager?
Who is Delivery Manager?Anton Vityaz
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосноватьMaksym Bezuglyi
 
Продюссирование, проект-менеджмент
Продюссирование, проект-менеджментПродюссирование, проект-менеджмент
Продюссирование, проект-менеджментNimax
 
Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...Alexander Novichkov
 
Эффективное внедрение методологии и инструментальных средств.
Эффективное внедрение методологии и инструментальных средств.Эффективное внедрение методологии и инструментальных средств.
Эффективное внедрение методологии и инструментальных средств.Alexander Novichkov
 
Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Irina Leshchuk
 
BI-проекты глазами аналитика
BI-проекты глазами аналитикаBI-проекты глазами аналитика
BI-проекты глазами аналитикаSQALab
 
Внедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bankВнедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bankAlbina Iskhakova
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps_Fest
 
Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.Sergiy Povolyashko
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8Pavel Veinik
 
Как выжить глобальной корпорации?
Как выжить глобальной корпорации?Как выжить глобальной корпорации?
Как выжить глобальной корпорации?CEE-SEC(R)
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
Построение процесса безопасной разработки
Построение процесса безопасной разработкиПостроение процесса безопасной разработки
Построение процесса безопасной разработкиPositive Development User Group
 
Управление проектами: трансформация бизнеса в инженерно-строительной отрасли
Управление проектами: трансформация бизнеса в инженерно-строительной отраслиУправление проектами: трансформация бизнеса в инженерно-строительной отрасли
Управление проектами: трансформация бизнеса в инженерно-строительной отраслиInfor-media
 
Бизнес-процессы в агентском бизнесе: сейчас или никогда!
Бизнес-процессы в агентском бизнесе: сейчас или никогда!Бизнес-процессы в агентском бизнесе: сейчас или никогда!
Бизнес-процессы в агентском бизнесе: сейчас или никогда!1С-Битрикс
 
Новый взгляд на систему документооборота
Новый взгляд на систему документооборотаНовый взгляд на систему документооборота
Новый взгляд на систему документооборотаExpolink
 

Similar to 'Сrafting software architecture decisions' by Maksym Klymyshyn at ODESSA'2020 (20)

структура It компании
структура It компанииструктура It компании
структура It компании
 
Разумное Инициирование Проекта
Разумное Инициирование ПроектаРазумное Инициирование Проекта
Разумное Инициирование Проекта
 
Who is Delivery Manager?
Who is Delivery Manager?Who is Delivery Manager?
Who is Delivery Manager?
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
 
Продюссирование, проект-менеджмент
Продюссирование, проект-менеджментПродюссирование, проект-менеджмент
Продюссирование, проект-менеджмент
 
Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...
 
Эффективное внедрение методологии и инструментальных средств.
Эффективное внедрение методологии и инструментальных средств.Эффективное внедрение методологии и инструментальных средств.
Эффективное внедрение методологии и инструментальных средств.
 
Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language)
 
BI-проекты глазами аналитика
BI-проекты глазами аналитикаBI-проекты глазами аналитика
BI-проекты глазами аналитика
 
Внедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bankВнедрение гибкой методологии управления проектами в Danske bank
Внедрение гибкой методологии управления проектами в Danske bank
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
 
29.jan.2009 (www.cmcons.com)
29.jan.2009 (www.cmcons.com)29.jan.2009 (www.cmcons.com)
29.jan.2009 (www.cmcons.com)
 
Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.Слайдкаст. Stratoplan Kharkov. Методологический паззл.
Слайдкаст. Stratoplan Kharkov. Методологический паззл.
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
Как выжить глобальной корпорации?
Как выжить глобальной корпорации?Как выжить глобальной корпорации?
Как выжить глобальной корпорации?
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Построение процесса безопасной разработки
Построение процесса безопасной разработкиПостроение процесса безопасной разработки
Построение процесса безопасной разработки
 
Управление проектами: трансформация бизнеса в инженерно-строительной отрасли
Управление проектами: трансформация бизнеса в инженерно-строительной отраслиУправление проектами: трансформация бизнеса в инженерно-строительной отрасли
Управление проектами: трансформация бизнеса в инженерно-строительной отрасли
 
Бизнес-процессы в агентском бизнесе: сейчас или никогда!
Бизнес-процессы в агентском бизнесе: сейчас или никогда!Бизнес-процессы в агентском бизнесе: сейчас или никогда!
Бизнес-процессы в агентском бизнесе: сейчас или никогда!
 
Новый взгляд на систему документооборота
Новый взгляд на систему документооборотаНовый взгляд на систему документооборота
Новый взгляд на систему документооборота
 

More from OdessaJS Conf

'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021
'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021
'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021OdessaJS Conf
 
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021OdessaJS Conf
 
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021OdessaJS Conf
 
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...OdessaJS Conf
 
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021OdessaJS Conf
 
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...OdessaJS Conf
 
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...OdessaJS Conf
 
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021OdessaJS Conf
 
"NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні...
"NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні..."NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні...
"NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні...OdessaJS Conf
 
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia NecheporenkoOdessaJS Conf
 
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro Gusev
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by  Dmytro Gusev'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by  Dmytro Gusev
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro GusevOdessaJS Conf
 
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav DvorovenkoOdessaJS Conf
 
'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...
'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...
'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...OdessaJS Conf
 
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
 'MICROFRONTENDS WITH REACT' by Liliia Karpenko 'MICROFRONTENDS WITH REACT' by Liliia Karpenko
'MICROFRONTENDS WITH REACT' by Liliia KarpenkoOdessaJS Conf
 
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020OdessaJS Conf
 
'STORY OF ANOTHER ANIMATION' by YURII ARTYUKH at OdessaJS'2020
'STORY OF ANOTHER ANIMATION' by  YURII ARTYUKH at OdessaJS'2020'STORY OF ANOTHER ANIMATION' by  YURII ARTYUKH at OdessaJS'2020
'STORY OF ANOTHER ANIMATION' by YURII ARTYUKH at OdessaJS'2020OdessaJS Conf
 
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020OdessaJS Conf
 
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020OdessaJS Conf
 
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020OdessaJS Conf
 
'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020
'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020
'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020OdessaJS Conf
 

More from OdessaJS Conf (20)

'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021
'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021
'GraphQL Schema Design' by Borys Mohyla. OdessaJS'2021
 
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021
 
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
 
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
 
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021
 
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...
 
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...
 
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021
 
"NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні...
"NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні..."NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні...
"NODEJS & GRAPHQL COOKBOOK. LET’S TALK ABOUT MICRO-SERVICES" by Антон Чередні...
 
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
 
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro Gusev
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by  Dmytro Gusev'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by  Dmytro Gusev
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro Gusev
 
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav Dvorovenko
 
'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...
'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...
'GOLANG USAGE IN DEVELOPMENT OF NODE.JS APPLICATIONS (NODE.JS: IN GO WE TRUST...
 
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
 'MICROFRONTENDS WITH REACT' by Liliia Karpenko 'MICROFRONTENDS WITH REACT' by Liliia Karpenko
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
 
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020
 
'STORY OF ANOTHER ANIMATION' by YURII ARTYUKH at OdessaJS'2020
'STORY OF ANOTHER ANIMATION' by  YURII ARTYUKH at OdessaJS'2020'STORY OF ANOTHER ANIMATION' by  YURII ARTYUKH at OdessaJS'2020
'STORY OF ANOTHER ANIMATION' by YURII ARTYUKH at OdessaJS'2020
 
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020
 
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020'Why svelte' by BORYS MOHYLA at OdessaJS'2020
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
 
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
 
'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020
'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020
'Tensorflow.js in real life' by Pavlo Galushko at OdessaJS'2020
 

'Сrafting software architecture decisions' by Maksym Klymyshyn at ODESSA'2020

  • 1.
  • 2. ● 2 года как Software Engineer ● 4 года как технический ко-фаундер ● 3 года как теклид/тимлид ● 5 лет как CTO в Zakaz.ua ● 3 года как Software Architect ● Director of Engineering at Takeoff Technologies Карьера
  • 3.
  • 4.
  • 6.
  • 9. И шо? ● В каждой категории есть тот или иной стандарт по индустрии ● Это утопия все учесть одним махом ● Это утопия прийти и все поменять за месяцы, если большие и в продакшене ● Тем не менее, все это важно
  • 10. А еще ● Управление рисками ● Коммуникация изменений (Change management) ● Коммуникация расписания релизов (если как мы)
  • 11. 2 years ago year ago now опыт-опыт-опыт-опыт, наука, корректность, технологии, архитектура ээээ, а что, там люди? требования? процессы? стратегия? ценность? а там люди, требования, процессы, стратегия. ценность
  • 16. Что можно сделать ● Часть вещей включить в Definition Of Done ● Иметь Definition Of Done и процесс ● Time To Market так же важен, как и правильная архитектура ● Научиться изящно фиксить фиксы ● “Зачем?”, “Почему так?”, “Чем это грозит?”
  • 17. ● Стабильность системы – issue rate ● Скорость решения проблем - time to resolution ● Скорость создания ценности - time to market* ● Понятные [коммуницированные] изменения ● Предсказуемость в графике обновлений На что мы влияем? * это не метрика конечно, но все ее чувствуют
  • 19. Принимая во внимание предположения, среду и доступность ресурсов
  • 20. 1. start-up 2. turnaround - a burning platform 3. realignment - a lot of denial 4. sustaining success - challenge invention Среда в контексте STaRS model
  • 21. ● Мы рассчитываем на рост в X% в месяц ● С максимальным жизненным циклом клиента L заказов ● При этом сохранять возвращаемость на уровне Y за период Z ● Одновременное количество клиентов, которые мы обслуживаем должно быть не больше, чем N * это одна из задач архитектора, что тут не бредятина Ключевые предположения
  • 22. ● Если у меня $5 с клиента в месяц ● И 100 клиентов с приростом в 10% в месяц ● Это типа идея не очень тратить $5000 в месяц на AWS* ● Для “скейлебл” решения * если конечно это не часть бизнес стратегии
  • 24. GIT – это данные ● Статический анализ совместно с историей из GIT - это ценный источник информации ● Если добавить еще данные из JIRA по багам, то получится довольно качественная картина происходящего
  • 25. Tech Debt ● Идентификация Hot Spots - небольших участков кода, над которыми работают много людей ● Идентификация нездоровых шаблонов, которые приводят к техническому долгу ● Идентификация увеличения сложности (cyclomatic complexity)
  • 26.
  • 27.
  • 28. Knowledge Loss ● Идентификация людей, которые работали или работают над одним участком кода - только у них есть знания о том, что внутри ● Нахождение кода без документации
  • 29.
  • 30. Onboarding Performance ● Как быстро новые члены команды начинают доставлять наравне с остальными ● Как работает онбординг в сравнении с приобретением опыта в динамике
  • 31.
  • 32.
  • 34. Онбординг ● Качество онбординга один из ключевых факторов, которые влияют на organization agility ● Онбординг через менторинг (100%) и чтение кода - тупик, съедающий огромное количество времени и ресурсов ● Документация - важно, но гранулярность должна быть вменяемая
  • 35. Автономия ● Авторитарный стиль не работает при 40+ инженеров - риск что останетесь без хороших инженеров ● Авторитарные решения - это уменьшение автономии ● Соотв. бОльшая часть работы может уходить на переговоры с инженерами - или надо придумать организационное решение
  • 36. Автономия ● Андрей Панфилов (dzer6@gihub) предложил выражать идеи в виде документа Architecture Proposals ● Любой в компании может создать предложение и продвинуть свою идею
  • 37.
  • 38. Инерция ● Любая идея требует коммуникации ● И времени на внедрение ● Особенно если ценность не в короткой перспективе ● Или если новая штука вскрывает дыру в работоспособности команды или производительности софта..
  • 39. Пример ● Мы решили использовать OpenTracing ● И подключили Elastic APM ● И сделали библиотечки для интеграции ● И все конфигурации сконфигурировали ● Прошло больше года ● Угадайте какой % сервисов внедрили команды?
  • 40. Когнитивные искажения систематические отклонения в восприятии и мышлении, обусловленные ● субъективными убеждениями (предубеждениями) ● стереотипами ● социальными, моральными и эмоциональными причинами ● сбоями в обработке и анализе информации
  • 42. Крайне важно принимать решения на данных, которые есть на руках и только потом на опыте/исторических данных из других компаний