Slide 1

Slide 1 text

The future is already here Mastering the challenges of the coming years Uwe Friedrichsen – codecentric AG – 2008-2023

Slide 2

Slide 2 text

Uwe Friedrichsen Works @ codecentric https://twitter.com/ufried https://www.speakerdeck.com/ufried https://ufried.com/

Slide 3

Slide 3 text

3 challenges

Slide 4

Slide 4 text

1 The world has gone VUCA

Slide 5

Slide 5 text

Volatility Uncertainty Complexity Ambiguity

Slide 6

Slide 6 text

Volatility – Things change dynamically Uncertainty – Lack of predictability Complexity – No long-term upfront planning Ambiguity – Unclear meaning of signals

Slide 7

Slide 7 text

Drivers of VUCA Mostly unpredictable market behavior Exception: Non-efficient markets Future effects very hard to predict Consequences of adverse events unpredictable Future effects unpredictable Production processes, supply chain, … From a traffic jam to COVID Chip crisis, supply chain crisis, … Post-industrial markets Supply >> Demand Highly dynamic Geo-political developments Power structures shift Economic Political Over-optimization Very narrow tolerance ranges Extremely vulnerable to deviations from the norm Very long recovery times Climate crisis (Finally) becoming a palpable factor Unchecked complexity

Slide 8

Slide 8 text

Planning is dead. Convictions are lethal. Best practices do not exist. Not even good ones.

Slide 9

Slide 9 text

Probe-Sense-Respond

Slide 10

Slide 10 text

2 IT has become indispensable

Slide 11

Slide 11 text

Digital transformation made IT indispensable

Slide 12

Slide 12 text

Business functions Business processes Customer interactions Business models 1960 1980 1990 2000 2010 2020 1970 IT support IT dominance

Slide 13

Slide 13 text

Business is IT. IT is business. Business and IT are the same side of the same coin. The other side are the market and your customers.

Slide 14

Slide 14 text

IT has become indispensable for our business and private lives. Tendency: Rising.

Slide 15

Slide 15 text

3 IT complexity is growing uncontrolled

Slide 16

Slide 16 text

Complexity drivers in IT Ongoing digital transformation CV-driven software development Trying to solve non-tech problems with technology Project-centric thinking Local, short-term optimizations Recurring “cleanup” initiatives Never completed, only adding more complexity Never retiring old technologies Falling for FOMO Chasing the next technology hype Efficiency obsession Yearly planning cycles Company self-absorbedness Neglecting effectiveness …

Slide 17

Slide 17 text

Nobody knows what our IT landscapes do. We can only guess why they are running. We can only guess how to evolve them. To solve the problem, we add more complexity.

Slide 18

Slide 18 text

3 responses

Slide 19

Slide 19 text

Indispensability Sustainability VUCA Complexity

Slide 20

Slide 20 text

Sustainability is much more than (just) ecological sustainability

Slide 21

Slide 21 text

Indispensability Ecological Going green in IT Social Sustainable for everyone involved Technical Creating dependable systems Sustainability Economical Surviving in the long run VUCA Complexity

Slide 22

Slide 22 text

VUCA Indispensability Ecological Economical Social Technical Resilience Sustainability Capabilities Complexity Stability Maximize MTBF (before resilience) Robustness Ability to handle expected adverse events (partial resilience) Surprises Ability to handle unexpected adverse events (actual resilience) Anti-fragility Improve and thrive from adverse events (advanced resilience)

Slide 23

Slide 23 text

VUCA Indispensability Complexity Ecological Economical Social Technical Responses Withstand Recover quickly Adapt Transform Resilience Sustainability Scope IT Systems IT Organization Division Company … Capabilities Robustness Surprises Anti-fragility Stability

Slide 24

Slide 24 text

VUCA Indispensability Complexity Ecological Economical Social Technical Responses Withstand Recover quickly Adapt Transform Address at all levels Resilience Sustainability Simplification Accept essential complexity Avoid accidental complexity Scope IT Systems IT Organization Division Company … Capabilities Robustness Surprises Anti-fragility Stability Reduce overall complexity Watch the sum, not the summand Market Governance Organization Projects Process models Requirements Architecture Technology Implementation Improvement initiatives Optimize over time Take future effects into account

Slide 25

Slide 25 text

