All Posts By

Harm Gnoyke

IT-Tage 2016: Wie werde ich ihn los – in 10 Tagen? Vom Monolithen zu Microservices…

By | Publikationen, Vorträge | No Comments
„Wie werde ich ihn los – in 10 Tagen? Vom Monolithen zu Microservices…“
Logo IT Tage
Wie werde ich ihn los – in 10 Tagen? Vom Monolithen zu Microservices…
Sprecher: Harm Gnoyke
Vortrag auf den IT-Tagen 2016
Mittwoch, 14. Dezember 2016, 12 – 12.45 Uhr (Saal Maritim I)
Maritim Hotel, Theodor-Heuss-Allee 3, Messe / Frankfurt am Main

Folien Download (PDF)

Viele Projektteams sind eine langjährige Beziehung mit einem Monolithen eingegangen – auch wenn Sie diese Entscheidung gar nicht selbst getroffen haben – und sind mit dieser Situation unglücklich. Mittlerweile gibt es viele große Microservice-Systeme, die ungleich attraktiver erscheinen: Entwickeln in unabhängigen Teams, evtl. sogar mit verschiedenen Technologien, einfaches Austauschen einzelner Services, beliebige Skalierbarkeit sind die bekanntesten Vorteile. Doch wie verabschieden Sie sich möglichst elegant von Ihrem Monolithen und wechseln zu einem Microservice-System?

In diesem Vortrag diskutieren wir zunächst die Beweggründe für einen Wechsel. Ist die Entscheidung gefallen, steht der Umzug an: Was lassen Sie zurück und was nehmen Sie mit ins neue Microservice-System? Wir zeigen eine schrittweise Ablösestrategie und weisen auf typische Stolperfallen hin. Als Abschluss zeigen wir wie sich der Umzug auf die Test-Strategien auswirkt. Insbesondere dort tickt der Neue nämlich anders…

Download Vortragsfolien (PDF)

follow us on Twitter – @embarced

The Architecture Gathering ’16: Wie werde ich ihn los – in 10 Tagen? Vom Monolithen zu Microservices…

By | Publikationen, Vorträge | No Comments
„Wie werde ich ihn los – in 10 Tagen? Vom Monolithen zu Microservices…“

The Architecture Gathering

Wie werde ich ihn los – in 10 Tagen? Vom Monolithen zu Microservices…
Sprecher: Harm Gnoyke
Vortrag beim The Architecture Gathering
Mittwoch, 12. Oktober 2016, 14:15 – 15:15 Uhr
NH München Dornach, Einsteinring 20 in München – Aschheim

Folien Download (PDF)

Viele Projektteams sind eine langjährige Beziehung mit einem Monolithen eingegangen – auch wenn Sie diese Entscheidung gar nicht selbst getroffen haben – und sind mit dieser Situation unglücklich. Mittlerweile gibt es viele große Microservice-Systeme, die ungleich attraktiver erscheinen: Entwickeln in unabhängigen Teams, evtl. sogar mit verschiedenen Technologien, einfaches Austauschen einzelner Services, beliebige Skalierbarkeit sind die bekanntesten Vorteile. Doch wie verabschieden Sie sich möglichst elegant von Ihrem Monolithen und wechseln zu einem Microservice-System?

In diesem Vortrag diskutieren wir zunächst die Beweggründe für einen Wechsel. Ist die Entscheidung gefallen, steht der Umzug an: Was lassen Sie zurück und was nehmen Sie mit ins neue Microservice-System? Wir zeigen eine schrittweise Ablösestrategie und weisen auf typische Stolperfallen hin. Als Abschluss zeigen wir wie sich der Umzug auf die Test-Strategien auswirkt. Insbesondere dort tickt der Neue nämlich anders…

Download Vortragsfolien (PDF)

follow us on Twitter – @embarced

Herbstcampus Nürnberg: Einstieg in die Welt der quantitativen Analysen

By | Publikationen, Vorträge | No Comments
„Tränen lügen nicht – Dashboards schon!“
Logo Herbstcampus
Tränen lügen nicht – Dashboards schon!
Sprecher: Harm Gnoyke
Vortrag auf dem Herbstcampus 2016
Mittwoch, 31. August 2016, 17.20 – 18.30 Uhr
Nürnberg, in der Technischen Hochschule Georg Simon Ohm

Folien Download (PDF)

„Und dann war da noch der Mann, der beim Durchqueren eines im Durchschnitt nur 15 cm tiefen Flusses ertrank.“ (W. Gates) – Statistiken können einen leicht in die Irre führen. So ist es auch mit den Ergebnissen aus Code-Analysen. Was nützt mir zum Beispiel eine durchschnittlich hohe Testabdeckung, wenn mein kritischstes Modul wegen hoher Komplexität ungetestet bleibt?

Dieser Vortrag gibt eine fundierte Einführung in die Welt der quantitativen Analysen. Welche Aspekte einer Software lassen sich überhaupt durch Messen bewerten? Welche Tools gibt es für welchen Zweck? Sowohl freie als auch kommerzielle Lösungen werden dabei beleuchtet. Ich zeige bewährte Prinzipien, die Projektteams weiterhelfen, wenn es um die Vorbereitung und Begleitung konkreter Verbesserungsmaßnahmen geht. Dazu werden insbesondere bekannte Metriken sinnvoll in Zusammenhang gebracht, wie im Beispiel oben zu Testüberdeckung und Komplexität. Das Ergebnis ist ein wirkungsvoller Umgang mit Code-Analysen, ohne den Tools ein tolles System nur vorzugaukeln!

Download Vortragsfolien (PDF)

follow us on Twitter – @embarced

Softwarearchitektur Meetup Hamburg 08/2016: Quantität für Qualität

By | Publikationen, Vorträge | No Comments
„Quantität für Qualität. Wie das Vermessen von Software sinnvoll wird“

Meetup

Quantität für Qualität. Wie das Vermessen von Software sinnvoll wird
Sprecher: Harm Gnoyke, Stefan Zörner
Interaktive Session beim Softwarearchitektur Meetup Hamburg
Montag, 29. August 2016, 19:00 – 21:00 Uhr
Hamburg, Bytro Labs GmbH – Astraturm

Download Folien Download (PDF)

Tools zum Vermessen von Software gibt es wie Sand am Meer. Die meisten “erschlagen” uns nach der ersten Analyse mit Ergebnissen. Mit Hilfe der von den Tools bereitgestellten Dashboards machen wir uns an die Arbeit und beheben die gefundenen Schwachstellen. Doch bevor wir den ganzen technischen Schuldenberg abtragen, lohnt sich der Schritt zurück auf die Qualitätsziele für unsere Software. Was sind tatsächliche Zielwerte für unsere Software und wie helfen uns die Analyseergebnisse dabei? Wie komme ich zum richtigen Metrik-Set? Bei welchen Qualitätszielen stoßen Tools an ihre Grenzen und welche Alternativen können wir dann nutzen? Wir nähern uns dem Thema wieder mit einem Mix aus Vortrag, Mitmachen und Ausprobieren!

Download Vortragsfolien (PDF)

follow us on Twitter – @embarced

ISO, weshalb warum? Ist Software-Qualität Geschmackssache?

By | Inhaltliches | No Comments

Wir tun uns leicht damit, etwas nach unserem persönlichen Geschmack zu bewerten, zum Beispiel Musik. Auch bei Software äußern wir schnell unsere Meinung über eine Lösung: „Das hätte ich anders gemacht!“ oder „So tut das nicht!“
Für die Einschätzung der Qualität von Softwaresystemen reicht dies jedoch nicht aus. Das stellen Teams dann fest, wenn es unterschiedliche Meinungen zu einer Lösung gibt. Wer hat nun Recht? Derjenige, der länger im Team ist? Der mit mehr allgemeiner Erfahrung? Schnell wird klar, dass der persönliche Maßstab nicht ausreichend ist und wir einen allgemeinen Maßstab benötigen um sinnvoll bewerten zu können, ob eine Lösung geeignet ist.

FURPS/FURPS+, DIN 66272, ISO 9126, ISO 25010, etc.

Bevor wir uns selbst etwas überlegen, greifen wir doch lieber auf eins der bestehenden Modelle für Qualität von Softwaresystemen zurück. Für Softwarearchitekten sind diese Modelle deshalb interessant, weil die qualitativen Anforderungen wichtige Treiber für Architekturarbeit sind. Aus der Aufnahme und Bewertung dieser Anforderungen leite ich ab, in welchen Bereichen ich schon sicher bin und in welchen Bereichen meines Entwurfs ich noch investieren muss.

Alle Modelle definieren Software-Qualität anhand von Merkmalen, die am fertigen System sichtbar werden. Sie unterscheiden sich in der Auswahl und Beschreibung der Merkmale. Am besten lässt sich das anhand der am weitesten verbreiteten Modelle zeigen, der ISO 9126 und der ISO 25010. Letztere ist die Ablösung der erstgenannten Norm und setzt sich erst nach und nach in der Literatur durch. Sie treffen daher häufig noch auf die ältere Norm.

Als Überblick folgt die Auflistung und Beschreibung der unterschiedlichen Qualitätsmerkmale der ISO 25010 im Einzelnen:

Qualitätsmerkmal Englischer Begriff Beschreibung Unterkategorien
Funktionalität
Funktionalität
Functional Suitability Die Art und Weise, wie die gewünschte Funktionalität geliefert wird Vollständigkeit, Korrektheit, Angemessenheit
Effizienz
Effizienz
Performance Efficiency Stellt die Leistung des Systems in Relation zum Ressourcenverbrauch dar
Häufig auch mit Performance bezeichnet
Zeitverhalten, Ressourcenverbrauch, Kapazität
Kompatibilität
Kompatibilität
Compatibility Fähigkeit zum Austausch von Daten mit anderen Systemen oder Komponenten, die auf anderer oder der gleichen Hardware laufen. Ko-Existenz, Interoperabilität
Benutzbarkeit
Benutzbarkeit
Usability Grad der Nutzbarkeit für definierte Benutzer, vorher bestimmte Ziele mit dem System effizient und zufrieden zu erreichen. Erlernbarkeit, Bedienbarkeit,
Schutz vor Fehlern des Benutzers, Barrierefreiheit
Zuverlässigkeit
Zuverlässigkeit
Reliability Erbringung der Leistungen des Systems unter bestimmten Bedingungen über einen definierten Zeitraum Reife,
Verfügbarkeit, Fehlertoleranz, Wiederherstellbarkeit
Sicherheit
Sicherheit
Security Fähigkeit, die Daten und das System so zu schützen, dass sowohl beabsichtigte als auch unbeabsichtigte Zugriffe erkannt und abgewehrt werden Vertraulichkeit,
Integrität, Nachweisbarkeit,
Ordnungsmäßigkeit, Authentizität
Wartbarkeit
Wartbarkeit
Maintainability Die Wirtschaftlichkeit, mit der ein System angepasst werden kann, um auf Veränderungen der Umwelt, Rahmenbedingungen oder Anforderungen zu reagieren sowie Fehler zu korrigieren Modularität, Wiederverwendbarkeit, Analysierbarkeit, Änderbarkeit, Testbarkeit
Portabilität
Portabilität
Portability Einfachheit, mit der ein System von einer Umgebung auf eine andere übertragen werden kann Anpassbarkeit, Installierbarkeit,
Austauschbarkeit

Die entscheidende Neuerung bei der ISO 25010 – auch unter dem Namen SQuaRE (Systems and Software Quality Requirements and Evaluation) bekannt – ist die Hinzunahme von Sicherheit und Kompatibilität als Hauptkategorien, die seit der Definition der ISO 9126 an Bedeutung hinzugewonnen haben. Interessant dabei ist, dass Sicherheit in der alten Norm noch eine Unterkategorie zu Funktionalität war, also sozusagen befördert wurde. Insgesamt erhalten wir damit ein vollständiges Modell zur Bewertung von Software-Qualität.

Das im englischsprachigen Raum weit verbreitete FURPS+ setzt sich aus zwei Bestandteilen zusammen: Die fünf Qualitätsmerkmale Funktionalität, Benutzbarkeit, Zuverlässigkeit, Effizienz und Änderbarkeit (der Name des Modells ist aus den Anfangsbuchstaben der englischen Begriffe abgeleitet) und dazu Rahmenbedingungen für Design, Entwicklung, Schnittstellen und Hardware. Die einzuhaltenden Rahmenbedingungen beeinflussen nämlich die Erreichung der Qualitätsziele mitunter stark. Auch bei der Verwendung von anderen Modellen müssen Projekte diese natürlich berücksichtigen.

Software-Qualität detaillierter erklärt

Die Unterkategorien helfen, die Bedeutung der Begriffe genauer einzuordnen. Zum Beispiel enthält der Begriff Effizienz neben dem offensichtlichen Zeitverhalten eben auch den Ressourcenverbrauch. Für Ihr Softwareprojekt bedienen Sie sich dieser Kategorien und nehmen auch eigene Begriffe hinzu, die in Ihrem Umfeld gebräuchlicher sind. Für eine Konkretisierung der Anforderungen an Ihr System benutzen wir sogenannte Qualitätsszenarien. Diese stellen das System in den Mittelpunkt und zeigen dessen Verwendung durch einen Akteur. Dieser kann neben dem Benutzer auch jemand aus dem Entwicklungs- oder Betriebsteam sein oder auch ein Fremdsystem. In einem weiteren Blogpost zeige ich, wie Qualitätsszenarien genau aussehen und gebe Beispiele für die aufgeführten Qualitätsmerkmale. Mit Merkmalen und dazugehörigen Szenarien erhalten Sie ein rundes Bild über die von Ihrem System gewünschte Qualität.

Auch wenn wir nun ein Modell gefunden haben, mit dem wir Software-Qualität bewerten können, rate ich davon ab, damit verschiedene Systeme untereinander zu vergleichen: Die Anforderungen für die Lösungen unterscheiden sich ebenso wie die Umfelder, in denen sie entwickelt werden. Verschiedene Lösungsalternativen für ein System können wir damit aber sehr gut vergleichen und die Aussage „So tut das nicht!“ beweisen oder widerlegen.

Tests erst in Produktion? Lernen von Microservices

By | Artikel, Publikationen | No Comments
Tests erst in Produktion? – Was wir von Tests bei Microservices lernen können (Artikel auf Informatik Aktuell)

Informatik Aktuell Tests

Tests erst in Produktion? – Was wir von Tests bei Microservices lernen können
Autor: Harm Gnoyke
erschienen am 26. April 2016: online lesen

Microservices sind der meistdiskutierte Architekturstil der letzten Jahre. Für die erhöhte Reaktionsgeschwindigkeit auf Veränderungen zahlen Sie jedoch den Preis einer komplexer zu entwickelnden und zu betreibenden Applikation. Schnell stellt sich die Frage, wie diese Komplexität beim Testen der Anwendung beherrscht wird. Nach ehrlichen Antworten gefragt, räumen viele Projekte ein Defizit bei diesem Thema ein – unabhängig vom gewählten Architekturstil. Wieso werden diese Stimmen rund um Microservices nicht lauter? Was machen die Teams anders, die diese komplexen verteilten Anwendungen entwickeln und betreiben?

