SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Lean Architecture
Management
by Andrei Kavaleu
2
ABOUT ME
• 14+ years of experience in IT architecture,
technical leadership, software development
• Main Focus on .NET, cross-language architecture,
Architecture Design and Review, Architecture
Audit and Governance
• SEI certified Architect
• Microsoft Competency Center expert,
Architecture community leader
• Hands-on experience examples:
– As Solution Architect: Ticketing platform for Premier
League clubs (eCommerce, CRM, CMS, inventory
management, AWS migration, millions of users on
peeks)
– As Architect and Team Lead: Production automation
and railway transportation (Integration with ERP,
hardware integration, production pipeline
management, shop-floor data collection, multi-site
environment – 16 factories across EU, thousands of
workstations)
3
• Is it hard to make right architecture?
• Case for today: from Darkness to Light
• Agile transition: Complex things via simple
steps
• Lean applied: Changing architecture
• Vision is not enough: Channing processes
AGENDA
4
Is it hard to make
right architecture?
5
• What is Architecture?
• Is here someone who creates Architecture
as part of his job?
• Who implements things according to
Architecture?
• Who has no Architecture on his project?
• Who doesn’t need it?
WHAT IS ARCHITECTURE
6
Architecture is a set of rules and already
made decisions on how a system is to be built
Good architecture is good decisions and good
approach
WHAT IS ARCHITECTURE
7
WHOSE PROBLEM IS THIS?
9
EXAMPLE: BATCH PROCESSING
https://epa.ms/aws-ref-arch
10
EXAMPLE: GRID COMPUTING
https://epa.ms/aws-ref-arch
11
EXAMPLE: MEDIA SHARING
https://epa.ms/aws-ref-arch
12
EXAMPLE: WEB APPLICATION HOSTING
https://epa.ms/aws-ref-arch
13
EXAMPLE: WORD PRESS HOSTING
https://epa.ms/aws-ref-arch
14
EXPAMPLE: NETFLIX OSS STACK
https://netflix.github.io/
16
• MapReduce and more fault tolerance than you need
might sound fine, but consider the cost: you might be
switching from a mature system—with stuff like
transactions, indexes, and query optimizers
• Dynamo and Cassandra are distributed databases
prioritize write availability. Amazon wanted the “add
to cart” action to never fail. This was done by
compromising consistency, as well as basically every
feature present in a traditional RDBMS
• Kafka was designed to handle the throughput of all the
analytics events at LinkedIn: to around 1 trillion events
per day, with peaks of over 10 million messages per
second.
• …
YOU ARE NOT GOOGLE
https://epa.ms/gc-not-google
17
EXAMPLE: STACKOVERFLOW
https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/
18
Case for today:
from Darkness
to Light
19
Problem
• 20+ years old, 1.5M LoC big legacy system
• Hard to add new features and extend existing
code. Reached capacity of VB6
• Painful releases: hard to ensure appropriate
quality
• 100+ clients afraid of new changes
Business Drivers/Goals
• Get control on updates of clients apps
• Decrease operational, infrastructure, license
cost
• Add new clients easier
• Continuous Improvement
SYSTEM AS IT WAS
20
Problem
• 20+ years old, 1.5M LoC big legacy system
• Demand driven development
• 400+ forms, 600+ DB tables
• 100+ clients afraid of new changes
Business Drivers/Goals
• Get control on updates of clients apps
• Decrease operational, infrastructure, license
cost
• Add new clients easier
• Continuous Improvement
SYSTEM AS IT WAS
21
IS THIS OUR END STATE?
22
Good architecture is good decisions and good approach
RIGHT ENOUGH DECISIONS UPFRONT
• Make good decisions in face of uncertainty and lack of
time
• Don’t constraint developers
• Imagine ideal future
23
IDEAL FUTURE
Long-Term Goals:
• Speed and Confidence
Improve product development. Reduce
time to market. Allow Experiments
• Flexibility & Stability
Reconfigure services. Make new
products. Enable innovation
24
HOW TO REACH THIS FUTURE?
Long-Term Goals:
• Speed and Confidence
Improve product development. Reduce time to
market. Allow Experiments
• Flexibility & Stability
Reconfigure services. Make new products. Enable
innovation
25
Agile transition:
Complex things
via simple steps
26
AGILE AND ARCHITECTURE?
AGILE
Iterative and incremental
Frequent delivery of releases
Small and lightweights requirements
Teams are decisions makers
Decisions could be changed frequently
Short planning (sprint/product backlog)
Value is visible on every release
ARCHITECTURE (MYTHS)
Big up-front design
Longer releases
Massive documentation
Architects are decisions makers
Decisions are hard to change
Long-term design
Low visible value
27
MEET LEAN
29
Lean applied:
changing architecture
30
TRANSITION VIA SMALL STEPS
• Small agile steps toward reference
architecture
• Measure each step and react
• Adjust next steps forward
31
SMALL STEPS EXAMPLE: PRINTING
• External component
• Owns printers
• Rendering via external engine
• Available for other systems via
REST
Steps:
• In-Process component
• In-Process REST API (Loop-Back)
• Out-Of-Process REST API
APP
TCT
(Rendering Engine)
Physical Printers
VM Printing Service
Printers ownership
Batch Printing
...
Other Systems Other Systems Other Systems
32
SMALL STEPS EXAMPLE: PAYMENT
• External component
• Multiple Payment Providers
• Available for other systems via
REST
Steps:
• In-Process component
• In-Process REST API (Loop-Back)
• Out-Of-Process REST API
OUR APP
IPS
(For now Credit Cards
and Bank transfer)
3rd
party Integrations
Payment Service
12+ Methods of payment
Other Systems Other Systems Other Systems
33
SMALL STEPS EXAMPLE: ACCESS CONTROL
• External component
• Unifies AC-systems access
• Available for other systems via
REST?
Similar Steps again and again:
• In-Process component
• Unify AC integration via DB
• In-Process REST API (Loop-Back)
• Out-Of-Process REST API
OUR APP Access Control Service
DB
Inegration
Fortress
Other Systems Other Systems Other Systems
Access Manager
Ski Data
?
35
NEW CAPABILITIES AS STEPS
• Promotions
• Supporters Clubs
• Soccer Schools
• Ticket Resale
• Merchandise sales (e-commerce)
• 3rd party sales via API
• …
• Amazon Alexa integration?
Reference architecture
Application 1
Web
Application 2
Desktop
Application N
Web
TM
Capability #1
(Printing)
Service
Component
1
Service
Component
2
TM
Capability #3
(Payments)
TM
Capability #2
(Mailing)
36
Vision is not enough:
change your processes
37
• Build and Visualize your value stream
Do you have CI/CD pipeline?
• Ensure the steps occur in sequence
Do you skip steps?
• Change process from push to pull
Do you use Feature Flags?
• Measure you process
Do you collect process metrics?
PROCESS CHANGES (TOWARD LEAN)
38
VALUE STREAM IS DEVELOPMENT PIPELINE
Development
Specification
Development
Code Review
Testing
CI
Build
Unit/Integration
Tests
Code Analysis
QA
Auto Tests
Manual Tests
Staging
Integration Tests
Load Tests
Capacity Stress
Tests
UAT
Production
Blue/Green
Deployment
Feature Release
Monitoring
42
Feature Flags
• Disable Feature if it’s not ready
or doesn’t work
• No Roll-Backs
• Let user decide what to Turn On
• Your binaries contain Future features
• UAT in Prod? Possible
• Next step is A/B testing 
https://martinfowler.com/articles/feature-toggles.html
44
OUR STATE AS FOR TODAY
• 100% Code coverage
• AQA coverage for Release -1
• Monthly releases for 30+ team (no excuses)
• Devs are making architectural decisions
• Team got incremental mindset
Room for improvements
• Weekly releases. Bottleneck – 2 weeks for
regression
45
THANK YOU
• PM: Dmitry D.
• Team Leads: Viachaslau L., Alexey A., Vital S. and
their Dev Teams
• BA: Siarhei K. and his BA Team
• QA: Natalia P. and her QA Team
• AQA: Maksim S. and his AQA Team
• DevOps: Timur S. and his DevOps Team
• Tech Leads: Alex Ch., Yauhen K., Kanstantsin H.
• and our Customer who allows all this 
46
SUMMARY
47
AGILE AND ARCHITECTURE!
AGILE
Iterative and incremental
Frequent delivery of releases
Small and lightweights requirements
Teams are decisions makers
Decisions could be changed frequently
Short planning (sprint/product backlog)
Value is visible on every release
ARCHITECTURE (REALITY)
Reasonable up-front design
Incremental design updates
Simplified documentation
Shared decisions
Evolutionary architecture
Incremental design
Value is visible few releases
48
Thank you!
Andrei_Kavaleu@epam.com
andrei.kavaleu
kavaleu.ru

