© Liashko/Shutterstock.com
Entwickler Magazin
Agiles Anforderungsmanagement mit Impact Mapping

Software that matters

In den letzten Jahren ist viel Energie in die Aufgabe investiert worden, die Effizienz von Softwareentwicklungsteams zu steigern. Bessere Werkzeuge und Praktiken lagen im Fokus unserer Bemühungen. Die Herausforderung ist nun, unser Wissen und Können so einzusetzen, dass nachhaltig erfolgreiche Software - „Software that matters“ - entstehen kann: Auf Effizienz muss Effektivität folgen.

Nils Wloka


Softwareentwicklung ist eine in vieler Hinsicht ungewöhnliche Disziplin. Um zu verstehen, warum neue Methoden des Anforderungsmanagements – oder gar ein neuer Anforderungsbegriff – nötig sind, sollten wir zunächst den Blick auf einige Besonderheiten unseres Handwerks richten.

Software und Komplexität

Wikipedia beschreibt Ingenieure als Menschen, die sich damit beschäftigen, „naturwissenschaftliche Erkenntnisse zum praktischen Nutzen der Menschheit [anzuwenden]“ [1]. In seinem Fachgebiet löst der Ingenieur neue Probleme, indem er auf Forschungsergebnisse, aber auch auf übermitteltes Wissen, bewährte Methoden und vorhandene Lösungskomponenten zurückgreift. In dem Objekt seiner Tätigkeit ist er in der Regel durch die Grenzen seines Fachgebiets, in der Wahl seiner Lösungsstrategien durch Naturgesetze eingeschränkt.

Betrachten wir die Disziplin der Softwareentwicklung, fallen mehrere Unterschiede auf. Ein Blick auf die unterschiedlichen Anforderungen, die an Softwareentwickler herangetragen werden, macht das deutlich:

Mache alles Wissen der Welt frei verfügbarVersetze einen PKW in die Lage, selbstständig einzuparkenVertreibe meine LangeweileHilf mir bei der Genehmigung von Urlaubsanträgen

Eine fachlich-inhaltliche Spezialisierung findet häufig nicht statt und ist in Anbetracht des ständig wachsenden Problemraums möglicherweise auch nicht realisierbar. In der Praxis bedeutet das, regelmäßig mit unbekannten Problemdomänen konfrontiert zu werden. Auf der anderen Seite unterliegt Software nahezu keinen Naturgesetzen. Konstante Rahmenbedingungen und Einschränkungen, die uns bei der Suche nach einer Lösung als Leitplanken dienen könnten, gibt es nicht.

Diese Kombination aus unbekanntem Problem und beliebiger Lösung führt dazu, dass wir als Softwareentwickler häufig mit Komplexität konfrontiert werden: Wirkungszusammenhänge sind nicht a priori identifizierbar, reproduzierbare Lösungswege oder gar Mus­terlösungen nicht verfügbar.

In Anbetracht dieser Konstellation haben sich in den vergangenen Jahren Verhaltensstrategien entwickelt, die heute gerne unter dem Schlagwort „agile Softwareentwicklung“ zusammengefasst werden.

Agilität als Handlungsstrategie für die komplexe Domäne

Agile Softwareentwicklung ist ein zunehmend mit Bedeutung überfrachteter Begriff. Ausgehend von dem Manifest für agile Softwareentwicklung setzt wohl jeder Praktizierende seine eigenen Schwerpunkte. Im Kontext dieses Artikels und der Auseinandersetzung mit Verfahren für Anforderunganalyse und Anforderung...

Entwickler Magazin
Agiles Anforderungsmanagement mit Impact Mapping

Software that matters

In den letzten Jahren ist viel Energie in die Aufgabe investiert worden, die Effizienz von Softwareentwicklungsteams zu steigern. Bessere Werkzeuge und Praktiken lagen im Fokus unserer Bemühungen. Die Herausforderung ist nun, unser Wissen und Können so einzusetzen, dass nachhaltig erfolgreiche Software - „Software that matters“ - entstehen kann: Auf Effizienz muss Effektivität folgen.

Nils Wloka


Softwareentwicklung ist eine in vieler Hinsicht ungewöhnliche Disziplin. Um zu verstehen, warum neue Methoden des Anforderungsmanagements – oder gar ein neuer Anforderungsbegriff – nötig sind, sollten wir zunächst den Blick auf einige Besonderheiten unseres Handwerks richten.

Software und Komplexität

Wikipedia beschreibt Ingenieure als Menschen, die sich damit beschäftigen, „naturwissenschaftliche Erkenntnisse zum praktischen Nutzen der Menschheit [anzuwenden]“ [1]. In seinem Fachgebiet löst der Ingenieur neue Probleme, indem er auf Forschungsergebnisse, aber auch auf übermitteltes Wissen, bewährte Methoden und vorhandene Lösungskomponenten zurückgreift. In dem Objekt seiner Tätigkeit ist er in der Regel durch die Grenzen seines Fachgebiets, in der Wahl seiner Lösungsstrategien durch Naturgesetze eingeschränkt.

Betrachten wir die Disziplin der Softwareentwicklung, fallen mehrere Unterschiede auf. Ein Blick auf die unterschiedlichen Anforderungen, die an Softwareentwickler herangetragen werden, macht das deutlich:

Mache alles Wissen der Welt frei verfügbarVersetze einen PKW in die Lage, selbstständig einzuparkenVertreibe meine LangeweileHilf mir bei der Genehmigung von Urlaubsanträgen

Eine fachlich-inhaltliche Spezialisierung findet häufig nicht statt und ist in Anbetracht des ständig wachsenden Problemraums möglicherweise auch nicht realisierbar. In der Praxis bedeutet das, regelmäßig mit unbekannten Problemdomänen konfrontiert zu werden. Auf der anderen Seite unterliegt Software nahezu keinen Naturgesetzen. Konstante Rahmenbedingungen und Einschränkungen, die uns bei der Suche nach einer Lösung als Leitplanken dienen könnten, gibt es nicht.

Diese Kombination aus unbekanntem Problem und beliebiger Lösung führt dazu, dass wir als Softwareentwickler häufig mit Komplexität konfrontiert werden: Wirkungszusammenhänge sind nicht a priori identifizierbar, reproduzierbare Lösungswege oder gar Mus­terlösungen nicht verfügbar.

In Anbetracht dieser Konstellation haben sich in den vergangenen Jahren Verhaltensstrategien entwickelt, die heute gerne unter dem Schlagwort „agile Softwareentwicklung“ zusammengefasst werden.

Agilität als Handlungsstrategie für die komplexe Domäne

Agile Softwareentwicklung ist ein zunehmend mit Bedeutung überfrachteter Begriff. Ausgehend von dem Manifest für agile Softwareentwicklung setzt wohl jeder Praktizierende seine eigenen Schwerpunkte. Im Kontext dieses Artikels und der Auseinandersetzung mit Verfahren für Anforderunganalyse und Anforderung...

Neugierig geworden?


   
Loading...

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