Das Doppelpack für die moderne Architektur

Das Doppelpack für die moderne Architektur

Während die Skyline unserer Softwarewelt nach wie vor von Monolithen geprägt ist, hat sich der Trend zu flexiblen Architekturmodellen mit Microservices, Continuous Deployment, DevOps und hohen Automatisierungsgraden auf möglichst allen Ebenen inzwischen durchgesetzt. Und in der Tat: kompaktere, weitestgehend autarke Softwaremodule mit eigenen spezialisierten Teams bieten eine Menge Vorteile – von der Konzeption über Entwicklung und Testen bis in die Wartung. Verbesserte Stabilität, adaptive Reaktion auf veränderliche Anforderungen, Effizienz- und Kostenvorteile in der Weiterentwicklung sind Argumente, bei denen jedes Entscheiderherz höher schlagen sollte.

Aus architektonischer Sicht ist eine flexible Sortwarearchitektur allerdings leichter gesagt, als getan. Welche Methodik ist für mein Projekt die richtige? Anhand welcher Kriterien lassen sich Module zielführend abgrenzen? Wie kann ich von Anfang an vermeiden, dass sich bei zusätzlichen oder sich verändernden Anforderungen mit der Zeit der berühmt-berüchtigte Big Ball of Mud bildet?

Vorteile

  • Fokussierung auf die Fachlichkeit des Unternehmens
  • Vereinfachte Modularisierung in Microservices
  • Verbesserte Stabilität
  • Adaptive Reaktion auf veränderliche Anforderungen
  • Effizienz- und Kostenvorteile

Für viele Softwarearchitekten ist Domain Driven Design (DDD) die Antwort auf diese und andere gängige Fragestellungen im Vorfeld einer flexiblen Architektur. DDD setzt konsequent auf die Fachlichkeit, und die liegt im Business des Unternehmens begründet, nicht im technischen Jargon des Entwicklerteams. Aus dem Business heraus lassen sich bereits in frühen Phasen des strategischen Designs inhaltliche und funktionale Einheiten als Bounded Contexts separieren. Aber auch im taktischen Design können sich sinnvolle Modularisierungsoptionen ergeben. So bildet die Fachlichkeit letztendlich die Basis für die Abgrenzung der Microservices und die Herausbildung dedizierter Teams.

Architekten, die ihr Handwerk in diese Richtung entwickeln möchten, finden in den iSAQB-akkreditierten Trainings Flexible Architektur­modelle, Microservices & Self-Contained Systems (FLEX) und Domain Driven Design (DDD) ein starkes Doppelpack, in denen alle relevanten Grundlagen anschaulich und praxisnah vermittelt werden. In unserer ITech Academy zählt die Kombination von FLEX und DDD bereits seit über zwei Jahr zu den am stärksten nachgefragten, oft und gerne ergänzt durch das Modul Agile Softwarearchitektur (AGILA).

Großer Preis des Mittelstandes 2020 | Wir sind im Wettbewerb!

Großer Preis des Mittelstandes 2020 | Wir sind im Wettbewerb!

22. Mai 2020

Für den „Großen Preis des Mittelstandes 2020“ wurden 4.970 (2019: 5.399) kleine und mittelständische Unternehmen sowie wirtschaftsfreundliche Kommunen und mittelstandsfreundliche Banken nominiert.

Nachdem wir unsere unternehmensspezifischen Juryunterlagen in Form eines Fragebogens einreichten, erhielten wir vor ein paar Tagen die tolle Nachricht, dass wir als einer von 553 (2019: 758) die 2. Stufe des Wettbewerbs, die „Juryliste“, erreicht haben. Jetzt sind die zwölf Regionaljurys und die Abschlussjury bis zum 30. Juni damit befasst, die Besten zu ermitteln. Es bleibt spannend!

20. März 2020

Nur jedes tausendste Unternehmen Deutschlands erreicht die Nominierungsliste des „Großen Preis des Mittelstandes“ und wir freuen uns auch dieses Jahr wieder ein Teil des Wettbewerbs, zu dem man sich nicht selbst bewerben kann, zu sein.

