Wie von Zauberhand? So entsteht Ihre Software

Softwareentwicklung ist keine Zauberei. Auch wenn es manchmal so scheint.
Was Kunden wollen, ist nicht immer das, was Kunden brauchen
Uns kommt es darauf an, das ganze Geschäftsszenario zu überblicken und die bestmögliche Lösung zu liefern. Durch diese Herangehensweise erreichen wir im Ergebnis oft viel mehr als nur eine geeignete Softwarelösung, nämlich optimierte Geschäftsprozesse.
Umfassende Recherche
Umfassende Recherche

Wir wollen für Ihr Unternehmen die bestmögliche Softwarelösung entwickeln. Dazu müssen wir Ihre Anforderungen, Prioritäten und geschäftlichen Ziele sehr gut kennen. Eine schlechte Planung, unrealistische Erwartungen oder eine zu geringe Beteiligung der Stakeholder führen oft zum Scheitern von IT-Projekten. Daher beginnt der Entwicklungsprozess bei uns mit einer umfassenden Besprechung des Projektumfangs und der zentralen Anforderungen. Im nächsten Schritt erstellen wir ein konzeptionelles Modell für eine Softwarelösung. Wir möchten so sicherstellen, dass unsere gemeinsamen Überlegungen wirklich Ihren Hauptanforderungen entsprechen.

Architektur und Agilität
Architektur und Agilität

Sobald der Umfang des Softwareentwicklungsprojekts festgelegt wurde, beginnt die Design- und Entwicklungsphase. Der erste wichtige Punkt ist die Wahl der richtigen Softwarearchitektur für das Projekt. Die Architektur legt fest, wie leicht die Software in Zukunft weiterentwickelt werden kann. Wir verwenden agile Entwicklungsmethoden, die auf kleinen Iterationen und regelmäßigen Softwarebereitstellungen basieren. So können Sie als Kunde kontinuierlich den Fortschritt überprüfen. Agile Methoden der Softwareentwicklung sind dreimal so erfolgreich wie traditionellere Methoden (wie zum Beispiel das Wasserfallmodell), wenn es darum geht, Projekte pünktlich und im Rahmen des Budgets abzuschließen.

Sie bestimmen, wo es langgeht
Sie bestimmen, wo es langgeht

Die agile Entwicklung ist ein flexibler Prozess, bei dem gute Kommunikation und Zusammenarbeit im Mittelpunkt stehen und Sie als Kunde das Heft in der Hand haben. Die vierzehntägigen Phasen des Entwickelns, Lernens und Anpassens machen es möglich, Ihre Prioritäten zu ändern und neue Ideen, die während des Prozesses auftauchen, optimal zu nutzen und gleich einzuarbeiten. So können Sie den Fortschritt kontinuierlich verfolgen und eventuelle Anpassungen im Handumdrehen vornehmen lassen, anstatt monatelang auf eine „fertige“ Software zu warten. Wir glauben, dass richtig gute Software sich ständig ändern und anpassen sollte, um Ihren im Wandel befindlichen Geschäftsanforderungen zu entsprechen. Daher sind wir auch nach der Lieferung des Produkts für Sie da und kümmern uns um Support und Wartung. Auch wenn Ihr Unternehmen wächst und sich weiterentwickelt, begleiten wir Sie auf diesem Weg und unterstützen Sie mit Optimierungen und Upgrades, um Ihre Software immer weiter zu verbessern.

Der Softwareentwicklungsprozess im Detail

Einleitung

Der Übersichtlichkeit halber beschreiben wir den Prozess an dieser Stelle als eine Reihe aufeinanderfolgender Schritte, auch wenn die agile Methodik vorsieht, dass diese Schritte im Entwicklungsprozess in mehreren Iterationen wiederholt werden und die Reihenfolge bei Bedarf geändert werden kann.

Letzteres kann sowohl das gesamte Projekt als auch einzelne Module oder Funktionen betreffen.

Üblicherweise – aber nicht notwendigerweise – erfolgen die Schritte in der nachfolgend aufgeführten Reihenfolge. Diese wird vom technischen Projektmanager, Softwarearchitekten oder Teamleiter festgelegt, der für die Ausarbeitung, Überwachung und effiziente Umsetzung der Projektentwicklungsphasen und der entsprechenden Geschäftsanforderungen verantwortlich ist.

1. Planung

In dieser Phase werden die geschäftlichen Voraussetzungen analysiert.

Durch Meetings mit Vorgesetzten, Partnern und Kunden werden beispielsweise die folgenden Voraussetzungen besprochen und festgelegt:

  • Wer wird die Softwareanwendung nutzen?
  • Auf welche Weise soll die Softwareanwendung genutzt werden?
  • Welche Informationen wird die Software verarbeiten?

All diese generellen Fragen werden in dieser Phase beantwortet.

