Prüfungsstress im Projekt: Welche NOTE bekommt meine Architektur?

Prüfungsstress im Projekt: Welche NOTE bekommt meine Architektur?

Der Abnahmetermin für die Software steht bevor und das Review der Softwarearchitekturen sorgt für schlaflose Nächte. Eine Architekturbewertung soll durchgeführt werden um die Stärken und Schwächen der Softwarearchitektur zu ermitteln. Wurden die relevanten Qualitätsmerkmale erfüllt und alle Ziele erreicht?

Grundlegend geht es bei der Architekturbewertung darum, herauszufinden, ob eine Softwarearchitektur die in sie gesetzten Erwartungen erfüllt oder nicht. Was sind die Stärken und Schwächen einer Architektur und welche Risiken und Probleme ergeben sich daraus?

Als Vergleich zur Softwarearchitekturbewertung nehmen wir einmal die Bewertung von sportlichen Leistungen. Genau wie bei der Softwarearchitektur lassen sich auch sportlichen Leistungen je nach Disziplin mehr oder weniger gut beurteilen. Wer läuft schneller? Wer springt höher? Wer wirft weiter? Wer schießt mehr Tore?  Diese Fragen sind noch einfach zu beantworten. In der Softwarearchitektur sind die Fragen natürlich ein wenig anders: Wie viele gefundene Fehler gibt es pro Paket? Wie hoch ist der Resscourcenverbrauch? Wie viel Zeit wird für die Verarbeitung bestimmter Funktionen oder Anwendungsfälle benötigt?

Doch nicht alle Fragen sind immer so leicht zu beantworten. Die Bewertung von Turniertänzern oder Eiskunstläufern ist schon etwas komplizierter und lässt sich nicht nach einfachen Zahlen bemessen, sondern funktioniert nach einem komplizierten Schema. Die Qualität entscheidet!

Wie ist das nun in der Softwarearchitektur? Gibt es hier sowas wie Messlatten und Schiedsrichter? Wie sieht hier das Ergebnis aus? Im Sport ist das klar: Der Gewinner bekommt die Goldmedaille.

  • Wie zuverlässig läuft das System?
  • Wie sicher ist das System?
  • Kann die Software ihr Leistungsniveau unter festgesetzten Bedingungen über einen bestimmten Zeitraum aufrechterhalten?
  • Wie sparsam ist die Software zur Lösung eines festgelegten Problems bezüglich der Ressourcen, Zeitverhalten bei Anfragen und Bearbeitungen sowie Speicherplatz?
  • Wie hoch ist der Aufwand zur Fehlerbeseitigung, zur Umsetzung von Verbesserungen oder zur Anpassung an Umgebungsveränderungen?
  • Ist die Software auch auf anderen Systemen (Hard- und Software) einsetzbar?

In der Softwarearchitektur gibt es verschiedene Methoden und Werkzeuge, die zu unterschiedlichen Zeitpunkten eingesetzt werden können. Bei der Bewertung einer Architektur gibt es jedoch zwei Ansätze: der qualitative Ansatz und der quantitative Ansatz.

 

Qualitativer Ansatz zur Architekturbewertung

Der qualitative Ansatz ermöglicht eine Bewertung nach Beschaffenheit oder Güte der Softwarearchitektur und hilft frühzeitig Risiken zu identifizieren, die die Erreichung der Qualitätsziele gefährden können. Ein Qualitätsmodell (wie z.B. ISO 25010) kann verwendet werden. Das ISO Modell definiert acht Qualitätsmerkmale: Benutzbarkeit, Effizienz, Funktionale Eignung, Kompatibilität, Sicherheit, Übertragbarkeit, , Wartbarkeit und Zuverlässigkeit.

