agile architecture agile dev practices 2013 keynote
DESCRIPTION
Keynote: Agile Dev Practices 2013 Adam Boczek, codecentric – “Agile Architecture – Yet Another Oxymoron?” We at codecentric, as a technically focused agile organization, get in our projects quite often confronted with the assessment of a customer’s software architecture, or more precisely with the assessment of the existing solution architecture. In many cases it is ok for us to stay in this technical scope and not to touch other, much wider architectural concepts like e.g. enterprise architecture. However, due to the fact, that more and more organizations want to transform to a more agile organization, the alignment between IT and Business, and thus between IT-architecture and Business-architecture becomes much more relevant for us in our projects than in the past and causes many questions to arise. Can we talk in this context about agile architecture? And if so, is it a model of a system or maybe just a process of creating it? Or maybe both? How long can I delay my architectural decisions? Can I refactor my agile architecture? And so on… In this talk I won’t give you perfect answers to all these questions, however I’m pretty sure I will open your eyes and let you create your own point of view.TRANSCRIPT
AGILE YET ANOTHER OXYMORON?ARCHITECTURE
Adam Boczek
@nativeagile
@codecentric
Agile Dev Practices 2013 | Keynote 06/03/2013| Potsdam | Germany
OXYMORON.
#CONTROLLED CHAOS#OPEN SECRET#DARK LIGHT#LIVING DEAD
#AGILE ARCHITECTURE?
PROCESS?FLAVOR?BEHAVIOR?
AGILE ARCHITECTURE
AGILE ARCHITECTUREAS ANARCHITECTURALPROCESS?
THE MOTIVATIONBECAUSE OF BUSINESSFOR THE BUSINESS
BASED ON INNOVATION
TYPES OF INNOVATION#EVOLUTIONARY#REVOLUTIONARY#DISRUPTIVE
EVOLUTIONARYINNOVATION
VWBEETLE1938-1978
REVOLUTIONARYINNOVATION
ELECTRICCAR
DISRUPTIVE INNOVATION
INTERNET
EVOLUTIONARY INNOVATION KEEPS YOUR BUSINESS RUNNING ONLY
REVOLUTIONARY INNOVATIONGUARANTEES NOWADAYS THE BUSINESS SUCCESS
DISRUPTIVE INNOVATIONCAN ALWAYS HAPPEN AND IS EASY TO EVALUATE
THEY (BUSINESS) HAVE THEIR OWN
BUSINESS ARCHITECTURE*
PROCESSES
ENTITIESCommunication
FACADES
GOALS
* chris Reynolds
THEY (BUSINESS) MAY WANT TO
CHANGE EVERYTHING
PROCESSES
ENTITIESCommunication
FACADES
GOALS
THEY (BUSINESS)
NEED US (IT)
DISCREPANCYBETWEEN BUSINESS NEEDS AND IT DELIVERY
’80s ’90s ‘00s ‘10s
Business Need for Change
IT Ability To Deliver
Agile
Architecture?
WE HAVE OUR OWN
IT ARCHITECTURE*
Development
DEPLOYMENTQUALITY
Functionality
Scenarios
* Based on the concept by Philippe Kruchten
EnterpriseArchitecture
Development
DEPLOYMENTQUALITY
Functionality
Scenarios
PROCESSES
ENTITIESCommunication
FACADES
GOALS
http://blog.codecentric.de/en/2013/01/business-architecture-for-it-dummies/
CLEANARCHITECTURE*
Enterprise Business Rules
Application Business Rules
Interface Adapters
Frameworks & Drivers
Entities
Controllers
Ext. Interfaces
Use Cases
* Robert C. Martin (Uncle Bob)
INFLUENCE OF THE EVOLUTIONARYINNOVATION ON THE IT
Enterprise Business Rules
Application Business Rules
Interface Adapters
Frameworks & Drivers
Entities
Controllers
Ext. Interfaces
Use Cases
INFLUENCE OF THE REVOLUTIONARYINNOVATION ON THE IT
Enterprise Business Rules
Application Business Rules
Interface Adapters
Frameworks & Drivers
Entities
Controllers
Ext. Interfaces
Use Cases
INFLUENCE OF THE DISRUPTIVEINNOVATION ON THE IT
Enterprise Business Rules
Application Business Rules
Interface Adapters
Frameworks & DriversEntities
Controllers
Ext. Interfaces
Use Cases
AGILE PROCESS BASED “ARCHITECTURE”
#Iterative
#Incremental
LEAN PROCESSBASED „ARCHITECTURE“
#Defer Commitment and Decide As Late As Possible
#Deliver As Fast As Possible
#See and Optimize the Whole
AGILE ARCHITECTUREAS ANARCHITECTURALPROCESS?
AGILE ARCHITECTUREAS AN ARCHITECTURALFLAVOR?
AGILEARCHITECTURE
TRANSPARENCY AND INSPECTION?
AGILEARCHITECTUREADAPTATION?
ARCHITECTURE* IS LIKE
CONCRETE
* By Ian Graham
YOU CAN’T REFACTORARCHITECTUREIF SOMETHING WENT WRONGYOU HAVE TO
REDESIGN THE SYSTEM…
OR MAYBE…?
CLEANARCHITECTURE
Entities
Controllers
Ext. Interfaces
Use Cases
Active RecordDomain driven DesignCQRSAND MORE…
CLEAN HYBRIDARCHITECTURE
Ext. Interfaces
Entities
Controllers
Use Cases
Entities
Controllers
Use Cases
Entities
Controllers
Use Cases
Active Record CQRSDomain DrivenDesign
AGILE ARCHITECTUREAS AN ARCHITECTURALFLAVOR?
AGILE ARCHITECTUREAS ANARCHITECTURALBEHAVIOR?
I HAD A DREAMTRANSPARENCYINSPECTIONADAPTATION
MEDICAL ROBOTS
HUMAN OPTIMIZING
HUMAN HEALING
WHAT!?!SYSTEMTHAT ISSELF-OPTIMIZING = PRO-ACTIVESELF-HEALING = RE-ACTIVE
SELF-OPTIMIZING
QUERYOPTIMIZER
SELF-OPTIMIZING
LOADBALANCER
SELF-HEALING
WORKERPROCESSRECYCLING
AGILE ARCHITECTUREMEANS
ARCHITECTURALINTELLIGENCE
ABILITY OF THE SYSTEMTO MONITOR, OPTIMIZE, AND HEAL
ITSELF
QUALITY ATTRIBUTES
PERFORMANCE AND SCALABILITYAVAILABILITY AND RESILIENCE
EVOLUTIONACCESSIBILITY
INTERNATIONALIZATION LOCATION
REGULATION USABILITY SECURITY
FOUNDATION OFARCHITECTURAL INTELLIGENCE
FOUNDATION OFARCHITECTURAL INTELLIGENCE
REVERSIBLE COMPUTATION*LOGICAL REVERSIBILITY
* Lange, McKenzie, Tapp
Initial state
Final state
ConfigurationWith State Transition
SIMPLIFICATION#ONE-TO-ONE FUNCTIONS#INPUT AND OUTPUT VALUES#TIMESTAMPS
T1 | State 1 T2 | State 2 T3 | State 3
Storage
T1 | State 1
T2 | State 2
T3 | State 3
EVENT SOURCINGCAPTURE ALL CHANGES TO AN APPLICATION STATE AS A SEQUENCE OF EVENTS*
* M. Fowler
T1 | State 1 T2 | State 2 T3 | State 3
Consumer C
T1 | State 1
T2 | State 2
T3 | State 3
Consumer A
T1 | State 1
T2 | State 2
T3 | State 3
Consumer B
T1 | State 1
T2 | State 2
T3 | State 3
PLENTY OF APPLICATION POSSIBILITIES
#OPERATIONAL INTELLIGENCE#ACTIVE STRATEGY PATTERNS#ADAPTIVE USER EXPERIENCE#AUTOMATIC ERROR REMOVAL
AND MORE…
ARCHITECTURAL INTELLIGENCEFOR OPERATIONAL INTELLIGENCE
Process Execution Platform
Jee, Activity Process ControlCenter
Big Data, HadoopInspection
Adaptation
AGILE ARCHITECTUREAS ANARCHITECTURALBEHAVIOR?
PROCESS?FLAVOR?BEHAVIOR?
AGILE ARCHITECTURE
UP-FRONT ONLY
HYBRID ARCHITECTURE
ARCHITECTURALINTELLIGENCE
Adam Boczekmanagement Consultant
Agile Coach
Enterprise Architect
@nativeagile
http://codecentric.de
@codecentric
THANK YOU!