Anschließend werden die Anforderungen in einem Dokument festgehalten, das in der nächsten Phase als Richtschnur dient. Üblicherweise umfasst es die folgenden Elemente:

  • Funktionale Anforderungen
  • Unternehmensbedingte Anforderungen
  • Kundenanforderungen
  • Nutzeranforderungen
  • Unternehmensdesigndokument(e)
  • Geschäftsbedingungen und weitere Absprachen

2. Anforderungsanalyse

Die Anforderungsanalyse wird von den leitenden Mitgliedern des Softwareentwicklungsteams (Systemarchitekten und Analysten) gemeinsam mit Marketing- und Branchenexperten durchgeführt. In diesem kritischen Projektabschnitt müssen die Leiter des Entwicklungsteams die Grundzüge der zu entwickelnden Software, die Einzelheiten des Geschäftsszenarios und die potentielle Positionierung der Software gegenüber Konkurrenzprodukten (sofern vorhanden) überblicken.

An diesem Punkt werden auch mögliche Risiken bei der Entwicklung identifiziert und eine Baseline für die Qualitätssicherungsmethoden festgelegt.

Am Ende der Analysephase werden die technischen Lösungen festgelegt, die mit minimalem Risiko zum Erfolg des Projekts führen.

3. Design

Nach der Anforderungsanalyse notiert der Projektleiter die getroffenen Entscheidungen und entwirft das sogenannte Software Requirement Specification-Dokument (SRS). Das SRS dient den Softwarearchitekten als Leitfaden, um für die angedachte Software die höchste Qualität zu sichern.

Der Softwarearchitekt bzw. die Softwarearchitekten erarbeiten die System Design Specification (SDS), ein Dokument, das auch als Design Document Specification (DDS) bezeichnet wird. Idealerweise wird die SDS von allen wichtigen Stakeholdern des Projekts aus verschiedenen Perspektiven überprüft, beispielsweise mit Blick auf Risikobewertung, Robustheit des Produkts, Modularität des Designs, Budget und Zeitvorgaben. Anschließend wird das beste Designmodell für das Produkt besprochen und ausgewählt.

Mit dem Softwaredesign werden die architektonischen Module des Produkts sowie Datenfluss- und Kommunikationsdiagramme innerhalb des Produkts klar dargelegt, genau wie mögliche relevante Drittanbieterintegrationen.

4. Implementierung

In dieser Phase wird auf Basis der vorigen Schritte die Software entwickelt. Als Erstes werden grundlegende Funktionen implementiert. Die Analysten gehen immer wieder zu den Anforderungs- und Design-Phasen zurück, um den Ist-Stand mit weiteren Anforderungen und Analysen abzugleichen und anhand dieser in den folgenden Iterationen weniger wichtige Funktionen und allgemeine Verbesserungen zu implementieren.

Wie komplex diese Phase ist, hängt stark vom Ergebnis der beiden vorangegangenen Phasen ab. Je besser SRS und SDS sind, desto einfacher ist es für die Softwareentwickler, die erforderlichen Module zu entwickeln. Es ist kein Geheimnis, dass die Qualität der fertigen Software leiden kann, wenn für die Entwicklung der ersten Prototypen und Softwareversionen nicht genügend Zeit zur Verfügung steht, weil diese innerhalb eines kurzen Zeitraums benötigt werden. Gleichzeitig hängt die Qualität auch stark von den analytischen Fähigkeiten aller am Entwicklungsprozess Beteiligten ab, genau wie davon, ob SRS und SDS gut vorbereitet wurden.

Je mehr Erfahrung und Know-how die Analysten, Architekten und Entwickler haben, desto weniger Zeit und Dokumentation werden in der Designphase benötigt.

5. Tests und Integration

Die Bezeichnung „Testphase“ ist beinahe etwas irreführend, denn in der Testphase gefundene Fehler in der Software führen immer wieder in die Entwicklungsphase und dann zyklusweise in die Testphase zurück, bis die Software die erforderliche Qualität erreicht hat. In der Regel besteht die Testphase aus zwei Teilen:

  • Automatisierte Modul- und Funktionstests
  • Abnahmeprüfungen durch Softwaretester

6. Instandhaltung

In dieser Phase wird die Software als Alpha- oder Beta-Version oder als stabile Version veröffentlicht und erstes Feedback wird erhalten. Die Analyse dieses Feedbacks kann zu zweiten, dritten oder vierten Iterationen des Softwareentwicklungszyklus führen. Dies hat zur Folge, dass der Prozess erneut mit den Phasen 1 bis 5 durchgeführt wird, wobei alle in der veröffentlichten Software gefundenen Probleme ausgemerzt werden.

Der gesamte Softwareentwicklungsprozess kann auch über mehrere Iterationen geplant werden, besonders beim Einsatz agiler Methoden, die hauptsächlich darauf abzielen, so früh wie möglich ein funktionierendes Produkt zu veröffentlichen und zusätzliche Funktionen später zu implementieren.

Sprechen Sie uns an!
Vorname
Nachname
Telefon
Die eingegebene Telefonnummer ist ungültig.
Botschaft*
Dieses Feld ist erforderlich.
preloader