Drei Personen in einer Diskussion mit Flussdiagramm auf Whiteboard und Laptop
Zurück zum Blog
SoftwareentwicklungIndividualsoftwareSoftware Development Lifecycle

„In welcher Branche seid ihr Experten?“ – In keiner, und genau das ist unsere Stärke!

Sven HennessenEinblicke

TL;DR

  • Nicht Branchenexpertise, sondern eine strukturierte Anforderungsanalyse und die richtigen Fragen machen gute Software.
  • Der Schlüssel ist, den Kernprozess von Edge-Cases zu trennen: Wie oft tritt ein Fall wirklich auf, welche Sub-Prozesse lassen sich entkoppeln, welche Daten und Oberflächen braucht es wirklich?
  • Qualitätsanforderungen wie Performance, Sicherheit und Verlässlichkeit gehören von Anfang an in die Analyse, sonst drohen Mehrkosten und Risiken.

Wir glauben, dass gute Software nicht durch Branchenspezialisierung, sondern durch eine strukturierte Herangehensweise und die richtigen Fragen entsteht. Mit unserer unbefangenen Sicht auf Kernprozesse und konsequentem Fokus auf Qualität entwickeln wir individuelle Lösungen, egal ob mit oder ohne KI.

Wir werden immer wieder gefragt, in welcher Branche wir Experten sind. Meine Antwort lautet dann stets: „In keiner.“ Dies führt gelegentlich zu Skepsis. Unsere Überzeugung ist jedoch, dass es gut und richtig ist, uns branchenübergreifend IT-Projekten anzunehmen. Warum?

Software Development Lifecycle

In Zeiten zunehmender Digitalisierung (ja, ich hole so weit aus) ist die Situation im Unternehmen oft die gleiche: Es existiert ein aktuell gelebter Prozess im Unternehmen, ohne den das Tagesgeschäft nicht läuft. Manchmal läuft dieser Prozess manuell oder nutzt die Papierform zur Datenübertragung, manchmal gibt es eine (Teil-)Softwarelösung, bei der jedoch Verbesserungspotenzial gesehen oder Features vermisst werden. Das Vorgehen im Projekt, um diese Lösung zu überarbeiten oder abzulösen, ist nahezu immer gleich:

  1. Analyse der Kernanforderungen des Prozesses (mit dem Fachbereich bzw. den Endnutzern)
  2. Analyse der Benutzergruppen (mit dem Fachbereich bzw. den Endnutzern)
  3. Planung des initialen Scopes (MVP)
  4. Iterative Umsetzung
  5. Validierung & Test

Der Software Development Lifecycle (SDLC) ist nichts Neues und seit Jahren gelebte Realität in Softwareprojekten. Wir machen uns also zuerst Gedanken um die Anforderungen und kümmern uns später (hoffentlich iterativ) um die Umsetzung der Lösung.

Fachwissen und Spezialisierung

Wie gesagt halten wir es für richtig, dass wir selbst keine Experten in den Fachbereichen unserer Kunden sind. Diese Unbefangenheit hilft bei der Analyse der Anforderungen. Während der Analyse geben Fachbereichsverantwortliche und Benutzer in der Regel das wieder, was sie kennen und wie sie heute arbeiten. Ziel der Analyse ist jedoch, wie oben beschrieben, die Untersuchung des Kernprozesses. Was heißt das konkret?

  • Unterscheidung des Kernprozesses von Edge-Cases: Wie häufig tritt ein bestimmter Fall wirklich auf?
  • Ableitung des Kernprozesses in Sub-Prozesse: Welche Teilprozesse sollten entkoppelt betrachtet und möglicherweise sogar wiederverwendet werden? (Hat hier jemand Domain-Driven Design erwähnt?)
  • Unterscheidung von Benutzergruppen und gelebter Realität: Was unterscheidet den „Autoverkäufer“ vom „Spezialverkäufer für SUVs“ hinsichtlich der Arbeitsschritte?
  • Identifikation der Datenquellen: Welche Daten sind für den Kernprozess notwendig?
  • Identifikation der geeigneten Benutzeroberfläche: Desktop, Mobile, Chat-Agent?

Qualitätsanforderungen

Damit ist klar, wie wir zu fachlichen Anforderungen kommen und diese gemeinsam umsetzen können. Doch dadurch allein entsteht noch keine gute Software. Die ISO/IEC 25010 behandelt das Qualitätsmodell von Softwareprodukten. Die korrekte Umsetzung fachlicher Funktionen ist dabei nur ein Teilbereich. Wir sehen es als unsere Aufgabe, im Rahmen der Anforderungsanalyse die richtigen Fragen zu stellen, um weitere Bereiche des Modells wie Effizienz (Performance), Sicherheit (Security) und Verlässlichkeit abzudecken, um nur einige Beispiele zu nennen.

In der Softwareentwicklung spricht man hierbei von Qualitätsanforderungen. Ihre frühzeitige Berücksichtigung macht ein Softwareprojekt erfolgreich und langlebig. Eine Nichtbeachtung führt hingegen zu Mehrkosten und Risiken.

KI

Was davon ändert sich nun mit modernen Technologien im Zeitalter von generativer KI, Large-Language-Models und Agenten, die Teile unserer Geschäftsprozesse übernehmen sollen?

Gar nichts!

Applikationen mit KI-Integration sind in erster Linie eines: verteilte Anwendungen mit mehreren Komponenten, die separat aufgesetzt und betrieben werden müssen und über Schnittstellen miteinander kommunizieren. Diesen Umstand kennen wir bereits seit der Welle an Microservice- und Serverless-Architekturen. Aber: Heute ist die Welt deutlich weiter, was den Betrieb und das Monitoring solcher Lösungen angeht. Zudem existieren genügend Lessons-Learned zu Applikationen dieser Art, die uns helfen, im Rahmen der Anforderungsanalyse (ja, hier schließt sich der Kreis) die richtigen Fragen zu stellen.

Also sind alle Projekte gleich?

Nein. Inhaltlich ist jedes Projekt anders als das vorherige und das nachfolgende. Der Fachbereich und die Endnutzer bringen ihre Fachkompetenz in das Projekt ein. Unsere Expertise liegt darin, die Anforderungen zu verstehen, abzuleiten und gemeinsam mit unseren Projektpartnern zu priorisieren. Unser technischer Fokus auf bewährte sowie topmoderne Tools wie Microsoft .NET, React und TypeScript ermöglicht eine schnelle Umsetzung und gibt unseren Projektpartnern rasch die Möglichkeit zur Validierung.

Brauchst du Unterstützung?

Du willst ein Softwareprojekt angehen und fragst dich, ob dein Dienstleister deine Branche kennen muss? Wichtiger ist, dass er die richtigen Fragen stellt. Bei uns beginnt jedes Projekt mit einer strukturierten Anforderungsanalyse, in der wir auch die Qualitätsanforderungen festhalten. Danach entwickeln wir in kurzen Sprints, damit du regelmäßig siehst, was entsteht.

Softwareprojekt mit vensas