V-Modell und agile Softwareentwicklungsmethodik - Erleben Sie

Vergleich des V-Modells und der agilen Softwareentwicklungsmethodik

Unsere Erfahrung in der SW-Entwicklungsmethodik

Bei der Softwareentwicklung haben wir Erfahrung mit verschiedenen Entwicklungsverfahren. In den letzten Jahren haben wir uns hauptsächlich auf zwei verschiedene Softwareentwicklungsprozesse konzentriert: einen auf dem V-Modell basierenden und einen auf Agile basierenden Prozess; für Agile haben wir sowohl mit Scrum- als auch mit Kanban-Modellen gearbeitet.

Software-Entwicklung auf Basis des V-Modells

Prozesse, die auf dem V-Modell basieren, werden sehr häufig von größeren Unternehmen benötigt, die streng vorhersehbare und nachvollziehbare Pläne benötigen, die in klar definierte Arbeitsschritte unterteilt sind.

Prozesse auf der Grundlage des V-Modells:

Definition von Anforderungen

Unser Team von Embedded-Software-Ingenieuren sammelt die Anforderungen des Kunden, überprüft sie und klärt mögliche Spezifikationslücken.

Systementwurf

Beim Systementwurf entwickeln wir Ideen und überlegen, wie die Funktionalität auf Hardware- und Softwareressourcen verteilt werden soll. Folglich definieren wir Schnittstellen und Datenbeziehungen im Voraus.

Architektur Design

In dieser Phase analysieren und bewerten wir verschiedene Ansätze auf hohem Niveau, die zu der einfachsten und schnellsten Entwicklung und den geringsten Kosten führen. Wir teilen das Systemdesign in einzelne Module auf, die sich in ihrer Funktionalität unterscheiden.

Modul-Design

Ein Modul- oder Einheitsentwurf ist eine detaillierte interne Entwurfsdefinition auf einer niedrigen Ebene, die sich auf die Kompatibilität zwischen den Modulen konzentriert.

Codierung

Je nach Vereinbarung mit dem Kunden folgen wir entweder den Best-Practice-Richtlinien oder den Standardrichtlinien des Kunden. Code-Reviews und Code-Optimierung sind ebenfalls ein unvermeidlicher Teil dieser Phase.

Einheitliche Prüfung

In diesem Prozess werden Modul- oder Unit-Test-Skripte implementiert und durchgeführt. Sie erkennen den größten Teil der Fehler in einem frühen Stadium.

Integrationsprüfung

Beim Integrationstest werden die Koexistenz und die gegenseitige Kommunikation der Module geprüft.

Systemprüfung

Bei der Systemprüfung wird die Funktionalität des gesamten Systems und die Kommunikation zwischen dem System und externen Systemen überprüft. Auch die Kompatibilität von Hardware und Software wird in dieser Phase geprüft.

Abnahmetests

Das gesamte Softwareprodukt wird anhand der geschäftlichen Anforderungen in der präfinalen Benutzerumgebung getestet. Hier werden schließlich sowohl die Benutzerfreundlichkeit als auch die Systemleistung getestet.

No items found.
Das könnte Sie interessieren

Software-Entwicklung auf Basis von Agile

Agile Softwareentwicklung ist ein evolutionsbasierter Ansatz, der sich in viele vertikale Integrationskampagnen aufteilt. Er unterstützt die kontinuierliche Verbesserung durch selbstorganisierende Teams, die eng mit dem Team des Kunden oder den Endbenutzern zusammenarbeiten.

Wir verwenden weitgehend eines der beiden Softwareentwicklungs-Frameworks:

  • Scrum - ein Rahmenwerk, das auf kurzen Sprints basiert (jeder wird in der Regel in zwei Wochen durchgeführt) oder
  • Kanban - ein Rahmenwerk mit kontinuierlichem Arbeitsablauf. Im ersten Schritt wird das Backlog mit den Epen/Stories/Problemen/Aufgaben gefüllt, und alle Elemente werden geschätzt.

Typische Scrum-Ereignisse in unserem Team sind:

Sprint

Ein Zeitfenster von in der Regel zwei Wochen, in dem das Entwicklerteam ein brauchbares oder freizugebendes Produkt (oder dessen unterscheidbaren Teil) fertigstellt.

Sprint-Plan

Eine Aktivität, die vom gesamten Team durchgeführt wird und einen machbaren Teil der Arbeit für den Sprint abdeckt.

Tägliches Scrum

Ein tägliches Stand-up-Meeting, um dem Team die Möglichkeit zu geben, den Stand der Dinge zu besprechen, wenn jemand nicht weiterkommt, und welche Probleme das Team gefunden hat.

Sprint Rückblick

Ein Treffen am Ende des Sprints, bei dem die Teammitglieder ihre jüngsten Erfahrungen mit dem Projekt austauschen, die noch nicht abgeschlossene Arbeit überprüfen und mit den Stakeholdern sprechen.

Rückblick auf den Sprint

Eine Gelegenheit zur Selbstverbesserung des Teams.

No items found.
Das könnte Sie interessieren

Interessante externe Ressourcen

Andere interessante Themen