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 ARCHITECTURE
AS AN
ARCHITECTURAL
PROCESS?
THE MOTIVATION
BECAUSE OF BUSINESS
FOR THE BUSINESS



BASED ON INNOVATION
TYPES OF   INNOVATION
#EVOLUTIONARY
#REVOLUTIONARY
#DISRUPTIVE
VW
        BEETLE
        1938-1978




EVOLUTIONARY
INNOVATION
ELECTRIC
     CAR




REVOLUTIONARY
      INNOVATION
INTERNET




DISRUPTIVE INNOVATION
EVOLUTIONARY INNOVATION
KEEPS YOUR BUSINESS RUNNING ONLY

REVOLUTIONARY INNOVATION
GUARANTEES NOWADAYS THE BUSINESS SUCCESS

DISRUPTIVE INNOVATION
CAN ALWAYS HAPPEN AND IS EASY TO EVALUATE
THEY (BUSINESS) HAVE THEIR OWN
BUSINESS ARCHITECTURE*
                      FACADES           PROCESSES

                                GOALS

                   Communication         ENTITIES

* chris Reynolds
THEY (BUSINESS) MAY WANT TO
CHANGE EVERYTHING
           FACADES           PROCESSES

                     GOALS

        Communication         ENTITIES
THEY (BUSINESS)
NEED US (IT)
DISCREPANCY
BETWEEN BUSINESS NEEDS AND IT DELIVERY
  Business Need for Change
                                               Agile
  IT Ability To Deliver                    Architecture?




                  ’80s       ’90s   ‘00s   ‘10s
WE HAVE OUR OWN
                 IT ARCHITECTURE*
                        Functionality         Development

                                        Scenarios

                             QUALITY          DEPLOYMENT

* Based on the concept by Philippe Kruchten
Enterprise                                           FACADES                PROCESSES
  Architecture
                                                                 GOALS

                                                   Communication               ENTITIES

                                                    Functionality         Development


                                                              Scenarios

                                                       QUALITY            DEPLOYMENT


http://blog.codecentric.de/en/2013/01/business-architecture-for-it-dummies/
Enterprise Business Rules
        Application Business Rules   Controllers
        Interface Adapters            Use Cases
        Frameworks & Drivers

                                       Entities




CLEAN                                Ext. Interfaces


ARCHITECTURE*
* Robert C. Martin (Uncle Bob)
Enterprise Business Rules
   Application Business Rules   Controllers
   Interface Adapters            Use Cases
   Frameworks & Drivers

                                  Entities




INFLUENCE OF
THE EVOLUTIONARY                Ext. Interfaces

INNOVATION ON THE IT
Enterprise Business Rules
   Application Business Rules   Controllers
   Interface Adapters            Use Cases
   Frameworks & Drivers

                                  Entities




INFLUENCE OF
THE REVOLUTIONARY               Ext. Interfaces

INNOVATION ON THE IT
Enterprise Business Rules
   Application Business Rules   Controllers
   Interface Adapters            Use Cases
   Frameworks & Drivers
                                  Entities




INFLUENCE OF
THE DISRUPTIVE                  Ext. Interfaces

INNOVATION ON THE IT
AGILE PROCESS
BASED “ARCHITECTURE”
#Iterative
#Incremental
LEAN PROCESS
BASED „ARCHITECTURE“
#Defer Commitment and Decide As Late As Possible
#Deliver As Fast As Possible
#See and Optimize the Whole
AGILE ARCHITECTURE
AS AN
ARCHITECTURAL
PROCESS?
AGILE ARCHITECTURE
AS AN
ARCHITECTURAL
FLAVOR?
AGILE
    ARCHITECTURE
TRANSPARENCY AND
      INSPECTION?
AGILE
ARCHITECTURE
ADAPTATION?
ARCHITECTURE* IS
                  LIKE
                  CONCRETE


* By Ian Graham
YOU CAN’T REFACTOR
ARCHITECTURE
IF SOMETHING WENT WRONG
YOU HAVE TO
REDESIGN THE
SYSTEM…
OR MAYBE…?
CLEAN
ARCHITECTURE
                       Controllers

                        Use Cases

