Kolumne: Knigge für Softwarearchitekten

Kolumne: Knigge für Softwarearchitekten


Willkommen zur zweiten Folge unserer Kolumne über Änderung, Evolution und Sanierung bestehender Software. Diesmal fahnden wir nach Softwareverbrechen, Codesünden oder risikoträchtigen Teilen der Software.

Fahndung: Suche mehr als nur Motiv und Gelegenheit

Bei klassischen Delikten haben Fahnder es meistens mit der Einzahl zu tun: ein Täter, ein einziges Verbrechen [1]. Nehmen wir als Beispiel die mutwillig zerschlagene Fensterscheibe: ein Täter, ein Tatwerkzeug, ein beschädigtes Fenster. Bei Software verursachen meistens viele Täter jeweils nur Teile des Gesamtschadens. An einer einzigen Sache werden sozusagen beliebig viele Verbrechen unterschiedlicher Arten begangen. Etwa so, als würde unser Steinewerfer auch noch falsch parken, das Haus mit Graffiti beschmieren und die Haustüre mit Sekundenkleber an ihrem Rahmen fixieren. Statt also klassisch nur nach Motiv und Gelegenheit zu suchen, müssen wir als IT-Fahnder zuerst einmal die begangenen Verbrechen untersuchen:

  • Qualitative Sünden: Wo werden welche Qualitäts­anforderungen verletzt?

  • Funktionale Sünden: Wo verhält sich ein System fehlerhaft, stellt nicht die notwendige Funktionalität bereit oder arbeitet falsch?

  • Kostensünden: Wo wird Geld verschwendet – durch überteuerten Betrieb oder aufwändige Wartung/­Erweiterung?

  • Codesünden: Wo steckt unverständlicher, schlechter Code?

  • Architektursünden: Welche Entscheidungen, Frameworks, Technologien, Schnittstellen oder Strukturen erscheinen mangelhaft?

  • Prozesssünden: Wo behindern starre oder aufgeblähte Prozesse die effektive Arbeit am System? Welche notwendigen Aufgaben werden vernachlässigt?

  • Managementsünden: Wo fehlt es an notwendiger Unterstützung?

Wir haben schon Systeme erlebt (ähm – erlitten), an denen sämtliche dieser Sünden und Vergehen in wechselnden Mengenverhältnissen begangen wurden. Übrigens haben wir auch (aber nur sehr wenige) Systeme erlebt, an denen keine relevanten Verbrechen verübt wurden.

Suchen Sie mittels zweier verschiedener Ansätze nach den begangenen Softwareverbrechen eines Systems (in IT-Speak: Probleme, Risiken und technische Schulden): Durch Vernehmung von Opfern und relevanten Zeugen, oder über Spurensicherung am echten System.

7618994-investigate_OneO2.tif_fmt1.jpg

Opfer und Zeugen vernehmen

Den Tatort, oder besser den „Gegenstand der Verbrechen“, inspizieren Sie am besten aus unterschiedlichen Perspektiven. Zuerst sollten Sie sich live ein Bild von seinem Zustand machen – am besten haben Sie vorher aus Berichten der Beteiligten den ursprünglichen Zweck des Syst...

Neugierig geworden?

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