VUCA Indispensability Complexity Ecological Economical Social Technical Responses Withstand Recover quickly Adapt Transform Address at all levels Resilience Sustainability Simplification Responsible IT Avoid accidental complexity Scope IT Systems IT Organization Division Company … Capabilities Robustness Surprises Anti-fragility Stability Reduce overall complexity Optimize over time

Slide 26

Slide 26 text

How to get started

Slide 27

Slide 27 text

There are a lot of things we can do …

Slide 28

Slide 28 text

Compliance as Code Resilient Software Design Resilience Automate everything IaC CI/CD … Batch Size 1 DevOps (incl. Team Topologies) Learning culture Preserve slack Observability Continuous training (e.g. fire drills) Chaos Engineering SRE Sustainability Green IT CSR/ESG Focus on effectiveness (before considering efficiency) Accelerate Hypothesis-driven software development Understand post-industrial markets Foster dependability Use boring technology (resist FOMO, leave IT rat race) Avoid overengineering Understand the business domain Rethink incentives Abandon projects Beware local optimizations Improve design skills Simplification Abandon cargo cults Construction for deconstruction (Easy to remove) Changeability (Easy to adapt) Usability (Easy to use) Enterprise “Agile” Enterprise “DevOps” Abandon big cleanup initiatives Help people understand software Stop “solving” non-tech problems with technology

Slide 29

Slide 29 text

… but the hardest part is to get going

Slide 30

Slide 30 text

Deeply ingrained habits stand in our way

Slide 31

Slide 31 text

Deeply ingrained habits Ongoing digital transformation CV-driven software development Trying to solve non-tech problems with technology Project-centric thinking Local, short-term optimizations Recurring “cleanup” initiatives Never completed, only adding more complexity Never retiring old technologies Falling for FOMO Chasing the next technology hype Efficiency obsession Yearly planning cycles Company self-absorbedness Neglecting effectiveness …

Slide 32

Slide 32 text

The thought alone is killing me

Slide 33

Slide 33 text

But what is the alternative?

Slide 34

Slide 34 text

After all, we are in for an endless game bearing growing responsibility in an ever less predictable world And no, AI will not magically solve this challenge

Slide 35

Slide 35 text

How to get started

Slide 36

Slide 36 text

You are here You want to get there Create awareness Provide transparency Offer training Implement pilot Rollout Continuous improvement … … … Start here … … and here A (very) simple change process

Slide 37

Slide 37 text

Create awareness • Requires a topic evangelist or alike • Must convey conviction and enthusiasm • Must be willing to communicate the message multiple times • Creates initial awareness • Creates initial group of supporters • Overall effect limited but required to get started

Slide 38

Slide 38 text

Provide transparency • Make status and progress measurable • Numbers are harder to ignore or argue away • Closes missing feedback loop (nobody wants to be “last”) • Often much more powerful than any talk • (Still, an evangelist is needed first) • Measure outcome, not output • Focus on business-relevant metrics • Start with metrics that allow for short-term progress • Make sure relevant stakeholders can shine with progress

Slide 39

Slide 39 text

Potential metrics (1/2) • Value chain mapping • Feature usage • Feature energy consumption • Dependability index for applications • SLO/SLI • DORA metrics • Incident frequency

Slide 40

Slide 40 text

Potential metrics (2/2) • Code complexity correlated with, e.g., change failure rate and developer satisfaction • Service startup times • Self-healing score • Time to restore service • Application (remote) dependency score ... and many more

Slide 41

Slide 41 text

Being an architect • Architects need to be good communicators • Good prerequisite to create initial awareness • Architects need to be good software designers • Good prerequisite to provide a metric • Architects should know how to code • Good prerequisite to implement a metric • Architects need to collaborate with operations • Good prerequisite to collect actual data

Slide 42

Slide 42 text

Architects have the ideal preconditions to start a movement

Slide 43

Slide 43 text

So, maybe you want to start a movement … ;)

Slide 44

Slide 44 text

It's easier to ask forgiveness than it is to get permission. ― Grace Hopper

Slide 45

Slide 45 text

But isn’t that old wine in new skins?

Slide 46

Slide 46 text

Yes and No

Slide 47

Slide 47 text

The pieces already exist …

Slide 48

Slide 48 text

… but the combination is different

Slide 49

Slide 49 text

The future is already here – it's just not evenly distributed. ― William Gibson

Slide 50

Slide 50 text

Uwe Friedrichsen Works @ codecentric https://twitter.com/ufried https://www.speakerdeck.com/ufried https://ufried.com/