63
BUILDING SYSTEMS THAT PIVOT Andy Marks [email protected] @andee_marks Zhamak Dehghani [email protected] @zhamakd

Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

Embed Size (px)

DESCRIPTION

Your customers are demanding more every day, and pushing you to deliver features faster than ever before. But do your systems let you move with the speed needed for achieving competitive advantage? This talk introduces concepts in system design that are driven by customers, and allow businesses to pivot faster, and with a higher level of confidence.

Citation preview

Page 1: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BUILDING SYSTEMS THAT PIVOT

Andy Marks [email protected]

@andee_marks

Zhamak Dehghani [email protected] @zhamakd

Page 2: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 3: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 4: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 5: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 6: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 7: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 8: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 9: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 10: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

CONTINUOUS DELIVERY AS AN ENABLER • automated build • automated deployment • automated environment provisioning - cloud & virtualisation • automated testing

Page 11: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

CONTINUOUS DELIVERY AS AN ENABLER • automated build • automated deployment • automated environment provisioning - cloud & virtualisation • automated testing

SP

EE

D O

F D

EL

IVE

RY

C D M A T U R I T Y L E V E L

Threshold without changing architecture

Page 12: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ARCHITECTURE

Page 13: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Build Test Integration Acceptance Production

System.out.println (“Hello World!”);

How long will this take?

Page 14: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 15: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ELEMENTS OF ARCHITECTURE 

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

Page 16: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ELEMENTS OF ARCHITECTURE 

Integration

Off-the-shelf

Bespoke

Off-the-shelf

Bespoke

Integration

Integration

Integration

BESPOKE DEVELOPMENT

Page 17: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

MONOLITHIC ARCHITECTURES

Page 18: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 19: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 20: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 21: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

LAYERED/TIERED ARCHITECTURE

User Interface/Channels

Business Logic/ Frameworks/Middleware

Database/Systems of Record ?

Page 22: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 23: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 24: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 25: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

FINE-GRAINED ARCHITECTURE

Page 26: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BOUNDARIES

Page 27: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 28: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 29: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 30: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 31: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BOUNDARIES

A business capability

Placing Order

Tracking Order

Short-term experimentation

Drone Based

Delivery

Technology & security requirements

Debit Cards

Credit Card

Payments

CAN I RELEASE THESE INDEPENDENTLY?

Page 32: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf MICRO SERVICES

•  Independent •  Business capability •  Published interface

•  Small •  100s, not 1000s

Page 33: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

BENEFITS

User Interface/Channels

Business Logic/ Frameworks/Middleware

Database/Systems of Record

Page 34: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTONOMY

AUTONOMY ➡ SPEED

Page 35: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

ABSORBS TECHNOLOGY FASTER

.NET

Clojure

Java

[SQL Database]

[Graph Database]

[Document Storage]

Page 36: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

COMPOSE-ABILITY

Page 37: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 38: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 39: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 40: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 41: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTOMATE! AUTOMATE!

AUTOMATE!

Page 42: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTOMATION

Build Test Integration Acceptance Production

Page 43: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AUTOMATION Build Test Integration Acceptance Production

Page 44: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 45: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 46: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

MONITORING

STATUS •  Up? •  Down?

STATUS •  All up? •  All down? •  Mostly up? •  Up apart from 1? •  All of the important bits are up? •  …

Page 47: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 48: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 49: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

AMAZON PRODUCT PAGE

DOESN’T APPEAR… DO WE CARE?

Page 50: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf

Bespoke

OFF-THE-SHELF SOFTWARE

Page 51: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 52: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 53: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 54: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

PRODUCT SELECTION CRITERIA

•  Can you write automated tests against it?

•  Can it be automatically deployed?

•  Can its environments be automatically provisioned?

•  Can updates be automatically applied?

•  Does it fit the way you work?

•  Is it built using open standards?

•  Does it run on open platforms?

•  Is data stored in open formats?

•  Is it open source?

Page 55: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

COTS

TRADE SUBMISSION

CONFIRMATION RECEIPT

Hosted COTS

trade instructions

trade confirmations

Page 56: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

A THOUGHT EXPERIMENT  

Integration

Off-the-shelf

Bespoke

COMPONENT INTEGRATION

Page 57: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

INTEGRATION

Smart & Complex Integration System

Page 58: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks
Page 59: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

Simple & Dumb Integration

Open standards (e.g., HTTP)

Page 60: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

Simple & Dumb Infrastructure SUMMARY

Page 61: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

RECOMMENDATIONS

• Bespoke development ➡ microservices – Automate everything!

• Off-the-shelf software ➡ utility systems – Select for automation and open standards

• Component integration – Dumb, open and “of the web”

OTS

Bespoke

Bespoke

OTS

Page 62: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

CONCLUSION

Page 63: Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, ThoughtWorks | Andy Maks, Technical Principal, ThoughtWorks

THANK  YOU  Zhamak Dehghani

[email protected] @zhamakd

Andy Marks [email protected] @andee_marks