Die qualitative Bewertung sollte jedoch regelmäßig und so früh wie möglich stattfinden. Eine der führenden Methoden im Bereich der Softwarearchitekturbewertung ist ATAM. ATAM seht für Architecture Tradeoff Analysis Method und bezeichnet eine Szenario-basierte Methode zur Bestimmung der Stärken, Schwächen und den getroffenen Kompromissen einer Softwarearchitektur. Ein ATAM-Workshop dauert in der Regel 3 – 4 Tage und wird gemeinsam mit den Stakeholdern durchgeführt.

 

Quantitativer Ansatz zur Architekturbewertung

Der quantitative Ansatz ist eine Bewertung der Artefakte in Zahlen und kann helfen, kritische Teile innerhalb von Systemen zu identifizieren. Im Gegensatz zur qualitativen Bewertung liefert sie keine Aussage über die Funktionsfähigkeit der Software. Zur Bewertung wird eine Reihe von Messungen und Metriken verwendet, wie beispielsweise die Anzahl der geänderten Anforderungen pro Zeiteinheit, die Anzahl der Testfälle, die Anzahl der gefundenen Fehler pro Paket, die Anzahl der neuen Codezeilen oder die Zyklomatische Komplexität. Der Vorteil ist, dass die Messungen automatisierbar sind und leicht wiederholt werden können. Es besteht jedoch auch die Gefahr von Missdeutungen, da ein fachlicher und technischer Kontext benötigt wird, um vergleichbar zu sein. Gesammelte Daten aus Vergleichsprojekten können hierbei hilfreich sein.

Insgesamt gesehen ist die Architekturbewertung ein wichtiges Hilfsmittel zur Bestimmung der Qualität einer Software bei der es aber weniger darum geht die Architektur zu benoten, sondern eher mehr Durchblick zu bekommen.

 

Sie möchten noch mehr erfahren?

Das 2-tägige iSAQB-akkreditierte Training “Architekturbewertung (AWERT)” vermittelt das notwendige Wissen und die Fähigkeiten, um Softwarearchitekturen bewerten zu können. Ziel ist die Beantwortung der Frage: Wie findet man heraus, ob eine Architektur die Erwartungen erfüllt?

Zu den Terminen

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).

Unsere Hygienemaßnahmen für Präsenztrainings

Unsere Hygienemaßnahmen für Präsenztrainings

Die ITech Academy bietet ab Juli wieder ihre geplanten Präsenztrainings an. Die Gesundheit unserer TrainerInnen und SchulungsteilnehmerInnen hat für uns weiterhin oberste Priorität, weshalb wir alle notwendigen Maßnahmen getroffen haben, um den bestmöglichen Schutz zu bieten. Darüber hinaus bleiben wir weiterhin flexibel für Sie und können je nach Entwicklung der aktuellen Lage die Präsenztrainings als Live-Online-Trainings anbieten.

Sich und andere schützen

Mund-Nasen Bedeckung

Beim Betreten und Verlassen der Schulungsräume, während des Gangs zur Toilette oder auf dem Weg in die Mittagspause ist das Tragen einer Mund-Nasen-Bedeckung erforderlich, während des Trainings nicht. Wer keine eigene Mund-Nasen-Bedeckungen dabei hat, bekommt von uns eine Einwegmaske.

Abstand halten

Unsere großen Schulungsräume ermöglichen den Mindestabstand von 1.5 Meter zu anderen Personen:

  • Alle SchulungsteilnehmerInnen sitzen an einem Einzeltisch.
  • Gruppenarbeiten dürfen nur unter Einhaltung der Hygiene- und Abstandsregeln erfolgen.

Lüften, lüften, lüften

Wir sorgen für eine ständige Durchlüftung der Schulungsräume, um die Anzahl von möglichen Krankheitserregern in der Raumluft zu minimieren.

Das richtige Verhalten

