Slide 1

Slide 1 text

Advanced Developers Conference 1 | Date: 08 May 2024 Author: Felix Rieß EVOLUTION OF ARCHITECTURAL WORK

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 | Software Architecture represents the set of significant decisions.

Slide 6

Slide 6 text

Advanced Developers Conference 6 |

Slide 7

Slide 7 text

Advanced Developers Conference 7 | Decisions System Design Tech-Stack Environment Approach

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Advanced Developers Conference 9 | Decisions Software Architecture Quality Goals Set of significant influence

Slide 10

Slide 10 text

Advanced Developers Conference 10 | Decisions Software Architecture Quality Goals Set of significant Constraints restrict influence

Slide 11

Slide 11 text

A long time ago in a galaxy not so far away… Advanced Developers Conference 11 | https://www.indeed.com/career-advice/career-development/waterfall-project-management

Slide 12

Slide 12 text

Advanced Developers Conference 12 | https://wiki.eclipse.org/EclipseLink/Development/Architecture/EclipseLink/ClassDiagram

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Benefits of Agile Advanced Developers Conference 15 | More Flexibility Higher Product Quality Faster Time to Market Higher Visibility & Transparency Less Risk

Slide 16

Slide 16 text

Agile Manifesto Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan Advanced Developers Conference 16 |

Slide 17

Slide 17 text

Agile Manifesto – slightly adjusted Processes and tools for Individuals and interactions Useful documentation for Working Software Contract negotiation for Customer collaboration Enough plan for Responding to change Advanced Developers Conference 17 |

Slide 18

Slide 18 text

Continuous attention to technical excellence and good design enhances agility Advanced Developers Conference 18 | PRINCIPLES BEHIND THE AGILE MANIFESTO

Slide 19

Slide 19 text

Architectural work Risks

Slide 20

Slide 20 text

Architecture Vision Advanced Developers Conference 20 | What? How?

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Advanced Developers Conference 24 | Architecture Vision instead of Big Design Up Front!

Slide 25

Slide 25 text

Last reasonable Moment Advanced Developers Conference 25 | Time Risk/Question LRM x x

Slide 26

Slide 26 text

A Walking Skeleton is a tiny implementation of the system that performs a small end-to-end function. It need not use the final architecture, but it should link together the main architectural components. The architecture and the functionality can the evolve in parallel. ALISTAIR COCKBURN Advanced Developers Conference 26 |

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

From Quality Goals to Scenarios Advanced Developers Conference 28 | https://faq.arc42.org/questions/C-10-2/

Slide 29

Slide 29 text

Why Quality Scenarios? Advanced Developers Conference 29 | Transparency Architectural Decisions Architectural Reviews Communication Acceptance Tests

Slide 30

Slide 30 text

Categories of Quality Scenarios Architectural relevance Isolated Implementability Acceptance Criteria Quality Stories Gap of Principles Advanced Developers Conference 30 |

Slide 31

Slide 31 text

Quality Scenarios in the Backlog • Acceptance Criteria • Part of concerning user stories • Quality Story • Own user story • Gap in Principles • Own user story: Definition of principle Advanced Developers Conference 31 |

Slide 32

Slide 32 text

Obligation that a software organization incurs when it chooses a design or construction approach that’s expedient in the short term but that increases complexity and is more costly in the long term. STEVE MCCONNELL Advanced Developers Conference 32 |

Slide 33

Slide 33 text

Types of Technical Debt Advanced Developers Conference 33 | Architecture Code Test

Slide 34

Slide 34 text

How Technical Debt arises Advanced Developers Conference 34 | https://martinfowler.com/bliki/TechnicalDebtQuadrant.html

Slide 35

Slide 35 text

How to handle Technical Debt Advanced Developers Conference 35 | List of Technical Debt Elimination profitable? Debt restructuring profitable? Archiving Technical Debt Scenarios with urgency No No Yes Yes

Slide 36

Slide 36 text

Working with the Backlog Advanced Developers Conference 36 | Story B Gap of Principles Quality Story Technical Debt Story C Acceptance Criteria Story A

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

The best architectures, requirements, and designs emerge from self-organizing teams. Advanced Developers Conference 38 | PRINCIPLES BEHIND THE AGILE MANIFESTO

Slide 39

Slide 39 text

Cross-Functional Teams Advanced Developers Conference 39 | Problem Solution

Slide 40

Slide 40 text

Interpretations of the Architect‘s role No named Architect Advanced Developers Conference 40 |

Slide 41

Slide 41 text

Interpretations of the architect‘s role Architect Agents Advanced Developers Conference 41 |

Slide 42

Slide 42 text

Interpretations of the architect‘s role Architecture Owner Advanced Developers Conference 42 |

Slide 43

Slide 43 text

Interpretations of the architect‘s role Classical architect Advanced Developers Conference 43 |

Slide 44

Slide 44 text

Contact Person Raise Questions Architecture Owner Advanced Developers Conference 44 | Contribute Context Escalate Problems Know-how Transfer Organization/ Coordination

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

• Verticals • Responsibility • Anti-Viscosity • Communication Governance 2.0 Advanced Developers Conference 46 |

Slide 47

Slide 47 text

Wrap-up • Risk-oriented • Empirical • Working with the Backlog • Architecture Owner • Governance 2.0 Advanced Developers Conference 47 |

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

References • http://www.iso-architecture.org/ieee-1471/defining- architecture.html • https://twitter.com/Grady_Booch/status/1459007228954832 896?lang=de • https://www.oreilly.com/library/view/software-architects- handbook/9781788624060/70f73094-77a1-44f5-85d7- d36f393bc906.xhtml#:~:text=Computer%20scientist%20Ra lph%20Johnson%2C%20who,Whatever%20that%20is.%2 2 • http://www.softwarearchitectures.com/overview.html • https://iso25000.com/index.php/en/iso-25000- standards/iso-25010 • https://agilemanifesto.org/iso/en/manifesto.html • https://agilemanifesto.org/iso/en/principles.html • https://dev.to/simonbrown/software-architecture-isn-t- about-big-design-up-front-4hol • https://wiki.c2.com/?WalkingSkeleton • https://www.construx.com/wp- content/uploads/2019/02/CxWhitePaper_TechnicalDebt.pdf Advanced Developers Conference 49 |

Slide 50

Slide 50 text

Images • https://unsplash.com/de/fotos/QdAAasrZhdk • https://unsplash.com/de/fotos/rsGd-rXFGkM • https://unsplash.com/de/fotos/1K9T5YiZ2WU • https://unsplash.com/de/fotos/bH7kZ0yazB0 • https://unsplash.com/de/fotos/kn-UmDZQDjM • https://unsplash.com/de/fotos/98MbUldcDJY • https://unsplash.com/de/fotos/wxWulfjN-G0 • https://unsplash.com/de/fotos/p6rNTdAPbuk • https://unsplash.com/de/fotos/Zyx1bK9mqmA • https://unsplash.com/de/fotos/VBPzRgd7gfc Advanced Developers Conference 50 |

Slide 51

Slide 51 text

Thank you! Wenn aus Technik Freundschaft wird

Slide 52

Slide 52 text

Feedback