Weitere ähnliche Inhalte

Was ist angesagt?

BPM for developers, extended
BPM for developers, extendedBPM for developers, extended
BPM for developers, extended
Alexander SAMARIN
 

Was ist angesagt? (20)

Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016Serena Business Manager Visualizing 2016
Serena Business Manager Visualizing 2016
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
 
BPM for developers, extended
BPM for developers, extendedBPM for developers, extended
BPM for developers, extended
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015)
 
Supercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps PlatformSupercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps Platform
 
Lietuvos paštas. Agile PMO generic
Lietuvos paštas. Agile PMO genericLietuvos paštas. Agile PMO generic
Lietuvos paštas. Agile PMO generic
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
Build a Bridge Between CI/CD and ITSM w/ Quint Technology
Build a Bridge Between CI/CD and ITSM w/ Quint TechnologyBuild a Bridge Between CI/CD and ITSM w/ Quint Technology
Build a Bridge Between CI/CD and ITSM w/ Quint Technology
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - English
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
TeamForge Overview Webinar (8/24)
TeamForge Overview Webinar (8/24)TeamForge Overview Webinar (8/24)
TeamForge Overview Webinar (8/24)
 
Engage 2016 - IBM Verse
Engage 2016 - IBM VerseEngage 2016 - IBM Verse
Engage 2016 - IBM Verse
 
Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)Dimensions CM 14.3 launch webcast (slides)
Dimensions CM 14.3 launch webcast (slides)
 
Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
 