Die Nominierung,  gilt laut der Organisation als Eintrittskarte ins „Netzwerk der Besten“. Denn als einziger Wirtschaftspreis Deutschlands betrachtet der „Große Preis des Mittelstandes“ nicht allein Zahlen, Innovationen oder Arbeitsplätze, sondern das Unternehmen als Ganzes und in seiner komplexen Rolle in der Gesellschaft.

    In den Juryunterlagen für den „Großen Preis des Mittelstandes” der Oskar-Patzelt-Stiftung werden unternehmensspezifische Angaben in fünf Kriterien erhoben:

    • Gesamtentwicklung des Unternehmens
    • Schaffung/Sicherung von Arbeits- und Ausbildungsplätzen
    • Innovation/Modernisierung
    • Engagement in der Region
    • Service/Kundennähe/Marketing

    „Der Mittelstand ist und bleibt ein Garant für Stabilität und Vertrauen in Deutschland. Den Nominierten und den Preisträgern beim … ‚Großen Preis des Mittelstandes‘ gratuliere ich herzlich. … Das haben Sie sich verdient.“ sagte Dr. Wolfgang Schäuble, Bundestagspräsident, im Jahr 2017 als Bundesminister der Finanzen. „Der ‚Große Preis des Mittelstandes‘ ist ein Aushängeschild für die angesehene Marke ‚Made in Germany’“ sagte Albrecht Gerber als Wirtschafts- und Energieminister Brandenburg. Und Barbara Stamm, Präsidentin des Bayerischen Landtages a.D., lobte: „Wer hier nominiert wurde, hat allein durch diese Auswahl bereits eine Auszeichnung 1. Güte erfahren.“ „Der von der Oskar-Patzelt-Stiftung vergebene ‚Große Preis des Mittelstandes‘ ist deutschlandweit die begehrteste Wirtschaftsauszeichnung“, schrieb die WELT.

    Diese Nominierung ist ein großes Lob für uns und wir bedanken uns recht herzlich! Bis zum 15. April 2020 haben wir nun Zeit, aussagefähige Unterlagen zusammenzustellen und online einzureichen. Eine unabhängige Jury wird dann die Auswahl der Preisträger und Finalisten vornehmen. Die  Preisverleihungen finden im September statt, gefolgt von der Bundesgala im Oktober. 

     

    Anti Pattern: Golden Hammer

    Anti Pattern: Golden Hammer

     „Wenn mein einziges Werkzeug ein Hammer ist, sieht jedes Problem wie ein Nagel aus.“ – Abraham Maslow

    Beschreibung

    Ein goldener Hammer ist eine Art Wunderwaffe, ein bevorzugter Lösungsweg oder ein beliebtes Produkt, mit dem das Team viel Erfahrung hat und der irrtümlich als universell anwendbar angesehen wird. Alternativen werden kaum betrachtet.

    Auswirkungen

    Das Problem hierbei ist, dass die Lösung oder das Produkt nur scheinbar zu den gegebenen Anforderungen passen.

    Es kann unter Umständen passieren, dass das Produkt Teile des Designs oder der Erweiterbarkeit festlegt, indem z.B. nur Schnittstellen desselben Herstellers oder eines bestimmten Betriebssystems verwendet werden können. Der Einsatz einer bestimmten Lösung kann auch zu einer schlechteren Skalierbarkeit und Performanz führen als eine andere Lösung. Als Folge können die Kosten explodieren oder Termine nicht eingehalten werden.

    Lösung

    Hier ist ein Umdenken bei den Entwicklern und im Management erforderlich. Alternative Lösungsansätze und die hierbei entstehenden Vor- und Nachteile sollten ständig im Auge behalten werden. Es kann auch hilfreich sein, das Projektteam stärker zu diversifizieren, indem mehr Leute aus unterschiedlichen Firmen und anderen Fachgebieten eingestellt werden.

    Eine Weiterbildung durch Fortbildungen, Seminare, Bücher etc. hilft dabei, die Entwickler immer auf dem neusten Stand der Entwicklung zu halten, nicht nur im Bereich der Softwaretechnologie, sondern auch auf Organisationsebene.

    Bei unserer 3-tägigen Grundausbildung für Softwarearchitekten, dem Foundation Level Training, erhalten Sie das nötige Know How, um Architekturen für kleine und mittlere Systeme zu entwerfen und zu dokumentieren. Am Ende der Softwarearchitektur Schulung haben Sie das Rüstzeug, um problembezogene Entwurfsentscheidungen auf der Basis Ihrer vorab erworbenen Praxiserfahrungen zu treffen.

    Entwicklerdokumentation mit PlantUML

    Entwicklerdokumentation mit PlantUML

    Bei einer unserer letzten Night Schools stellte ich eine neue Möglichkeit vor, auf entwicklungsnahe Art und Weise IT-Systeme zu dokumentieren. Die Night Schools sind unsere internen Weiterbildungsevents, bei der immer abwechselnd ein Kollege/eine Kollegin ein aktuelles Thema aus dem Softwarearchitektur Bereich für das Team aufbereitet und vorstellt.

    Die Unified Modelling Language UML ist der aktuelle Standard zur Dokumentation von statischen Strukturen und dynamischen Abläufen in IT-Systemen.  Auch in der Architekturdokumentation wird UML oftmals eingesetzt.

    UML hat aber durchaus seine Schattenseiten, da es häufig mit komplexen Modellierungs- oder Zeichenprogrammen à la VISIO erstellt wird. Das Ergebnis der Modellierung ist dann eine Reihe von Word- oder PDF-Dateien mit eingebetteten JPEG- oder PNG-Grafiken. Entwickler dagegen arbeiten mit Textdateien in einer Entwicklungsumgebung, die oftmals an eine komplexe Build-Pipeline angeschlossen ist und alle Arbeitsergebnisse auf Wunsch auch gleich versioniert und deployed. So kann jede Änderung über alle Versionen problemlos zurückverfolgt werden. Dieser Ansatz scheitert leider bei Office-Dateien, da hier jede neue Version einer Datei als gänzlich neues Artefakt behandelt wird. Es kommt bei der Modellierung mit UML nicht nur zu einem Medienbruch, sondern auch die Arbeitsergebnisse können nicht nahtlos in die Entwicklungspipeline aufgenommen werden. In diese Bresche springt nun Plant-UML.

    Die Idee von Plant-UML ist, mit Hilfe von einfachen Textdateien, die eine bestimmte Plant-UML-Syntax verwenden, automatisiert UML-Diagramme zu erzeugen und als PNG, SVG oder ASCII-Art anzeigen zu lassen. Dies geschieht interaktiv, sodass der Autor per Knopfdruck gleich das Arbeitsergebnis sehen kann. Auf der Plant-UML Homepage kann dies ganz einfach kostenfrei selbst ausprobiert werden >> http://www.plantuml.com/plantuml/uml/. Unterstützt werden Anwendungsfalldiagramme, Klassendiagramme, Sequenzdiagramme, Aktivitätsdiagramme, State-Machines, Objektdiagramme, Deploymentdiagramme, Komponentendiagramme und Timing-Diagramme. Alle werden mit einer einfachen Syntax definiert und übernehmen das Layout der Objekte im Diagramm automatisch. Trotzdem kann eine ganze Reihe von zusätzlichen Items verwendet werden, um die UML-Diagramme noch aussagekräftiger zu gestalten. Dies geht von konfigurierbaren Farben bis hin zu Legenden und Infoboxen. Mir gefällt am besten, dass Plant-UML sich direkt in den Build-Prozess integrieren lässt und die UML-Diagramme nicht nur in ASCIIdoc-Dokumente eingefügt werden können, sondern diese sich auch bei jedem Build neu erzeugen. Damit wird eine Dokumentation erreicht, die genauso einfach und effektiv verwaltet werden kann wie der Quellcode selbst. Ein Medienbruch bleibt aus.

    Neben den UML-Diagrammen kann Plant-UML aber noch mehr: Es ist möglich, Datenbanktabellen mittels Entity-Relationship-Diagrammen zu beschreiben, neue Ideen in Form von Mindmaps darzustellen und Arbeitspakete mit Hilfe von Work-Breakdown-Diagrammen (WBD) zu beschreiben. Es ist sogar möglich, Projektplanungen mittels Gantt-Diagrammen wie in MS Project zu erstellen. Alle diese Diagramme werden ebenso einfach mit Hilfe von Textschnipseln definiert. Der eigentliche Höhepunkt ist aus meiner Sicht aber die Möglichkeit, ein Wireframe einer Oberfläche aus einer Textdarstellung zu erstellen. Probieren Sie es doch einfach mal aus und teilen Sie Ihre Erfahrung mit uns über die Kommentare.

    Axel Feix, Software Architekt & Managing Consultant bei ITech Progress

    OOP 2020 unter dem Motto „Into the Unknown“ | Wir sind dabei!

    OOP 2020 unter dem Motto „Into the Unknown“ | Wir sind dabei!

    Kaum ein Berufsfeld ist so vielfältig und breit gefächert wie das des Software-Architekten. Gleichzeitig gibt es wenige Branchen, die sich so sehr der Innovation verschrieben haben wie unsere. Das ist Fluch und Segen gleichermaßen, denn so spannend es ist, Neues zu kreieren, so hoch ist auch die Verantwortung – gegenüber unseren Kunden, unseren Mitarbeitern bzw. Kollegen und am Ende auch gegenüber unserer Gesellschaft.

    Besuchen Sie uns an Stand 3.3!

    Gehen Sie mit uns den Weg in die Zukunft auf der OOP 2020, der Konferenz für Software-Architektur vom 03. – 07.02.2020 in München! Wir, ITech Progress und die ITech Academy, sind als Aussteller vom 04. – 06.02.2020 am Stand mit der Nummer 3.3 für Sie da. Wir freuen uns auf den Austausch über unsere Arbeit im Bereich Systems- und Software Engineering und laden Sie herzlich ein, unsere ITech Academy mit ihrem breiten Portfolio an Schulungen zum Certified Professional for Software Architecture (CPSA) des International Software Architecture Qualification Board (iSAQB), kennen zulernen.

    Aktionen und Gewinnspiele

    Unter allen Besuchern unseres Standes verlosen wir ein CPSA-Training Ihrer Wahl und geben jedem die Chance bei unserem Gewinnspiel „3-gewinnt“ tolle Preise wie Mahbouba Gharbis Buch „Basiswissen für Softwarearchitekten“ zu gewinnen.

    Das erwartet Sie auf der OOP

    Unter dem Motto „Into the Unknown“ bietet die OOP in bis zu 9 parallelen Tracks praxisnahe Sessions u.a. zu IT-Sicherheit, Architektur, Microservices, Software-Entwicklung, Business Agilität, AI, DevOps, Cloud, Domain-Driven Design und vielem mehr.

    Die OOP ist der Treffpunkt von Mitarbeitern des Konzernumfelds, da die Konferenz die Verbindung zwischen Software und Business herstellt. Sowohl technische Experten (Architekten, Entwickler, Requirements-Engineers, Tester, etc.) als auch Projektleiter und IT-Führungskräfte erhalten einen exzellenten Blick über den aktuellen Stand des modernen Software-Engineering. Neben vielversprechenden Konzepten für zukünftige Herausforderungen werden auch in der Praxis bewährte Techniken diskutiert. Unter OOP-KONFERENZ.DE finden Sie detaillierte Informationen zur Konferenz und der Ausstellung.

    Wir sind jetzt schon gespannt auf den Austausch mit Ihnen und freuen uns auf drei spannende Tage!