THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and...

44
Evolutionary Architecture THE WHYS AND HOWS Rebecca Parsons Chief Technology Officer ThoughtWorks @rebeccaparsons

Transcript of THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and...

Page 1: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

E v o l u t i o n a r y A r c h i t e c t u r e

THE WHYS AND HOWSRebecca Parsons

Chief Technology OfficerThoughtWorks

@rebeccaparsons

Page 2: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

WHY SHOULD I CARE?Why should we care?

2

Page 3: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

We’re good at requirements change.

3

Page 4: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

What about ecosystem change?

4

Page 5: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

How is long term planning possible under constant

change?

5

Page 6: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

How do we maintain this dynamic equilibrium?

6

Page 7: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

7

Page 8: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

How do we know we’re maintaining our “ilities” over

time?

8

Page 9: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

WHAT IS EVOLUTIONARY ARCHITECTURE?What is evolutionary architecture?

9

Page 10: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

An evolutionary architecture supports guided incremental

change across multiple dimensions.

10

Page 11: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

An evolutionary architecture supports guided incremental

change across multiple dimensions.

11

Page 12: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

An evolutionary computing fitness function characterizes how close a solution is to the

desired result

12

Page 13: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:
Page 14: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

An architectural fitness function characterizes how

close a system is to the desired architectural

characteristics.

14

Page 15: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

TYPES OF FITNESS FUNCTIONS

▫ Atomic vs holistic▫ Static vs dynamic▫ Triggered vs continuous▫ Manual vs automated▫ Temporal▫ Domain-specific?

15

Page 16: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

EXAMPLE FITNESS FUNCTIONS

▫ Cyclic dependencies▫ Consumer driven contracts▫ Caching with staleness▫ Monitoring ▫ Synthetic transactions▫ Chaos Monkey

16

Page 17: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

An evolutionary architecture supports guided incremental

change across multiple dimensions.

17

Page 18: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Two aspects of incremental change - application and

operations

18

Page 19: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Application functionality

19

Page 20: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Incremental from an operations perspective

20

Page 21: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

An evolutionary architecture supports guided incremental

change across multiple dimensions.

21

Page 22: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

22

accessibility reliability repeatabilityaccountability extensibility reproducibility

accuracy failure transparency resilienceadaptability fault-tolerance responsiveness

administrability fidelity reusabilityaffordability flexibility robustness

agility inspectability safetyauditability installability scalabilityautonomy integrity seamlessnessavailability interchangeability self-sustainability

compatibility interoperability serviceabilitycomposability learnability supportabilityconfigurability maintainability securabilitycorrectness manageability simplicitycredibility mobility stability

customizability modifiability standards compliancedebugability modularity survivabilitydegradability operability sustainability

determinability orthogonality tailorabilitydemonstrability portability testabilitydependability precision timelinessdeployability predictability traceability

discoverability process capabilities transparencydistributability producibility ubiquity

durability provability understandabilityeffectiveness recoverability upgradability

efficiency relevance usability

-ilities

Page 23: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

PRINCIPLES

23

Page 24: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

PRINCIPLES OF EVOLUTIONARY ARCHITECTURE

▫ Last responsible moment▫ Architect and develop for evolvability▫ Postels Law▫ Architect for testability▫ Conway’s Law

24

Page 25: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Last responsible moment

25

Page 26: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Architect and develop for evolvability

26

Page 27: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Postel’s Law

27

Page 28: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Architect for testability

28

Page 29: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Conway’s Law

29

Page 30: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

TECHNIQUES

30

Page 31: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

TECHNIQUES OF EVOLUTIONARY ARCHITECTURE

▫ Database refactoring

▫ Choreography

▫ Contract testing

31

Page 32: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

EVOLVABILITY OF DIFFERENT SOFTWARE ARCHITECTURESEvolvability of different software architectures 32

Page 33: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Big ball of mud

33

Page 34: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Structured monolith

34

Page 35: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Layered monolith

35

Page 36: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Micro-kernel

36

Page 37: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

Microservices

37

Page 38: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

MECHANICS

38

Page 39: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

MECHANICS

▫ Define your architectural fitness function

39

Page 40: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

MECHANICS

▫ Define your architectural fitness function▫ Select a dimension you’re most worried about

40

Page 41: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

MECHANICS

▫ Define your architectural fitness function▫ Select a dimension you’re most worried about▫ Start improving on that dimension

41

Page 42: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

MECHANICS

▫ Define your architectural fitness function▫ Select a dimension you’re most worried about▫ Start improving on that dimension▫ Focus on what matters most

42

Page 43: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

MECHANICS

▫ Define your architectural fitness function▫ Select a dimension you’re most worried about▫ Start improving on that dimension▫ Focus on what matters most▫ Monitor trends, adapt and repeat

43

Page 44: THE WHYS AND HOWS - Carnegie Mellon UniversityConsumer driven contracts ... Keynote: The Whys and Hows of Evolutionary Architecture Author: Rebecca Parsons (ThoughtWorks) Subject:

THANK YOU@rebeccaparsons

44