Wir informieren alle TeilnehmerInnen, TrainerInnen und MitarbeiterInnen über die Hygieneregeln:

  • Niesen oder husten Sie in die Armbeuge oder in ein Taschentuch – und entsorgen Sie das Taschentuch anschließend in einem Mülleimer.
  • Waschen Sie sich insbesondere danach gründlich für mindestens 20 Sekunden Ihre Hände mit Wasser und Seife. Wir stellen auch ausreichend Desinfektionsmittel zur Verfügung.
  • Vermeiden Sie Berührungen wie z. B. Händeschütteln oder Umarmungen.
  • Vermeiden Sie es mit Ihren Händen den Mund, die Augen oder die Nase zu berühren.

Bewirtung

Die Bewirtung während des Trainings erfolgt nur durch:

  • Verpackte Lebensmittel
  • Kaltgetränke aus kleinen Flaschen, die sich jeder einzeln nehmen kann
  • Heißgetränke aus verschlossenen Behältern

Und zu guter Letzt

Bitte bleiben Sie zu Hause, wenn Sie krank sind – wir finden gemeinsam mit Ihnen eine Lösung für das verpasste Training!

 

Bei Fragen können Sie sich jederzeit an uns wenden. Rufen Sie an unter +49 621 595702 41 oder schreiben Sie uns eine E-Mail an training@itech-progress.com

Für alle, die lieber remote bleiben möchten

Wir haben bis Ende des Jahres eine große Auswahl an iSAQB-akkreditierten Live-Online-Trainings.

ITech Progress bietet innerhalb seines iSAQB Schulungsportfolios nun ein rundes Angebot mit zehn Advanced Modulen an – Improve als neuestes Training

Seit 2008 hat sich innerhalb der IT-Zertifizierungen das International Software Architecture Qualification Board (kurz: iSAQB) zunehmend einen Namen gemacht. Der Verein auf Basis ehrenamtlicher Arbeit von Fachexperten zu Softwarearchitektur aus Industrie, Beratungs- und Trainingsunternehmen, Wissenschaft und anderen Organisationen hat es sich zum Ziel gemacht, die fachlich-inhaltliche Qualität von Lehre, Aus- und Weiterbildung für Softwarearchitektur zu fördern und sicherzustellen. Der iSAQB erstellt einheitliche Lehr- und Ausbildungspläne für Softwarearchitekten, die zur Zertifizierung als „Certified Professional for Software Architecture“ zusammengeführt sind. Für Software-Architekten mit fortgeschrittenen Kenntnissen gibt es seit 2013 den modular gestalteten Advanced-Level. Innerhalb des CPSA Advanced Level hat der iSAQB drei Kompetenzbereiche definiert, die die Ausbildung von Softwarearchitekten in drei wichtigen Kompetenzbereichen sicherstellt: Methodik, Technik und Kommunikation.

ITech Progress bietet in ihrem Schulungsportfolio Trainings an, die alle drei Kompetenzbereiche abdecken. Das neueste Modul im Portfolio des IT-Beraters und Schulungsanbieters aus Ludwigshafen am Rhein ist „Improve“ – Evolution und Verbesserung von Softwarearchitekturen. Teilnehmer lernen hier, Softwaresysteme und -architekturen anhand ökonomischer und technischer Ziele systematisch und methodisch zu verbessern. Konkrete Inhalte sind hier die systematische Trennung von Problemen und Lösungsansätzen, das Erarbeiten von kurz-/mittel- und langfristigen Lösungsstrategien sowie deren Abgleich mit betriebswirtschaftlichen Zielen und Größen. Zusätzlich zeigt der IMPROVE-Lehrplan typische Ansätze für Verbesserungen auf, beispielsweise Restrukturierungen und Refactoring, Verbesserungen der Analysierbarkeit, Prozessverbesserung, Verbesserung an technischer Infrastruktur, Verbesserung von Qualitätseigenschaften, etc.

Die erste Improve Schulung wird vom 25. bis 27. September 2017 in Ludwigshafen am Rhein angeboten.

https://www.itech-progress.com/portfolio-item/improve/

Anmeldungen werden unter training@itech-progress.com oder telefonisch unter der Nummer 0621-595-702-0 angenommen.