agile architecture agile dev practices 2013 keynote

50
AGILE YET ANOTHER OXYMORON? ARCHITECTURE Adam Boczek @nativeagile @codecentric Agile Dev Practices 2013 | Keynote 06/03/2013| Potsdam | Germany

Upload: adam-boczek

Post on 19-Jan-2015

1.269 views

Category:

Technology


2 download

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

Page 1: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE YET ANOTHER OXYMORON?ARCHITECTURE

Adam Boczek

@nativeagile

@codecentric

Agile Dev Practices 2013 | Keynote 06/03/2013| Potsdam | Germany

Page 2: Agile Architecture Agile Dev Practices 2013 Keynote

OXYMORON.

#CONTROLLED CHAOS#OPEN SECRET#DARK LIGHT#LIVING DEAD

#AGILE ARCHITECTURE?

Page 3: Agile Architecture Agile Dev Practices 2013 Keynote

PROCESS?FLAVOR?BEHAVIOR?

AGILE ARCHITECTURE

Page 4: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREAS ANARCHITECTURALPROCESS?

Page 5: Agile Architecture Agile Dev Practices 2013 Keynote

THE MOTIVATIONBECAUSE OF BUSINESSFOR THE BUSINESS

BASED ON INNOVATION

Page 6: Agile Architecture Agile Dev Practices 2013 Keynote

TYPES OF INNOVATION#EVOLUTIONARY#REVOLUTIONARY#DISRUPTIVE

Page 7: Agile Architecture Agile Dev Practices 2013 Keynote

EVOLUTIONARYINNOVATION

VWBEETLE1938-1978

Page 8: Agile Architecture Agile Dev Practices 2013 Keynote

REVOLUTIONARYINNOVATION

ELECTRICCAR

Page 9: Agile Architecture Agile Dev Practices 2013 Keynote

DISRUPTIVE INNOVATION

INTERNET

Page 10: Agile Architecture Agile Dev Practices 2013 Keynote

EVOLUTIONARY INNOVATION KEEPS YOUR BUSINESS RUNNING ONLY

REVOLUTIONARY INNOVATIONGUARANTEES NOWADAYS THE BUSINESS SUCCESS

DISRUPTIVE INNOVATIONCAN ALWAYS HAPPEN AND IS EASY TO EVALUATE

Page 11: Agile Architecture Agile Dev Practices 2013 Keynote

THEY (BUSINESS) HAVE THEIR OWN

BUSINESS ARCHITECTURE*

PROCESSES

ENTITIESCommunication

FACADES

GOALS

* chris Reynolds

Page 12: Agile Architecture Agile Dev Practices 2013 Keynote

THEY (BUSINESS) MAY WANT TO

CHANGE EVERYTHING

PROCESSES

ENTITIESCommunication

FACADES

GOALS

Page 13: Agile Architecture Agile Dev Practices 2013 Keynote

THEY (BUSINESS)

NEED US (IT)

Page 14: Agile Architecture Agile Dev Practices 2013 Keynote

DISCREPANCYBETWEEN BUSINESS NEEDS AND IT DELIVERY

’80s ’90s ‘00s ‘10s

Business Need for Change

IT Ability To Deliver

Agile

Architecture?

Page 15: Agile Architecture Agile Dev Practices 2013 Keynote

WE HAVE OUR OWN

IT ARCHITECTURE*

Development

DEPLOYMENTQUALITY

Functionality

Scenarios

* Based on the concept by Philippe Kruchten

Page 16: Agile Architecture Agile Dev Practices 2013 Keynote

EnterpriseArchitecture

Development

DEPLOYMENTQUALITY

Functionality

Scenarios

PROCESSES

ENTITIESCommunication

FACADES

GOALS

http://blog.codecentric.de/en/2013/01/business-architecture-for-it-dummies/

Page 17: Agile Architecture Agile Dev Practices 2013 Keynote

CLEANARCHITECTURE*

Enterprise Business Rules

Application Business Rules

Interface Adapters

Frameworks & Drivers

Entities

Controllers

Ext. Interfaces

Use Cases

* Robert C. Martin (Uncle Bob)

Page 18: Agile Architecture Agile Dev Practices 2013 Keynote

INFLUENCE OF THE EVOLUTIONARYINNOVATION ON THE IT

Enterprise Business Rules

Application Business Rules

Interface Adapters

Frameworks & Drivers

Entities

Controllers

Ext. Interfaces

Use Cases

Page 19: Agile Architecture Agile Dev Practices 2013 Keynote

INFLUENCE OF THE REVOLUTIONARYINNOVATION ON THE IT

Enterprise Business Rules

Application Business Rules

Interface Adapters

Frameworks & Drivers

Entities

Controllers

Ext. Interfaces

Use Cases

Page 20: Agile Architecture Agile Dev Practices 2013 Keynote

INFLUENCE OF THE DISRUPTIVEINNOVATION ON THE IT

Enterprise Business Rules

Application Business Rules

Interface Adapters

Frameworks & DriversEntities

Controllers

Ext. Interfaces

Use Cases

Page 21: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE PROCESS BASED “ARCHITECTURE”

#Iterative

#Incremental

Page 22: Agile Architecture Agile Dev Practices 2013 Keynote

