DAY 1, OCTOBER 18
11:00 - 11:45

SOFTWARE ARCHITECTURE A

Gernot Starke
Software-Engineering Consultant / Fellow
INNOQ Deutschland GmbH
Germany
English
For All

ABOUT THE SPEAKER

Gernot Starke (INNOQ Fellow), coach and consultant for methodical software architecture and -engineering. (Co-)founder of arc42.org, founder of aim42.org, co-founder of iSAQB

Gernot has been involved in design and implementation of medium and large scale systems for organisations from different business domains, mainly in the areas of finance, insurance, automotive, logistics, and telecommunications, currently with focus on legacy system evolution and improvement.

He has written numerous books on software architecture and patterns, regularly publishes technical articles and shares his experiences on developer conferences. He lives in Cologne, Germany.

Formerly, he graduated in Computer Science at RWTH Aachen, founded his first startup company in 1985, received his PhD on methodical software engineering in 1992 from J.Kepler University in Linz, co-founded the first European Java center (together with Sun Microsystems) in 1996 and worked as software engineering consultant since then.

SPEECH: The Rise, the Ruin and the Rescue! Systematically escaping legacy hell.

As developers and architects, we spend most of our time adding features to our products (so-called "maintenance"). We are often annoyed about the many deficits of these systems:

Even supposedly simple things are becoming incredibly difficult with these _legacy systems_, the _time-to-market_ is getting worse and worse,as business is calling for more and more features. Rarely we find time to reduce technical debtand clean up increasingly messy dependencies.

In this talk you'll learn about possibilities to systematically escape legacy hell and reduce technical and other debt in your systems. Get to know strategical and tactical improvement approaches you can scale to fit your actual situation:

In the first step, we will conduct a breadth-first search for existing problems, issues and risks within your system. We clearly identify technical, organizational and communicative debts and determine their severity in order to concentrate on the worst of them..

Only then we'll start improving the existing situation: I will present a number of strategic improvement approaches, for example:

* Brainsize: systematically simplify and reduce, migrate towards self-contained systems or microservices.
* Change-by-split and Change-by-extraction to reduce dependencies
* Improve domain focus, incrementally introduce Domain-Driven Design practices in legacy systems (restructure-to-domain)
* Improve modularization

I'll explain all those based upon a (not very hypothetical) large-scale eCommerce system. You'll hear about the rise, the decline and the rescue of that system.