Active Record
Domain driven Design     Entities
CQRS
AND MORE…


                       Ext. Interfaces
CLEAN HYBRID
ARCHITECTURE

      Controllers     Controllers      Controllers
       Use Cases       Use Cases        Use Cases


        Entities        Entities         Entities




   Active Record    Domain Driven       CQRS
                    Design
                     Ext. Interfaces
AGILE ARCHITECTURE
AS AN
ARCHITECTURAL
FLAVOR?
AGILE ARCHITECTURE
AS AN
ARCHITECTURAL
BEHAVIOR?
I HAD A DREAM
TRANSPARENCY
INSPECTION
ADAPTATION
MEDICAL ROBOTS
HUMAN
OPTIMIZING
             HUMAN HEALING
WHAT!?!
SYSTEM
THAT IS
SELF-OPTIMIZING = PRO-ACTIVE
SELF-HEALING = RE-ACTIVE
SELF-OPTIMIZING
QUERY
OPTIMIZER
SELF-OPTIMIZING
LOAD
BALANCER
SELF-HEALING
WORKER
PROCESS
RECYCLING
AGILE ARCHITECTURE
MEANS
ARCHITECTURAL
INTELLIGENCE
                   ABILITY OF THE SYSTEM
           TO MONITOR, OPTIMIZE, AND HEAL
                             ITSELF
FOUNDATION OF
ARCHITECTURAL INTELLIGENCE
           PERFORMANCE AND SCALABILITY
              AVAILABILITY AND RESILIENCE
                               EVOLUTION
                            ACCESSIBILITY
                    INTERNATIONALIZATION
QUALITY                         LOCATION
                              REGULATION
ATTRIBUTES                      USABILITY
                                SECURITY
FOUNDATION OF
ARCHITECTURAL INTELLIGENCE
                          REVERSIBLE COMPUTATION*
                             LOGICAL REVERSIBILITY
     Initial                      Final
     state                        state



                                          Configuration
                                          With State Transition

* Lange, McKenzie, Tapp
SIMPLIFICATION
#ONE-TO-ONE FUNCTIONS
#INPUT AND OUTPUT VALUES
#TIMESTAMPS
       T1 | State 1   T2 | State 2            T3 | State 3




                                     T3 | State 3
                       Storage       T2 | State 2
                                     T1 | State 1
EVENT SOURCING
CAPTURE ALL CHANGES TO AN APPLICATION
STATE AS A SEQUENCE OF EVENTS*

              T1 | State 1    T2 | State 2              T3 | State 3



              T3 | State 3                   T3 | State 3                       T3 | State 3
 Consumer A   T2 | State 2   Consumer B      T2 | State 2          Consumer C   T2 | State 2
              T1 | State 1                   T1 | State 1                       T1 | State 1


* M. Fowler
PLENTY OF
APPLICATION
POSSIBILITIES
                #OPERATIONAL INTELLIGENCE
                #ACTIVE STRATEGY PATTERNS
                #ADAPTIVE USER EXPERIENCE
                #AUTOMATIC ERROR REMOVAL
                               AND MORE…
ARCHITECTURAL INTELLIGENCE
FOR OPERATIONAL INTELLIGENCE
                                 Adaptation

       Process Execution
       Platform
       Jee, Activity       Process Control
                                    Center
        Inspection         Big Data, Hadoop
AGILE ARCHITECTURE
AS AN
ARCHITECTURAL
BEHAVIOR?
UP-FRONT ONLY
PROCESS?    HYBRID ARCHITECTURE
FLAVOR?       ARCHITECTURAL
BEHAVIOR?     INTELLIGENCE



               AGILE
       ARCHITECTURE
Adam Boczek
    management Consultant
    Agile Coach
    Enterprise Architect
    @nativeagile
    adam.boczek@codecentric.de
    http://codecentric.de
    @codecentric




THANK YOU!

Agile Architecture Agile Dev Practices 2013 Keynote