zum Artikel

Software Architecture Summit 2016: Bewertungsmethoden unter der Lupe

By | Publikationen, Vorträge | No Comments
„Bewertungsmethoden unter der Lupe: Architekturziele nachhaltig absichern“
Logo Software Architecture Summit
Bewertungsmethoden unter der Lupe: Architekturziele nachhaltig absichern
Sprecher: Harm Gnoyke und Stefan Zörner
Ganztagesworkshop auf dem Software Architecture Summit 2016
Freitag, 18. März 2016, 10 – 13 Uhr und 14:00 – 17:30 Uhr
Novotel München Messe, Willy-Brandt-Platz 1, 81829 München Riem

Softwarearchitektur gezielt weiterzuentwickeln bedeutet Entscheidungen zu treffen: Strukturen, Technologien, Vorgehen… Sind Sie auf dem richtigen Weg? Können Ihre Architekturideen in der Umsetzung aufgetretene Probleme effektiv lösen? Helfen sie bei der Erreichung Ihrer Ziele oder behindern sie diese eher? Architekturbewertung kann Sicherheit schaffen und Risiken aufzeigen und damit helfen die Aufwände im Projekt zu fokussieren. Als Entwicklungsteam können Sie Ihre Softwarelösungen mit einer Vielzahl unterschiedlicher Methoden bewerten. Jede hat ihren Zeitpunkt und jede richtet sich auf andere Fragestellungen.

In diesem ganztägigen Workshop mit hohem Praxisanteil zeigen wir Ihnen, wie Sie Bewertungsmethoden in laufende Projekte integrieren und diese als Treiber für Ihre Architekturarbeit etablieren können. Am Vormittag steht die Differenzierung von qualitativen und quantitativen Analysemethoden im Vordergrund. Wir stellen sie kurz vor und zeigen Stärken, Schwächen und Kombinationsmöglichkeiten der beiden Methodenfamilien. Dabei wird zum Beispiel klar was argumentative, Workshop-basierte Verfahren leisten können und welche Aspekte Ihrer Architekturziele sich mit statischen Code-Analysen verknüpfen lassen.

Am Nachmittag geht es tiefer in die Details der Quantitativen Analyse: Wie komme ich zu den „richtigen” Metriken? Welche Fallstricke gibt es? Wie baue ich meine Dashboards auf? Diese und weitere Fragen klären wir gemeinsam im Übungsteil.

Gruppenarbeit Workshop

Follow us on Twitter – @embarced

JavaLand 2016: Tränen lügen nicht – Dashboards schon!

By | Publikationen, Vorträge | No Comments
„Tränen lügen nicht – Dashboards schon!“

Logo JavaLand

Tränen lügen nicht – Dashboards schon!
Sprecher: Harm Gnoyke
Vortrag beim JavaLand 2016
Dienstag, 08. März 2016, 13:00 – 13:40 Uhr
Phantasialand, Raum Lilaque, Berggeiststraße 31-41 in 50321 Brühl
Download Vortragsfolien (PDF)

Wir freuen uns, dass wir in der dritten Ausgabe der JavaLand das erste Mal mit einem Vortrag vertreten waren:

„Und dann war da noch der Mann, der beim Durchqueren eines im Durchschnitt nur 15 cm tiefen Flusses ertrank.“ (W. Gates) – Statistiken können einen leicht in die Irre führen. So ist es auch mit den Ergebnissen aus Code-Analysen. Was nützt mir zum Beispiel eine durchschnittlich hohe Testabdeckung, wenn mein kritischstes Modul wegen hoher Komplexität ungetestet bleibt?

Dieser Vortrag gibt eine fundierte Einführung in die Welt der quantitativen Analysen. Welche Aspekte einer Java-Software lassen sich überhaupt durch Messen bewerten? Welche Tools gibt es für welchen Zweck? Sowohl freie als auch kommerzielle Lösungen werden dabei beleuchtet.