LEAN PROCESSBASED „ARCHITECTURE“

#Defer Commitment and Decide As Late As Possible

#Deliver As Fast As Possible

#See and Optimize the Whole

Page 23: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREAS ANARCHITECTURALPROCESS?

Page 24: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREAS AN ARCHITECTURALFLAVOR?

Page 25: Agile Architecture Agile Dev Practices 2013 Keynote

AGILEARCHITECTURE

TRANSPARENCY AND INSPECTION?

Page 26: Agile Architecture Agile Dev Practices 2013 Keynote

AGILEARCHITECTUREADAPTATION?

Page 27: Agile Architecture Agile Dev Practices 2013 Keynote

ARCHITECTURE* IS LIKE

CONCRETE

* By Ian Graham

Page 28: Agile Architecture Agile Dev Practices 2013 Keynote

YOU CAN’T REFACTORARCHITECTUREIF SOMETHING WENT WRONGYOU HAVE TO

REDESIGN THE SYSTEM…

Page 29: Agile Architecture Agile Dev Practices 2013 Keynote

OR MAYBE…?

Page 30: Agile Architecture Agile Dev Practices 2013 Keynote

CLEANARCHITECTURE

Entities

Controllers

Ext. Interfaces

Use Cases

Active RecordDomain driven DesignCQRSAND MORE…

Page 31: Agile Architecture Agile Dev Practices 2013 Keynote

CLEAN HYBRIDARCHITECTURE

Ext. Interfaces

Entities

Controllers

Use Cases

Entities

Controllers

Use Cases

Entities

Controllers

Use Cases

Active Record CQRSDomain DrivenDesign

Page 32: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREAS AN ARCHITECTURALFLAVOR?

Page 33: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREAS ANARCHITECTURALBEHAVIOR?

Page 34: Agile Architecture Agile Dev Practices 2013 Keynote

I HAD A DREAMTRANSPARENCYINSPECTIONADAPTATION

Page 35: Agile Architecture Agile Dev Practices 2013 Keynote

MEDICAL ROBOTS

Page 36: Agile Architecture Agile Dev Practices 2013 Keynote

HUMAN OPTIMIZING

HUMAN HEALING

Page 37: Agile Architecture Agile Dev Practices 2013 Keynote

WHAT!?!SYSTEMTHAT ISSELF-OPTIMIZING = PRO-ACTIVESELF-HEALING = RE-ACTIVE

Page 38: Agile Architecture Agile Dev Practices 2013 Keynote

SELF-OPTIMIZING

QUERYOPTIMIZER

Page 39: Agile Architecture Agile Dev Practices 2013 Keynote

SELF-OPTIMIZING

LOADBALANCER

Page 40: Agile Architecture Agile Dev Practices 2013 Keynote

SELF-HEALING

WORKERPROCESSRECYCLING

Page 41: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREMEANS

ARCHITECTURALINTELLIGENCE

ABILITY OF THE SYSTEMTO MONITOR, OPTIMIZE, AND HEAL

ITSELF

Page 42: Agile Architecture Agile Dev Practices 2013 Keynote

QUALITY ATTRIBUTES

PERFORMANCE AND SCALABILITYAVAILABILITY AND RESILIENCE

EVOLUTIONACCESSIBILITY

INTERNATIONALIZATION LOCATION

REGULATION USABILITY SECURITY

FOUNDATION OFARCHITECTURAL INTELLIGENCE

Page 43: Agile Architecture Agile Dev Practices 2013 Keynote

FOUNDATION OFARCHITECTURAL INTELLIGENCE

REVERSIBLE COMPUTATION*LOGICAL REVERSIBILITY

* Lange, McKenzie, Tapp

Initial state

Final state

ConfigurationWith State Transition

Page 44: Agile Architecture Agile Dev Practices 2013 Keynote

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

Page 45: Agile Architecture Agile Dev Practices 2013 Keynote

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

Page 46: Agile Architecture Agile Dev Practices 2013 Keynote

PLENTY OF APPLICATION POSSIBILITIES

#OPERATIONAL INTELLIGENCE#ACTIVE STRATEGY PATTERNS#ADAPTIVE USER EXPERIENCE#AUTOMATIC ERROR REMOVAL

AND MORE…

Page 47: Agile Architecture Agile Dev Practices 2013 Keynote

ARCHITECTURAL INTELLIGENCEFOR OPERATIONAL INTELLIGENCE

Process Execution Platform

Jee, Activity Process ControlCenter

Big Data, HadoopInspection

Adaptation

Page 48: Agile Architecture Agile Dev Practices 2013 Keynote

AGILE ARCHITECTUREAS ANARCHITECTURALBEHAVIOR?

Page 49: Agile Architecture Agile Dev Practices 2013 Keynote

PROCESS?FLAVOR?BEHAVIOR?

AGILE ARCHITECTURE

UP-FRONT ONLY

HYBRID ARCHITECTURE

ARCHITECTURALINTELLIGENCE

Page 50: Agile Architecture Agile Dev Practices 2013 Keynote

Adam Boczekmanagement Consultant

Agile Coach

Enterprise Architect

@nativeagile

[email protected]

http://codecentric.de

@codecentric

THANK YOU!