Migrating from ClearCase
Migrating from ClearCaseMigrating from ClearCase
Migrating from ClearCase
 
Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015)
 
What's new in SBM 11.1
What's new in SBM 11.1What's new in SBM 11.1
What's new in SBM 11.1
 
SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)
 
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
 

Ähnlich wie GECon2017_ Lean_architecturemanagement_Andrei Kavaleu

Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Philippe Krief
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Lucas Jellema
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
Ahmed M. Abed
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsRising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOps
IBM UrbanCode Products
 

Ähnlich wie GECon2017_ Lean_architecturemanagement_Andrei Kavaleu (20)

India GRUC Agility Presentation 2015-6-30
India GRUC Agility Presentation 2015-6-30India GRUC Agility Presentation 2015-6-30
India GRUC Agility Presentation 2015-6-30
 
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
Moving to Agile Methods and DevOps on IBM i with ARCAD Pack for Rational 1479...
 
What do making cars and writing software have in common?
What do making cars and writing software have in common?What do making cars and writing software have in common?
What do making cars and writing software have in common?
 
DevOps Operations Challenges
DevOps Operations ChallengesDevOps Operations Challenges
DevOps Operations Challenges
 
Accelerating Digital Transformation: It's About Digital Enablement
Accelerating Digital Transformation:  It's About Digital EnablementAccelerating Digital Transformation:  It's About Digital Enablement
Accelerating Digital Transformation: It's About Digital Enablement
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Production-Ready Kubernetes: It's Not About Technology
Production-Ready Kubernetes: It's Not About TechnologyProduction-Ready Kubernetes: It's Not About Technology
Production-Ready Kubernetes: It's Not About Technology
 
