Slide 1

Slide 1 text

Advanced Developers Conference 1 | Date: 08 May 2024 Author: Felix Rieß BEAUTY OF SIMPLICITY

Slide 2

Slide 2 text

FELIX RIESS Software Architect [email protected] https://speakerdeck.com/felix185

Slide 3

Slide 3 text

3 CONSULTING Software System Architectures Strategic Consulting Enterprise Architectures Master Data Strategies SOFTWARE SYSTEMS Development & DevOps Quality Assurance Cloud Solutions Java Ecosystem MACHINE LEARNING & DATA SCIENCE Artificial Intelligence Forecasting Solutions Natural Language Processing Big Data Solutions SOFTWARE ENGINEERING CONSULTING WHAT DO WE ACTUALLY DO EXCEPTIONAL SOFTWARE SOLUTIONS

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Advanced Developers Conference 5 | Business

Slide 6

Slide 6 text

Event Storming Advanced Developers Conference 6 |

Slide 7

Slide 7 text

Event Storming Advanced Developers Conference 7 |

Slide 8

Slide 8 text

Event Storming Advanced Developers Conference 8 |

Slide 9

Slide 9 text

Strategic Domain Driven Design Advanced Developers Conference 9 | Bounded Context A Bounded Context B Bounded Context C

Slide 10

Slide 10 text

Strategic Domain Driven Design: Subdomains Advanced Developers Conference 10 | Bounded Context A Bounded Context B Bounded Context C Supporting Generic Core

Slide 11

Slide 11 text

Strategic Domain Driven Design: Context Mapping Advanced Developers Conference 11 | Bounded Context A Bounded Context B Bounded Context C

Slide 12

Slide 12 text

Advanced Developers Conference 12 | Technical Business

Slide 13

Slide 13 text

Advanced Developers Conference 13 | Quality Attributes (ISO 25010) Performance Efficiency Functional Suitability Compatibility Interaction Capability Flexibility Maintainability Security Reliability Safety

Slide 14

Slide 14 text

Advanced Developers Conference 14 | Software Architecture represents the set of significant decisions.

Slide 15

Slide 15 text

Advanced Developers Conference 15 |

Slide 16

Slide 16 text

Architecture Vision Advanced Developers Conference 16 | What? How?

Slide 17

Slide 17 text

Architecture Vision Advanced Developers Conference 17 | What? System context Constraints Quality goals (prioritized) Risks

Slide 18

Slide 18 text

Architecture Vision Advanced Developers Conference 18 | How? Big picture Concepts, patterns, principles Base technologies Hypotheses

Slide 19

Slide 19 text

Big design up front is dumb. Doing no design up front is even dumber. DAVE THOMAS Advanced Developers Conference 19 |

Slide 20

Slide 20 text

Advanced Developers Conference 20 | Accidental Technical Business

Slide 21

Slide 21 text

Danger Zone Advanced Developers Conference 21 | Microservices Platform, Language & Frameworks Conference Driven Design

Slide 22

Slide 22 text

Components & Interfaces • Exports interfaces • Imports interfaces of other components • Implementation is exchangeable (Principle of secrecy & information hiding) • Suitable as unit of reuse • Can contain other components (Composition) Advanced Developers Conference 22 | In addition to interfaces, the component is the essential unit of design, implementation and therefore planning

Slide 23

Slide 23 text

Software Blood Groups • 0: available everywhere, carefully tested & contains eternal truths of computer science • A: application or domain related • T: technology-oriented, independent of application • R: representation changes Advanced Developers Conference 23 | Avoid AT-Software!

Slide 24

Slide 24 text

Organizational complexity • Modularity • Macro Architecture • Anti-Viscosity • Roles Advanced Developers Conference 24 |

Slide 25

Slide 25 text

Advanced Developers Conference 25 | https://en.wikipedia.org/wiki/Cynefin_framework#/media/File:Cynefin_framework_2022.jpg

Slide 26

Slide 26 text

Wrap-up • Domain Driven Design • Technology is not an end in itself • Appropriateness: Boring is the new cool • Components & blood groups • Empirical Advanced Developers Conference 26 |

Slide 27

Slide 27 text

It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove. ANTOINE DE SAINT-EXUPÉRY Advanced Developers Conference 27 |

Slide 28

Slide 28 text

FELIX RIESS Software Architect [email protected] https://speakerdeck.com/felix185

Slide 29

Slide 29 text

References • https://iso25000.com/index.php/en/iso-25000-standards/iso-25010 • https://dev.to/simonbrown/software-architecture-isn-t-about-big-design-up-front-4hol • Moderne Softwarearchitektur: Umsichtig planen, robust bauen mit Quasar (Johannes Siedersleben) • Vorgehensmuster für Softwarearchitektur (Stefan Toth) Advanced Developers Conference 29 |

Slide 30

Slide 30 text

Images • https://unsplash.com/de/fotos/kn-UmDZQDjM • https://unsplash.com/de/fotos/person-im-schwarzen-langarmhemd-halt-die-hand-einer-person- Y5bvRlcCx8k?utm_content=creditShareLink&utm_medium=referral&utm_source=unsplash Advanced Developers Conference 30 |

Slide 31

Slide 31 text

Thank you! Wenn aus Technik Freundschaft wird

Slide 32

Slide 32 text

Feedback