Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The future is already here – Mastering the challenges of the coming years

The future is already here – Mastering the challenges of the coming years

This slide deck is about the probably most pressing challenges, IT will face in the upcoming years and options to address those challenges. It starts with describing the challenges and its effects (not only) on IT. Then a set of measures to address those challenges is sketched.

It is also discussed that the measures presented should be pondered together because they tend to balance or reinforce each other depending on the concrete measure which provides a nice decision framework towards a more responsible IT.

To complement the measures presented, a set of concrete potential actions is sketched and some ideas how to get the transition started – plus some extra hints for software architects.

As always, the voice track is missing. Still, I hope the slides also offer a few ideas worth pondering.

Uwe Friedrichsen

November 29, 2023
Tweet

More Decks by Uwe Friedrichsen

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

  3. 3 challenges

    View full-size slide

  4. 1
    The world has gone VUCA

    View full-size slide

  5. Volatility
    Uncertainty
    Complexity
    Ambiguity

    View full-size slide

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

    View full-size slide

  7. 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

    View full-size slide

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

    View full-size slide

  9. Probe-Sense-Respond

    View full-size slide

  10. 2
    IT has become indispensable

    View full-size slide

  11. Digital transformation made IT indispensable

    View full-size slide

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

    View full-size slide

  13. 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.

    View full-size slide

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

    View full-size slide

  15. 3
    IT complexity is growing uncontrolled

    View full-size slide

  16. 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

    View full-size slide

  17. 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.

    View full-size slide

  18. Indispensability
    Sustainability
    VUCA
    Complexity

    View full-size slide

  19. Sustainability is much more than (just) ecological sustainability

    View full-size slide

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

    View full-size slide

  21. 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)

    View full-size slide

  22. 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

    View full-size slide

  23. 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

    View full-size slide

  24. 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

    View full-size slide

  25. How to get started

    View full-size slide

  26. There are a lot of things we can do …

    View full-size slide

  27. 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

    View full-size slide

  28. … but the hardest part is to get going

    View full-size slide

  29. Deeply ingrained habits stand in our way

    View full-size slide

  30. 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

    View full-size slide

  31. The thought alone is killing me

    View full-size slide

  32. But what is the alternative?

    View full-size slide

  33. 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

    View full-size slide

  34. How to get started

    View full-size slide

  35. 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

    View full-size slide

  36. 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

    View full-size slide

  37. 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

    View full-size slide

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

    View full-size slide

  39. 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

    View full-size slide

  40. 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

    View full-size slide

  41. Architects have the ideal preconditions to start a movement

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  44. But isn’t that old wine in new skins?

    View full-size slide

  45. The pieces already exist …

    View full-size slide

  46. … but the combination is different

    View full-size slide

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

    View full-size slide

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

    View full-size slide