Migrate to platform of your choice
Migrate to platform of your choiceMigrate to platform of your choice
Migrate to platform of your choice
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
 
The Changing Role of IT: From Service Managers to Advisors
The Changing Role of IT:From Service Managers to AdvisorsThe Changing Role of IT:From Service Managers to Advisors
The Changing Role of IT: From Service Managers to Advisors
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
 
Technical Without Code
Technical Without CodeTechnical Without Code
Technical Without Code
 
Modern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for InnovationModern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for Innovation
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsRising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOps
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 

Mehr von GECon_Org Team

Mehr von GECon_Org Team (10)

GECon2017_ Security testing and selenium tests can you do one using the other...
GECon2017_ Security testing and selenium tests can you do one using the other...GECon2017_ Security testing and selenium tests can you do one using the other...
GECon2017_ Security testing and selenium tests can you do one using the other...
 
GECon2017_Programming from the cradle_Aliaksei_Rabchanka, Pavel_Yukhnovich
GECon2017_Programming from the cradle_Aliaksei_Rabchanka, Pavel_YukhnovichGECon2017_Programming from the cradle_Aliaksei_Rabchanka, Pavel_Yukhnovich
GECon2017_Programming from the cradle_Aliaksei_Rabchanka, Pavel_Yukhnovich
 
GECon2017_Cpp a monster that no one likes but that will outlast them all _Ya...
GECon2017_Cpp  a monster that no one likes but that will outlast them all _Ya...GECon2017_Cpp  a monster that no one likes but that will outlast them all _Ya...
GECon2017_Cpp a monster that no one likes but that will outlast them all _Ya...
 
GECon2017_Mobile testing overview Viktar_Knyshau
GECon2017_Mobile testing overview Viktar_KnyshauGECon2017_Mobile testing overview Viktar_Knyshau
GECon2017_Mobile testing overview Viktar_Knyshau
 
GECon2017_ Learning english-the way to success (mr. language)
GECon2017_ Learning english-the way to success (mr. language)GECon2017_ Learning english-the way to success (mr. language)
GECon2017_ Learning english-the way to success (mr. language)
 
GECon2017_ Hybris from the start to thousands orders.how business receives th...
GECon2017_ Hybris from the start to thousands orders.how business receives th...GECon2017_ Hybris from the start to thousands orders.how business receives th...
GECon2017_ Hybris from the start to thousands orders.how business receives th...
 
GECon2017_ How to make customers happy_ Julia Rumantseva
GECon2017_ How to make customers happy_ Julia RumantsevaGECon2017_ How to make customers happy_ Julia Rumantseva
GECon2017_ How to make customers happy_ Julia Rumantseva
 
GECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon2017_High-volume data streaming in azure_ Aliaksandr LaishaGECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
GECon2017_High-volume data streaming in azure_ Aliaksandr Laisha
 
