© Liashko/Shutterstock.com
Entwickler Magazin
Langlebige Softwarearchitektur und Qualitätsansprüche

Evolution statt Diktatur

Wie entstehen gute moderne State-of-the-Art-Softwaresysteme, die nicht in drei bis fünf Jahren einem Ablösungsprojekt zum Opfer fallen? Antwortmöglichkeit 1: Durch die Arbeit eines einzelnen genialen Meisters, der alle Einflüsse austariert und einen detaillierten Entwurf der Wahrheit erstellt, an den sich alle halten. Antwortmöglichkeit 2: Durch die Nutzung individueller Kompetenzen, um einen groben Rahmen auszugestalten und kontinuierlich weiterzuentwickeln. Ich bin ein Freund der zweiten Antwort.

Stefan Toth


Kleine Projekte werden oft belächelt. Die paar Leute zu organisieren, sei keine Kunst, große Projektrisiken gäbe es nicht. In solchen Umfeldern könne noch jeder mit jedem reden. Man könne sich die technische Basis einfach ausmachen und zur Not ist leicht etwas geändert. Als Entwickler arbeitet man gerne in einem solchen Projekt. Die Motivation ist hoch, der Einfluss auf das Ergebnis ist sichtbar, und bei Problemen vergräbt man sich in technische Details statt im politischen Wirrwarr.

Was wäre, wenn große Projekte auch so funktionieren würden? Was wäre, wenn wir nicht versuchen, das Erfolgsrezept von kleinen Projekten zu verändern, sondern ein Großprojekt einfach als Sammlung von kleinen Projekten mit überschneidenden Zielen sehen? Das ist nicht einfach, aber viele IT-Firmen turnen vor, wie es gehen kann. Wichtig ist, dass der übergreifende Rahmen nicht zu breit, komplex und inhaltlich wichtig wird. Dass die Gesamtarchitektur unseren Kleinprojekten so wenig Freiheit wie möglich nimmt, ihre Unabhängigkeit stärkt und so viel Verantwortung wie möglich überträgt. Dieser Artikel stellt Techniken und Konzepte vor, die helfen, diese Idee umzusetzen. Große Vorhaben werden dadurch potenziell risikoärmer, reaktionsfähiger, schneller, innovativer und für Entwickler interessanter.

Wichtig ist eine schlanke Makroarchitektur

In Stefan Zörners Artikel auf Seite 16 wird der bindende Rahmen für alle Entwickler als Makroarchitektur bezeichnet. Nachdem es sich um eine Form von Standardisierung handelt, lässt sich dieser Rahmen schwer ändern, wirkt sich also negativ auf die Geschwindigkeit von Änderungen aus, die den Rahmen betreffen. Viele Firmen versuchen folglich nichts in der Makroarchitektur vorzugeben, was sich schnell ändern muss. Möchte man langlebige Systeme bauen, ist Änderung jedoch die einzige Konstante. Nicht nur in der Domäne, auch und besonders auf Seiten der Technologie. Langlebige Systeme sind wandlungsfähige Systeme, und die Makroarchitektur sollte Änderungen nicht erschweren, sondern sie erleichtern. Sie ist in der modernen Ausprägung deshalb schlank. Die Inhalte der Makroarchitektur kann man in zwei Kategorien einteilen:

Harte Regeln: Vorgaben, die als Rahmenbedingung für die eigene Entwicklungstätigkeit gelten. Eine zulässige Lösung muss sich an diese Regeln halten. Auch sehr schlanke Makroarchitekturen stellen typischerweise Regeln auf, um Logging und Monitoring effektiv zu ermöglichen oder den Zugriff auf sicherheitsrelevante Fremdartefakte zu regeln.Vo...

Entwickler Magazin
Langlebige Softwarearchitektur und Qualitätsansprüche

Evolution statt Diktatur

Wie entstehen gute moderne State-of-the-Art-Softwaresysteme, die nicht in drei bis fünf Jahren einem Ablösungsprojekt zum Opfer fallen? Antwortmöglichkeit 1: Durch die Arbeit eines einzelnen genialen Meisters, der alle Einflüsse austariert und einen detaillierten Entwurf der Wahrheit erstellt, an den sich alle halten. Antwortmöglichkeit 2: Durch die Nutzung individueller Kompetenzen, um einen groben Rahmen auszugestalten und kontinuierlich weiterzuentwickeln. Ich bin ein Freund der zweiten Antwort.

Stefan Toth


Kleine Projekte werden oft belächelt. Die paar Leute zu organisieren, sei keine Kunst, große Projektrisiken gäbe es nicht. In solchen Umfeldern könne noch jeder mit jedem reden. Man könne sich die technische Basis einfach ausmachen und zur Not ist leicht etwas geändert. Als Entwickler arbeitet man gerne in einem solchen Projekt. Die Motivation ist hoch, der Einfluss auf das Ergebnis ist sichtbar, und bei Problemen vergräbt man sich in technische Details statt im politischen Wirrwarr.

Was wäre, wenn große Projekte auch so funktionieren würden? Was wäre, wenn wir nicht versuchen, das Erfolgsrezept von kleinen Projekten zu verändern, sondern ein Großprojekt einfach als Sammlung von kleinen Projekten mit überschneidenden Zielen sehen? Das ist nicht einfach, aber viele IT-Firmen turnen vor, wie es gehen kann. Wichtig ist, dass der übergreifende Rahmen nicht zu breit, komplex und inhaltlich wichtig wird. Dass die Gesamtarchitektur unseren Kleinprojekten so wenig Freiheit wie möglich nimmt, ihre Unabhängigkeit stärkt und so viel Verantwortung wie möglich überträgt. Dieser Artikel stellt Techniken und Konzepte vor, die helfen, diese Idee umzusetzen. Große Vorhaben werden dadurch potenziell risikoärmer, reaktionsfähiger, schneller, innovativer und für Entwickler interessanter.

Wichtig ist eine schlanke Makroarchitektur

In Stefan Zörners Artikel auf Seite 16 wird der bindende Rahmen für alle Entwickler als Makroarchitektur bezeichnet. Nachdem es sich um eine Form von Standardisierung handelt, lässt sich dieser Rahmen schwer ändern, wirkt sich also negativ auf die Geschwindigkeit von Änderungen aus, die den Rahmen betreffen. Viele Firmen versuchen folglich nichts in der Makroarchitektur vorzugeben, was sich schnell ändern muss. Möchte man langlebige Systeme bauen, ist Änderung jedoch die einzige Konstante. Nicht nur in der Domäne, auch und besonders auf Seiten der Technologie. Langlebige Systeme sind wandlungsfähige Systeme, und die Makroarchitektur sollte Änderungen nicht erschweren, sondern sie erleichtern. Sie ist in der modernen Ausprägung deshalb schlank. Die Inhalte der Makroarchitektur kann man in zwei Kategorien einteilen:

Harte Regeln: Vorgaben, die als Rahmenbedingung für die eigene Entwicklungstätigkeit gelten. Eine zulässige Lösung muss sich an diese Regeln halten. Auch sehr schlanke Makroarchitekturen stellen typischerweise Regeln auf, um Logging und Monitoring effektiv zu ermöglichen oder den Zugriff auf sicherheitsrelevante Fremdartefakte zu regeln.Vo...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang