28.09.17
1
Softwarearchitektur wird Entwicklerskill
STEFAN ZÖRNER // EMBARC
JUG Saxony Day // #JSD2017
Radebeul, 29.09.2017
0
Softwarearchitektur für alle!?
2 Softwarearchitektur für alle!? embarc.de
Softwarearchitektur für alle!?
„Die besten Architekturen … entstehen durch selbstorganisierte Teams.“ – So steht es zumindest in den Prinzipien des Agilen Manifestes (2001). Und tatsächlich treffen mittlerweile mehr und mehr Teams grundlegende Entscheidungen gemeinsam, anstatt dass ein klassischer Architekt dies alleine tut (und ihnen abnimmt). Softwarearchitektur wird dadurch mehr und zum Entwicklerskill. In jedem cross-funktionalen Team sollte genügend Wissen und Können rund um diese Disziplin vorhanden sein. In diesem Vortrag zeige ich Euch, welche grundlegenden Techniken und Methoden aus diesem Gebiet jeder Entwickler beherrschen oder zumindest kennen sollte, und wie viel (oder wenig) Softwarearchitektur Eurem Team gut zu Gesicht steht.
28.09.17
2
3 Softwarearchitektur für alle!? embarc.de
Stefan Zörner
n Softwareentwickler + -architekt bei embarc in Hamburg n Vorher oose, IBM, Mummert + Partner, Bayer AG, …
Schwerpunkte: n Softwarearchitektur (Entwurf,
Bewertung, Dokumentation) n Java Technologien
@StefanZoerner
xing.to/szr
4 Softwarearchitektur für alle!? embarc.de
1 Worum geht es?
2 Was ist zu tun?
3 Wie mache ich das?
4 Wo fangt Ihr an?
5 Fazit und weitere Informationen
Agenda
28.09.17
3
5 Softwarearchitektur für alle!? embarc.de
1 Worum geht es?
2 Was ist zu tun?
3 Wie mache ich das?
4 Wo fangt Ihr an?
5 Fazit und weitere Informationen
Agenda
1
6 Softwarearchitektur für alle!? embarc.de
Was ist Softwarearchitektur?
Softwarearchitektur :=
∑ wichtige Entscheidungen
wichtig := n fundamental (betrifft viele) n im weiteren Verlauf nur schwer zu ändern n maßgeblich für den Erfolg Eures Softwaresystems
28.09.17
4
7 Softwarearchitektur für alle!? embarc.de
Themen für Entscheidungen
Technologie-Stack Programmiersprache(n), Bibliotheken, Frameworks Middleware (Kommunikation, Applikationsserver ...) Querschnittsthemen (Persistenz, Oberfläche ...) ...
Zielumgebung Wo läuft die Software? (Endanwender vs. RZ vs. Cloud) Verteilungsaspekte (Redundanz, Clustering) Virtualisierung ...
Zerlegung Module und Abhängigkeiten Komponentenbildung ...
8 Softwarearchitektur für alle!? embarc.de
„Verunfallte“ Softwarearchitektur?
aus Grady Booch: „The Accidental Architecture“ IEEE Software 2006
„Every interesting software-intensive system has an architecture. While some of these architectures are intentional, most appear to be accidental.“
28.09.17
5
9 Softwarearchitektur für alle!? embarc.de
Großer Konzern (z.B. Versicherung) n Anwendungen oftmals nach dem immer gleichen Muster gestrickt
n Insbesondere Technologie-Stack überall gleich n einzelne Entwickler-Teams konzentrieren sich auf Fachlichkeit und Funktionalität.
n Veränderungen im Technologie-Stack gleichen Eruptionen
n große Initiativen „Neue Anwendungsarchitektur“
Szene 1: Konzern-IT
10 Softwarearchitektur für alle!? embarc.de
Szene 2: Microservices
Mega-Trend Microservices n verspricht schnelle Reaktion auf Veränderung durch kleine, unabhängige Einheiten
n Teams verantworten die individuelle Technologieauswahl bis hin zu Betriebssystem und Programmiersprache
n Entwickler geben freimütig Antworten auf Fragen, die sich im klassischen Großkonzern aus Szene 1 niemand stellt.
28.09.17
6
11 Softwarearchitektur für alle!? embarc.de
Makro- vs. Mikro-Architektur
12 Softwarearchitektur für alle!? embarc.de
Vorteile standardisierter Lösungen Entwickler wechseln leicht zwischen Teams
und Projekten
Konzentration auf Applikationsspezifika (z.B. Fachlichkeit) leichter möglich
Wiederverwendung von techn. Lösungen
Vermeidung von Fehlern in kritischen Bereichen durch erprobte Konzepte
Geringere Kosten durch weniger Produkte (Lizenzen, Ausbildung von Spezialisten)
28.09.17
7
13 Softwarearchitektur für alle!? embarc.de
“Konzern-IT”
14 Softwarearchitektur für alle!? embarc.de
Vorteile individueller Lösungen
Einsatz optimaler Lösungen für spezifische Probleme möglich
Neue Trends lassen sich schneller aufgreifen
Fehlentscheidungen haben geringere Relevanz
Geringere Abhängigkeit von einzelnen Lieferanten ...
28.09.17
8
15 Softwarearchitektur für alle!? embarc.de
Microservices-Stil
16 Softwarearchitektur für alle!? embarc.de
These.
“Moderne Architekturansätze wie beispielsweise Microservices und
Self-contained Systems bieten Entwicklerteams mehr Spielraum für
konzeptionelle Arbeit. Softwarearchitektur wird
Entwickler-Skill.”
-- Stefan Zörner
28.09.17
9
17 Softwarearchitektur für alle!? embarc.de
1 Worum geht es?
2 Was ist zu tun?
3 Wie mache ich das?
4 Wo fangt Ihr an?
5 Fazit und weitere Informationen
Agenda
2
18 Softwarearchitektur für alle!? embarc.de
Zu allererst: Den Kontext festlegen
n Ganzes n Teile
28.09.17
10
19 Softwarearchitektur für alle!? embarc.de
Den Kontext festlegen
Worüber reden wir eigentlich?
Optionen (Auswahl): Eine Anwendung die in Module, Services,
Komponenten ... zerfällt? (Self-contained Systems, Microservices …)
Eine Produktfamilie oder -linie, die in Varianten oder Ausprägungen zerfällt?
Eine Systemlandschaft, die in Anwendungen zerfällt?
...
n Ganzes n Teil
Farbcode:
20 Softwarearchitektur für alle!? embarc.de
Nun: Makro- vs. Mikroarchitektur
Entscheidungen ... Welche Aspekte sind für alle Bestandteile gleich?
(Makro) Wo ist Spielraum?
(Mikro)
Damit Ihr das für Eurer Vorhaben oder Eure Welt erschließen könnt, hier eine Themensammlung ...
28.09.17
11
21 Softwarearchitektur für alle!? embarc.de
Themenkomplexe für Entscheidungen
Interaktion mit Benutzern und
Fremdsystemen
1
"Unter der Haube“
2
Entwicklung und Weiterentwicklung
3
Zielumgebung und Betrieb
4
22 Softwarearchitektur für alle!? embarc.de
Themenkomplex 1
n Benutzeroberflächen (UI) n Kommunikation und Integration n Internationalisierung n Ergonomie, Barrierefreiheit n Plausibilisierung und Validierung n Ausnahme-/ Fehlerbehandlung n Ablauf-, Dialog- und Workflow-Steuerung n ...
Interaktion mit Benutzern / Fremdsystemen
28.09.17
12
23 Softwarearchitektur für alle!? embarc.de
JUG Saxony Day 2017, Programm
24 Softwarearchitektur für alle!? embarc.de
„Passende“ Talks auf der Konferenz Interaktion mit Benutzern und Fremdsystemen
Barrierefrei von Anfang an - Software für alle bedienbar machen (Saskia Bader)
GraphQL, das bessere REST? (Jörg Adler + Benjamin Otto)
Cross Mobile Platform programming mit Go (Dr. Felix Socher + Johannes Tandler)
Integration
Ergonomie
Benutzeroberflächen
Refactoring to a system of systems (Oliver Gierke) Kommunikation
28.09.17
13
25 Softwarearchitektur für alle!? embarc.de
Themenkomplex 2
n Persistenz n Sicherheit, Authentifizierung / Autorisierung n Transaktionsbehandlung n Session- und Zustandsbehandlung n Ereignis- und Fehlerbehandlung n Parallelisierung und Threading n Caching n Geschäftsregeln n ...
"Unter der Haube“
26 Softwarearchitektur für alle!? embarc.de
„Passende“ Talks auf der Konferenz "Unter der Haube“
OrientDB: Graphen in der Datenbank statt Knoten im Kopf (Jochen Binder)
Hibernate Tipps ’n’ Tricks - Schnelle Lösungen für typische Probleme und Anwendungsfälle (Thorben Janssen )
Persistenz
Persistenz
Going reactive with Spring Christoph Strobl Ereignisbehandlung
Rundungsfehler (Michael Wiedeking) Geschäftsregeln
28.09.17
14
27 Softwarearchitektur für alle!? embarc.de
Themenkomplex 3
n Vorgehen, z.B. Scrum, BDD, UCD n Modellierung n Versionsverwaltung n Build-Management n Testen n Code-Generierung n Konfigurieren, Automatisieren n Migration n ...
Entwicklung und Weiterentwicklung
28 Softwarearchitektur für alle!? embarc.de
„Passende“ Talks auf der Konferenz Entwicklung und Weiterentwicklung
Dein „Agiles Selfie“ (Jan Gentsch und Julia Dellnitz) Vorgehen
Git Advanced Topics (Alexander Groß) Versionsverwaltung
Es muss nicht gleich Docker sein - IT Automation, die zu einem passt (Sandra Parsick)
Build-Management
Konfigurieren
Der Technical Debt Manager (Jens Nerche) Vorgehen
28.09.17
15
29 Softwarearchitektur für alle!? embarc.de
Themenkomplex 4
n Zielumgebung n Verteilung, Deployment n (Hoch-)verfügbarkeit, Disaster-Recovery n Virtualisierung, Container n Skalierung n Resilienz n Logging und Tracing n Systemmanagement und Administrierung n ...
Zielumgebung und Betrieb
30 Softwarearchitektur für alle!? embarc.de
„Passende“ Talks auf der Konferenz Zielumgebung und Betrieb
Überwache deine Microservices (Philipp Krenn)
Cut The Drama - Der Weg zu Continuous Deployments (Sascha Krüger und Fabian Linz)
Systemmanagement
Deployment
Skalierbare Webanwendungen (Thomas Bachmann )
Skalierung
Ihr redet über Resilience und wisst nicht was CAP & Co ist? (Christian Mennerich und Joachim Arrasz) Verteilung, Resilience
28.09.17
16
31 Softwarearchitektur für alle!? embarc.de
Interaktion mit Benutzern und
Fremdsystemen
1
"Unter der Haube“
2
Entwicklung und Weiterentwicklung
3
Zielumgebung und Betrieb
4
Entscheidungen und Konzepte
Lösungsoptionen Architekturstile Architekturmuster Architekturprinzipien Bibliotheken Frameworks Middleware Modellgetrieben Aspektorientierung …
32 Softwarearchitektur für alle!? embarc.de
“Zeitlose” Softwarearchitektur
Wie Ihr zu den „richtigen“ Entscheidungen kommt ist langlebiger als Trends und konkrete Technologien. Vier wichtige Disziplinen:
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
28.09.17
17
33 Softwarearchitektur für alle!? embarc.de
Aufgabenanalyse: Tätigkeiten
Kontext abgrenzen Qualitätsziele verstehen Rahmenbedingungen klären
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
34 Softwarearchitektur für alle!? embarc.de
Architekturentwurf: Tätigkeiten
Entscheidungen treffen Strukturen definieren Lösungskonzepte erarbeiten
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
28.09.17
18
35 Softwarearchitektur für alle!? embarc.de
Architekturbewertung: Tätigkeiten
Entscheidungen absichern Risiken aufdecken Zielerreichung prüfen Kompromisse finden
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
36 Softwarearchitektur für alle!? embarc.de
Architekturdokumentation: Tätigkeiten
Entscheidungen festhalten Lösungsideen breit kommunizieren Architekturverwässerung vorbeugen
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
28.09.17
19
37 Softwarearchitektur für alle!? embarc.de
“Klassische” Softwarearchitektur?
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
Phasen? Nicht Dein Ernst, oder? WTF …
38 Softwarearchitektur für alle!? embarc.de
1 Worum geht es?
2 Was ist zu tun?
3 Wie mache ich das?
4 Wo fangt Ihr an?
5 Fazit und weitere Informationen
Agenda
3
28.09.17
20
39 Softwarearchitektur für alle!? embarc.de
Iterative Architekturarbeit
Quelle: S. Toth, Vorgehensmuster für Softwarearchitektur
40 Softwarearchitektur für alle!? embarc.de
Ein paar nützliche Werkzeuge
Qualitätsziele (Aufgabenanalyse)
arc42 (Architekturdokumentation)
Architekturvision (Architekturentwurf)
Lösungsstrategie (Architekturbewertung)
28.09.17
21
41 Softwarearchitektur für alle!? embarc.de
Qualitätsziele
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
Die wichtigsten geforderten Qualitätsmerkmale, um beim Treffen von Entscheidungen Orientierung zu geben, und um die Architektur nachvollziehbar zu machen.
42 Softwarearchitektur für alle!? embarc.de
Einflüsse auf Entscheidungen
- schränken die Lösung ein
- schließen Optionen aus
- formen die Lösung - nachher schwierig
“einzubauen” Qualitätsanforderungen Benutzbarkeit, Sicherheit ...
Rahmenbedingungen technisch organisatorisch
28.09.17
22
43 Softwarearchitektur für alle!? embarc.de
Qualitätsmerkmale
Zuverlässigkeit (Reliability)
Ist das System verfügbar, tolerant gegenüber Fehlern, nach Abstürzen schnell wieder hergestellt? ...
Begriffe nach Norm ISO 25010
Funktionalität (Functionality)
Sind die berechneten Ergebnisse korrekt / exakt, ist die Funktionalität angemessen? ...
Wartbarkeit (Maintainability)
Ist die Software leicht zu ändern, erweitern, testen, verstehen? Lassen sich Teile wiederverwenden? ...
Benutzbarkeit (Usability)
Ist die Software intuitiv zu bedienen, leicht zu erlernen, attraktiv?
Sicherheit (Security)
Ist das System sicher vor Angriffen? Sind Daten und Funktion vor unberechtigtem Zugriff geschützt? ...
Kompatibilität (Compatibility)
Ist die Software konform zu Standards, arbeitet sie gut mit anderen zusammen?
Effizienz (Performance)
Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? ...
Portabilität (Portability)
Ist die Software leicht auf andere Zielumgebungen (z.B. anderes OS) übertragbar?
44 Softwarearchitektur für alle!? embarc.de
Typische Wechselwirkungen
CAPTCHA := Completely Automated Public Turing test to tell Computers and Humans Apart.
28.09.17
23
45 Softwarearchitektur für alle!? embarc.de
Typische Wechselwirkungen
Benutzbarkeit (Usability)
Ist die Software intuitiv zu bedienen, leicht zu erlernen, attraktiv?
Sicherheit (Security)
Ist das System sicher vor Angriffen? Sind Daten und Funktion vor unberechtigtem Zugriff geschützt? ...
Benutzer empfinden Sicherheitsmaßnahmen als störend (z. B. Passwortkomplexität, CAPTCHAs)
ì
î
46 Softwarearchitektur für alle!? embarc.de
Typische Wechselwirkungen
28.09.17
24
47 Softwarearchitektur für alle!? embarc.de
Typische Wechselwirkungen
Portabilität (Portability)
Ist die Software leicht auf andere Zielumgebungen (z.B. anderes OS) übertragbar?
Effizienz (Performance)
Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? ...
Abstraktionen (z. B. Schichten) reduzieren die Möglichkeit plattformspezifischer Optimierungen
ì
î
Qualitätsmerkmale hängen voneinander ab. Entscheidungen führen zu Kompromissen (engl. „Tradoff“).
48 Softwarearchitektur für alle!? embarc.de
Qualitative Architekturbewertung
ATAM Architecture tradeoff analysis method n verbreitetste Methode zur
qualitativen Bewertung von Softwarearchitektur
n früh anwendbar n szenarienbasiert
28.09.17
25
49 Softwarearchitektur für alle!? embarc.de
Lösungsstrategie
Stellt Qualitätsziele und zugeordnete high-level Lösungsansätze einander gegenüber und erlaubt eine erste Bewertung.
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
50 Softwarearchitektur für alle!? embarc.de
Architektur-/Lösungsansätze
Qualitätsziele
Die Brücke schlagen ...
Form: Tabelle, [ Ziele | Lösungsansätze ]
Quelle: S. Zörner, Softwarearchitekturen dokumentieren und kommunizieren
Siehe Themenkomplexe aus Abschnitt 2
28.09.17
26
51 Softwarearchitektur für alle!? embarc.de
Kategorien für Architekturansätze Typische Inhalte der rechten Spalte der Lösungsstrategietabelle, jeweils mit einem Beispiel und passendem Ziel (in Klammern).
Architekturstile • z. B. Microservices (schnelle Adaption neuer technologischer Trends) Architekturmuster • z. B. Schichtenarchitektur (leichte Austauschbarkeit des Clients oder
einfache Portierung der Lösung) Architekturprinzipien • z. B. Bevorzuge Standards vor proprietären Lösungen (niedrige
Wartungsaufwände) Architekturentscheidungen • z. B. Verwendung eines Application Server Clusters (hohe
Ausfallsicherheit) Konzepte • z. B. Caching-Konzept (Effzienz, gute Antwortzeiten) Vorgehen • z. B. User centered design (intuitive Benutzbarkeit)
52 Softwarearchitektur für alle!? embarc.de
Beispiel: Netflix (Ausschnitt) Ziel Passende Lösungsansätze
Hohe Verfügbarkeit
• Betrieb in Amazon Cloud (Entscheidung) • Circuit Breaker pattern (Muster)
Exzellente Benutzbarkeit
• Netflix Client API (Entscheidung, Konzept) • Reative Extensions
Leichter Austausch
• Microservices (Architekturstil) • Komplette Automatisierung (Vorgehen)
Attraktiver Arbeitgeber
• Freedom and Responsibility (Prinzip) • Einsatz modernster Technologien
... ...
Quelle: Stefan Toth, Stefan Zörner “Gut das ist? Umgekehrte Architekturbewertung eines Internetgiganten”
28.09.17
27
53 Softwarearchitektur für alle!? embarc.de
Architekturvision
Konkreter, schlanker Vorschlag, wie viel Architekturarbeit vor dem Start in die Realisierung geleistet sein sollte.
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
54 Softwarearchitektur für alle!? embarc.de
Was mindestens zu Beginn?
Quelle: S. Toth, Vorgehensmuster für Softwarearchitektur
28.09.17
28
55 Softwarearchitektur für alle!? embarc.de
arc42 Ein Gliederungsvorschlag für Architekturbeschreibungen.
Aufgaben-analyse
Architektur-entwurf
Architektur-bewertung
Architektur-dokumentation
è arc42.org
56 Softwarearchitektur für alle!? embarc.de
arc42 – Struktur.
28.09.17
29
57 Softwarearchitektur für alle!? embarc.de
arc42 – Ergebnisse festhalten ...
Kontext abgrenzen
Qualitätsziele verstehen
Rahmenbedingungen klären
Aufgabenanalyse
Entscheidungen treffen
Strukturen definieren
Lösungskonzepte erarbeiten
Architekturentwurf
Entscheidungen absichern
Zielerreichung prüfen Kompromisse finden
Risiken aufdecken
Architekturbewertung
58 Softwarearchitektur für alle!? embarc.de
1 Worum geht es?
2 Was ist zu tun?
3 Wie mache ich das?
4 Wo fangt Ihr an?
5 Fazit und weitere Informationen
Agenda
4
28.09.17
30
59 Softwarearchitektur für alle!? embarc.de
Softwarearchitektur: Stufen
zufällig 0 explizit 1
nachvollziehbar 2 wirkungsvoll 3
Ein kleiner Selbsttest für Euch und Eurer Team, um Handlungsbedarf zu identifizieren ...
60 Softwarearchitektur für alle!? embarc.de
(1) Zerlegung Wo finde ich die Struktur Eurer Lösung?
✔ Nur im Quelltext.
✔ Zerlegungsbegriffe sind etabliert (und Eurer Team verwendet sie durchgängig und gleich).
✔ Eine grobe Zerlegung (inkl. Abhängigkeiten) ist visualisiert und passend dazu im Quelltext.
✔ Die Struktur ist nachvollziehbar an den Anforderungen ausgerichtet (z.B. fachliche Zerlegung, Schichten)
✔ Teile (z.B. Module) werden (wo sinnvoll) über Teamgrenzen hinweg wiederverwendet.
28.09.17
31
61 Softwarearchitektur für alle!? embarc.de
(2) Übergreifende Konzepte Wie geht Ihr mit übergreifenden Aspekten und Fragestellungen um?
✔ Makro und Mikro-Architektur sind unklar.
✔ Einzelne Konzepte sind durchgängig eingehalten.
✔ Die Auswahl der Themen für einheitliche Konzepte ist nachvollziehbar (inkl. bewusstes Weglassen).
✔ Es gibt einen (individuellen) Lebenszyklus für Konzepte (Best Practice vs. Blueprint).
✔ Konzepte werden, wo sinnvoll, über Team- und Projektgrenzen geteilt.
62 Softwarearchitektur für alle!? embarc.de
(3) Kommunikation Wie beantwortet Ihr Fragen nach Architekturansätzen, -konzepten, -entscheidungen?
✔ „Historisch gewachsen.“
✔ „Da musst Du Rene fragen ...“
✔ Architekturansätze sind im Team bekannt, jeder kann sie einem Neuen nachvollziehbar erklären.
✔ Es findet ein Austausch zu Architekturansätzen über Produkt-/Teamgrenzen hinweg statt.
28.09.17
32
63 Softwarearchitektur für alle!? embarc.de
Stufen der Softwarearchitektur
0 (zufällig) Softwarearchitektur ist implizit, Erfolg Zufall.
1 (explizit) Architekturansätze sind explizit vorhanden und benennbar (Beispiele: Verwendung von Mustern, Entscheidungen für Frameworks)
2 (nachvollziehbar) Die Lösung ist an Zielen und Anforderungen nachvollziehbar ausgerichtet. Umsetzung und Architektur entsprechen sich.
3 (wirkungsvoll) Die Lösung und das Vorgehen der Architekturarbeit sind reflektiert und angemessen. Die Architektur wirkt über Team-/Produktgrenzen hinaus.
64 Softwarearchitektur für alle!? embarc.de
Risikogetriebene Architektur
“You should pay as much attention to software architecture as it contributes risk to the overall project, since if there is little architecture risk, then optimizing it only helps little.“
(George Fairbanks)
Risiken in Softwarearchitektur n später schwer zu ändern
n Umsetzung eher teuer
n sehr hohe qualitative Anforderungen
n schwere Integration in Bestehendes
n wenig eigene Erfahrung im Lösungsspektrum
28.09.17
33
65 Softwarearchitektur für alle!? embarc.de
The risk is in the blocks!
Risiken im Team erarbeiten
Format Workshop
Mitspieler Eurer Team, inkl. PO, ggf. Kunde
Hilfsmittel Jenga-Spiel Flipchart (zum Festhalten der
Risiken)
66 Softwarearchitektur für alle!? embarc.de
The risk is in the blocks! -- Ablauf
n Jeder im Team, der ein Risiko sieht, nennt es und zieht einen Block aus dem Stapel
Ø hohes Risiko == weiter unten wegnehmen
n Risiken werden festgehalten (inkl. Höhe, z.B. H/M/L)
n andere Teammitglieder dürfen Fragen stellen
n Das „Spiel“ endet, wenn a) keine Risiken mehr kommen b) der Turm einstürzt
n Anschließend: Nachbereitung
28.09.17
34
67 Softwarearchitektur für alle!? embarc.de
è http://tastycupcakes.org/2013/04/the-risk-is-in-the-blocks/
68 Softwarearchitektur für alle!? embarc.de
1 Worum geht es?
2 Was ist zu tun?
3 Wie mache ich das?
4 Wo fangt Ihr an?
5 Fazit und weitere Informationen
Agenda
5
28.09.17
35
69 Softwarearchitektur für alle!? embarc.de
tl;dr (too long; didn’t read)
Trends und Technologien haben kurze Halbwertszeiten, methodische Werkzeuge sind langlebiger. Sichert mit schlanken Hilfsmitteln daraus wie Architekturvision und Lösungsstrategie Eure Vorhaben ab!
Eine Weiterentwicklung in diese Richtung ist heute kein sozialer Aufstieg für wenige, sondern eine logische Konsequenz, wenn Eurer Team auch in der Mikroarchitektur risikogetrieben vorgehen will.
Moderne Architekturansätze bieten Entwicklerteams mehr Spielraum für konzeptionelle Arbeit. Heute machen mehr Entwickler Architektur.
70 Softwarearchitektur für alle!? embarc.de
Buchtipp: Vorgehensmuster für Softwarearchitektur
Kombinierbare Praktiken in Zeiten von Agile und Lean Autor: Stefan Toth (embarc) Umfang: ca. 270 Seiten Verlag: Carl Hanser Verlag, 2. Auflage 2015 Sprache: Deutsch ISBN: 978-3-446-44395-2
27
è www.swamuster.de
28.09.17
36
71 Softwarearchitektur für alle!? embarc.de
Architektur-Spicker Unsere Architektur-Spicker beleuchten die konzeptionelle Seite der Softwareentwicklung.
è embarc.de/architektur-spicker/
72 Softwarearchitektur für alle!? embarc.de
Wissen auf den Punkt.
è embarc.de/architektur-spicker/
PDF, 4-6 Seiten Kostenloser Download. …
28.09.17
37
73 Softwarearchitektur für alle!? embarc.de
JUG Saxony Day 2017, Programm
Vielen Dank. Ich freue mich auf Eure Fragen!
xing.to/szr
@StefanZoerner
DOWNLOAD FOLIEN: http://www.embarc.de/blog/
Bei uns arbeiten?
28.09.17
38
75 Softwarearchitektur für alle!? embarc.de
Klingt interessant? Sprich uns gerne direkt an oder Mail an [email protected]
Berater/in gesucht! für Softwarearchitektur / Agilität / CD & DevOps / Microservices (Standort flexibel in Deutschland oder Wien)
§ Du brennst für ein Thema und bist motiviert, Dich mit aktuellen Trends tiefer auseinander zu setzen?
§ Du hast eher zu viele Ideen als zu wenige? § Du teilst Deine Erkenntnisse und Erfahrungen gerne mit Kollegen
und denkst Themen weiter? § Du stehst auf Pragmatismus, nicht auf Mikro-Management?
embarc.de/karriere
„Wir glauben weniger an ausgefeilte interne Strategien, als an die Möglichkeiten die entstehen wenn sich leidenschaftliche Leute
zusammenschließen.“
Bereit zum Durchstarten? Da haben wir was...