GECon2017_Building scalable application with cqrs and event sourcing (a. hars...
GECon2017_Building scalable application with cqrs and event sourcing (a. hars...GECon2017_Building scalable application with cqrs and event sourcing (a. hars...
GECon2017_Building scalable application with cqrs and event sourcing (a. hars...
 
GECon2017_Best ideas started in garages the heart of innovation_Andrei Medved...
GECon2017_Best ideas started in garages the heart of innovation_Andrei Medved...GECon2017_Best ideas started in garages the heart of innovation_Andrei Medved...
GECon2017_Best ideas started in garages the heart of innovation_Andrei Medved...
 

Kürzlich hochgeladen

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Kürzlich hochgeladen (20)

Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 

GECon2017_ Lean_architecturemanagement_Andrei Kavaleu

  • 2. 2 ABOUT ME • 14+ years of experience in IT architecture, technical leadership, software development • Main Focus on .NET, cross-language architecture, Architecture Design and Review, Architecture Audit and Governance • SEI certified Architect • Microsoft Competency Center expert, Architecture community leader • Hands-on experience examples: – As Solution Architect: Ticketing platform for Premier League clubs (eCommerce, CRM, CMS, inventory management, AWS migration, millions of users on peeks) – As Architect and Team Lead: Production automation and railway transportation (Integration with ERP, hardware integration, production pipeline management, shop-floor data collection, multi-site environment – 16 factories across EU, thousands of workstations)
  • 3. 3 • Is it hard to make right architecture? • Case for today: from Darkness to Light • Agile transition: Complex things via simple steps • Lean applied: Changing architecture • Vision is not enough: Channing processes AGENDA
  • 4. 4 Is it hard to make right architecture?
  • 5. 5 • What is Architecture? • Is here someone who creates Architecture as part of his job? • Who implements things according to Architecture? • Who has no Architecture on his project? • Who doesn’t need it? WHAT IS ARCHITECTURE
  • 6. 6 Architecture is a set of rules and already made decisions on how a system is to be built Good architecture is good decisions and good approach WHAT IS ARCHITECTURE
  • 11. 12 EXAMPLE: WEB APPLICATION HOSTING https://epa.ms/aws-ref-arch
  • 12. 13 EXAMPLE: WORD PRESS HOSTING https://epa.ms/aws-ref-arch
  • 13. 14 EXPAMPLE: NETFLIX OSS STACK https://netflix.github.io/
  • 14. 16 • MapReduce and more fault tolerance than you need might sound fine, but consider the cost: you might be switching from a mature system—with stuff like transactions, indexes, and query optimizers • Dynamo and Cassandra are distributed databases prioritize write availability. Amazon wanted the “add to cart” action to never fail. This was done by compromising consistency, as well as basically every feature present in a traditional RDBMS • Kafka was designed to handle the throughput of all the analytics events at LinkedIn: to around 1 trillion events per day, with peaks of over 10 million messages per second. • … YOU ARE NOT GOOGLE https://epa.ms/gc-not-google
  • 16. 18 Case for today: from Darkness to Light
  • 17. 19 Problem • 20+ years old, 1.5M LoC big legacy system • Hard to add new features and extend existing code. Reached capacity of VB6 • Painful releases: hard to ensure appropriate quality • 100+ clients afraid of new changes Business Drivers/Goals • Get control on updates of clients apps • Decrease operational, infrastructure, license cost • Add new clients easier • Continuous Improvement SYSTEM AS IT WAS
  • 18. 20 Problem • 20+ years old, 1.5M LoC big legacy system • Demand driven development • 400+ forms, 600+ DB tables • 100+ clients afraid of new changes Business Drivers/Goals • Get control on updates of clients apps • Decrease operational, infrastructure, license cost • Add new clients easier • Continuous Improvement SYSTEM AS IT WAS
  • 19. 21 IS THIS OUR END STATE?
  • 20. 22 Good architecture is good decisions and good approach RIGHT ENOUGH DECISIONS UPFRONT • Make good decisions in face of uncertainty and lack of time • Don’t constraint developers • Imagine ideal future
  • 21. 23 IDEAL FUTURE Long-Term Goals: • Speed and Confidence Improve product development. Reduce time to market. Allow Experiments • Flexibility & Stability Reconfigure services. Make new products. Enable innovation
  • 22. 24 HOW TO REACH THIS FUTURE? Long-Term Goals: • Speed and Confidence Improve product development. Reduce time to market. Allow Experiments • Flexibility & Stability Reconfigure services. Make new products. Enable innovation
  • 24. 26 AGILE AND ARCHITECTURE? AGILE Iterative and incremental Frequent delivery of releases Small and lightweights requirements Teams are decisions makers Decisions could be changed frequently Short planning (sprint/product backlog) Value is visible on every release ARCHITECTURE (MYTHS) Big up-front design Longer releases Massive documentation Architects are decisions makers Decisions are hard to change Long-term design Low visible value
  • 27. 30 TRANSITION VIA SMALL STEPS • Small agile steps toward reference architecture • Measure each step and react • Adjust next steps forward
  • 28. 31 SMALL STEPS EXAMPLE: PRINTING • External component • Owns printers • Rendering via external engine • Available for other systems via REST Steps: • In-Process component • In-Process REST API (Loop-Back) • Out-Of-Process REST API APP TCT (Rendering Engine) Physical Printers VM Printing Service Printers ownership Batch Printing ... Other Systems Other Systems Other Systems
  • 29. 32 SMALL STEPS EXAMPLE: PAYMENT • External component • Multiple Payment Providers • Available for other systems via REST Steps: • In-Process component • In-Process REST API (Loop-Back) • Out-Of-Process REST API OUR APP IPS (For now Credit Cards and Bank transfer) 3rd party Integrations Payment Service 12+ Methods of payment Other Systems Other Systems Other Systems
  • 30. 33 SMALL STEPS EXAMPLE: ACCESS CONTROL • External component • Unifies AC-systems access • Available for other systems via REST? Similar Steps again and again: • In-Process component • Unify AC integration via DB • In-Process REST API (Loop-Back) • Out-Of-Process REST API OUR APP Access Control Service DB Inegration Fortress Other Systems Other Systems Other Systems Access Manager Ski Data ?
  • 31. 35 NEW CAPABILITIES AS STEPS • Promotions • Supporters Clubs • Soccer Schools • Ticket Resale • Merchandise sales (e-commerce) • 3rd party sales via API • … • Amazon Alexa integration? Reference architecture Application 1 Web Application 2 Desktop Application N Web TM Capability #1 (Printing) Service Component 1 Service Component 2 TM Capability #3 (Payments) TM Capability #2 (Mailing)
  • 32. 36 Vision is not enough: change your processes
  • 33. 37 • Build and Visualize your value stream Do you have CI/CD pipeline? • Ensure the steps occur in sequence Do you skip steps? • Change process from push to pull Do you use Feature Flags? • Measure you process Do you collect process metrics? PROCESS CHANGES (TOWARD LEAN)
  • 34. 38 VALUE STREAM IS DEVELOPMENT PIPELINE Development Specification Development Code Review Testing CI Build Unit/Integration Tests Code Analysis QA Auto Tests Manual Tests Staging Integration Tests Load Tests Capacity Stress Tests UAT Production Blue/Green Deployment Feature Release Monitoring
  • 35. 42 Feature Flags • Disable Feature if it’s not ready or doesn’t work • No Roll-Backs • Let user decide what to Turn On • Your binaries contain Future features • UAT in Prod? Possible • Next step is A/B testing  https://martinfowler.com/articles/feature-toggles.html
  • 36. 44 OUR STATE AS FOR TODAY • 100% Code coverage • AQA coverage for Release -1 • Monthly releases for 30+ team (no excuses) • Devs are making architectural decisions • Team got incremental mindset Room for improvements • Weekly releases. Bottleneck – 2 weeks for regression
  • 37. 45 THANK YOU • PM: Dmitry D. • Team Leads: Viachaslau L., Alexey A., Vital S. and their Dev Teams • BA: Siarhei K. and his BA Team • QA: Natalia P. and her QA Team • AQA: Maksim S. and his AQA Team • DevOps: Timur S. and his DevOps Team • Tech Leads: Alex Ch., Yauhen K., Kanstantsin H. • and our Customer who allows all this 
  • 39. 47 AGILE AND ARCHITECTURE! AGILE Iterative and incremental Frequent delivery of releases Small and lightweights requirements Teams are decisions makers Decisions could be changed frequently Short planning (sprint/product backlog) Value is visible on every release ARCHITECTURE (REALITY) Reasonable up-front design Incremental design updates Simplified documentation Shared decisions Evolutionary architecture Incremental design Value is visible few releases