Ich zeige bewährte Prinzipien, die Projektteams weiterhelfen, wenn es um die Vorbereitung und Begleitung konkreter Verbesserungsmaßnahmen geht. Dazu werden insbesondere bekannte Metriken sinnvoll in Zusammenhang gebracht, wie im Beispiel oben zu Testüberdeckung und Komplexität. Das Ergebnis ist ein wirkungsvoller Umgang mit Code-Analysen, ohne den Tools ein tolles System nur vorzugaukeln!

Download Vortragsfolien (PDF)

Follow us on Twitter – @embarced

softwarearchitektur-meetup-hamburg

Softwarearchitektur Meetup: Architekturarbeit in Hamburg

By | Allgemein | No Comments

Am 26. April wird im Hamburger Softwarearchitektur Meetup der Blick auf die Arbeitsweise von Architekten gerichtet.

Meetup
 Architekturarbeit in Hamburg
Referent: Jan Gentsch
Organisation: Harm Gnoyke
Veranstaltung beim Softwarearchitektur Meetup Hamburg
26. April 2016, 18:30 Uhr
HAW Hamburg, Raum 1281 im Berliner Tor 7

Zur kostenlosen Anmeldung

Architekturarbeit ist den letzten Jahren nicht einfacher geworden. Neue Technologien und Trends entwickeln sich oft rasant und wollen verstanden und bewältigt werden. Agile Entwicklungsmethoden haben den Mainstream erreicht und verändern etablierte Vorgehensweisen und Formen der Zusammenarbeit.

Uns interessiert: Wo steht Architekturarbeit heute?

Wo funktioniert sie gut? Was ist immer noch schwierig? Welchen Einfluss hat das Umfeld? Was bewährt sich? Was ist nur heiße Luft?

Um Antworten auf diese Fragen zu finden, werden vor dem Meetup dazu Stories zur Architekturarbeit gesammelt und dann im Meetup gemeinsam ausgewertet.

Dazu bitten wir Euch, um Eure eigenen Erlebnisse (= „Stories“) zur Architekturarbeit und um eine kurze strukturierte Einschätzung zu jeder Story. Die Stories erfassen wir mit einer eigens entwickelten App. Der Link dazu ist hier (dauert keine 15 Minuten!):

Zur Umfrage

Mit Hilfe dieser Methode bekommen wir nicht nur reine Statistik, sondern hoffentlich auch die greifbare Geschichte davon erzählt, wie ihr Architekturarbeit heute lebt.

Ihr dürft gerne mehrere Geschichten einreichen! Grundlegendes zur Umfrage: Die Teilnahme an der Umfrage ist anonym. Teilt nur Informationen, mit denen Ihr euch selber wohl fühlt und nennt bitte Beteiligte oder Unternehmen nicht namentlich.

Im Meetup selbst werden die Ergebnisse nach einem Überblick über die Umfrage dann gemeinsam analysiert und diskutiert. Wir sind schon gespannt auf die Erkenntnisse!

Interview auf JAXenter: „Architekturen bewerten – aber wie?“

By | Inhaltliches, Publikationen | No Comments
„Architekturen bewerten – aber wie?“ (Interview auf JAXenter)

Architekturen bewerten – aber wie?
Interview mit Harm Gnoyke (Fragen von Hartmut Schlosser)
online bei JAXenter
erschienen am 27. Januar 2016

Softwarearchitekturen kann man auf ganz unterschiedliche Art und Weise bewerten. Welche Möglichkeiten es aber gibt, dass Architekturbewertungen tatsächlich objektiv ausfallen und ein Projekt in der Praxis voranbringen, haben wir mit Harm Gnoyke, Architekt bei embarc und Trainer auf dem Software Architecture Summit, besprochen. (mehr …)

zum Interview