Sie sind auf Seite 1von 3

Zuweisungsthema:

Als Softwareentwickler stoßen Sie auf alle Arten von Projekten und Situationen innerhalb dieser Projekte.
Diese Aufgabe soll Ihnen eine fiktive Situation präsentieren und Sie bitten, einen situationsgerechten
Softwareentwicklungsansatz zu empfehlen.

Hier ist die Situation:

Zenith Healthcare ist ein neues Unternehmen auf dem Markt und hat sein Produkt vor zwei Jahren auf den
Markt gebracht. Das Produkt wird von Kunden geliebt und erfreut sich wachsender Beliebtheit. Das Niveau der
Produktnachfrage wurde nicht erwartet, und die derzeitige Systemarchitektur kann die steigende Nachfrage
nicht unterstützen. Um die erwartete Nachfrage zu unterstützen, muss das Unternehmen das System neu
gestalten und genau die gleiche Funktionalität bereitstellen. Somit sind die Anforderungen aus Kundensicht
sehr gut bekannt und brauchen sich nicht zu ändern. Was im System geändert werden muss, um der
wachsenden Nachfrage gerecht zu werden, ist ebenfalls gut verstanden. Das Produkt hat 4, ziemlich
unabhängige Komponenten. Alle 4 Komponenten müssen neu architektiert werden. Von den 4 hat einer die
meisten Schmerzen verursacht und das Unternehmen könnte stark davon profitieren, wenn diese
Komponente zuerst durch eine neue, hochgradig skalierbare Architektur ersetzt werden könnte. Die Migration
auf eine neue Plattform ist eine mühsame Aufgabe, und die Bereitstellung eines neuen Systems erfordert viel
externe Kommunikation, die Verwaltung der Kundenerwartungen usw.

Der technische Architekt und ein Projektmanager werden von der Unternehmenszentrale in Deutschland aus
arbeiten, aber der größte Teil des Teams, das die Programmierung für die Migration übernehmen wird, wird in
Belarus Offshore sein. Das Testteam wird auch in Weißrussland sein.

Welche Softwareentwicklungsmethodik würden Sie für diese Situation vorschlagen und warum?

 Schritt 1: Beginnen Sie mit der Analyse des Szenarios, indem Sie die Merkmale dieser Situation
identifizieren und die Logik hinter der Auswahl der Merkmale angeben. Beispielsweise können Sie "User
Needs Unknown" als Merkmal basierend auf den Aussagen X, Y und Z im Szenario identifizieren.

 Schritt 2: Wählen Sie ein Modell aus, das am besten zu den in Schritt 1 identifizierten Merkmalen
passt. Begründen Sie Ihre Wahl mit der Logik hinter Ihrer Auswahl. Sie können beispielsweise sagen, dass
die Modelle A und B potenzielle Kandidaten sind, da das Szenario die Merkmale X und Y aufweist. Da das
Szenario außerdem das Merkmal Z aufweist, ist Modell A die beste Option.

Stellen Sie sich vor, Sie wären der Lead oder Projektmanager für dieses Projekt. Führen Sie uns für das
ausgewählte Modell durch eine simulierte / fiktive Reise, wie dieses Projekt von der Definition der
Anforderungen bis zum Einsatz abgeschlossen wird. Es steht dir frei, die Charaktere so zu gestalten, wie du es
für angemessen hältst, damit sie zu deiner Geschichte passen. Bitte schauen Sie sich das Video zu" Model
Selection" an, um sich ein Bild zu machen. Das Video bleibt auf hohem Niveau, aber Sie können bei Bedarf auf
weitere Details eingehen. Bitte stellen Sie in Ihrer Geschichte sicher, dass Sie über Artefakte und Praktiken
sprechen, die vom Team dieses Projekts befolgt werden.

Gehen Sie davon aus, dass Sie der Qualitätsleiter oder technische Leiter dieses Projekts sind. Welche Art von
Tests würden Sie dem Team vorschlagen? Stellen Sie sicher, dass Sie Ihre Antwort begründen. Um diese Frage
zu beantworten, listen Sie zunächst die wichtigsten Dinge aus dem obigen Anwendungsfall auf, die wirklich
wichtig sind. Zum Beispiel Skalierbarkeit, Performance, Usability, Integration zwischen Komponenten etc.
Identifizieren Sie danach, welche Art von Tests das Team durchführen soll, um sicherzustellen, dass das
aktualisierte Produkt von hoher Qualität ist und fehlerfrei bereitgestellt wird. Bitte beachten Sie den Abschnitt
„Testen und Verifizieren“ in Modul 2. Sehen Sie sich auch die folgenden Videos an, um mehr über
verschiedene Arten von Testmethoden zu
erfahren: https://www.coursera.org/learn/software-processes/lecture/G30EZ/software-testing-perspectives

Fortsetzung Ihrer Rolle als Qualitätsleiter oder technischer Leiter für das Projekt. Schreiben Sie ein paar
Beispiele für Testfälle oder eine beschreibende Beschreibung dessen, was Sie vom Testteam beim Testen
dieses Produkts erwarten. Bitte beachten Sie den Abschnitt „Testen und Verifizieren“ in Modul 2. Fühlen Sie
sich frei, Annahmen über die Funktionalität des Systems zu treffen, um ein Szenario zu entwickeln.

Meine Aufgabenansicht

Zu Beginn, da die Anforderungen des Kunden teilweise von Anfang an bekannt sind, können wir die V-Modell-
Methodik verwenden, da das, was erforderlich ist, von Anfang an definiert ist, aber beim Testen wissen wir,
dass es ein "mühsames" Element hat, um Fehler und Korrekturen frühzeitig implementieren zu können, was
das Testen beschleunigen würde. Wenn man die vollständigen Anforderungen des Kunden versteht, besteht
der Hauptpunkt darin, dass die aktuelle Systemarchitektur den Plan des Unternehmens zur Skalierung und
Steigerung der Nachfrage nicht unterstützt, aber sie wissen, dass sie die gleiche Funktionalität wünschen, aber
vielleicht nicht in vollem Umfang wissen, dass sie möchten, dass die zukünftige Architektur nur so aussieht,
dass sie "hoch skalierbar" sein muss.

Es gibt 4 Komponenten, aus denen die Architektur besteht, und es gibt einen bekannten Schwachpunkt, und
dies sollte der erste Teil der Lösung sein, an dem gearbeitet wird.

Die Verwendung der Scum- und Kanban-Frameworks wäre mein Ansatz, da die Prinzipien und Eigenschaften im
Voraus festgelegt werden können. Der Backlog kann vom Teamleiter priorisiert werden und mit den QAs und
Entwicklern zusammenarbeiten, um die Anforderungen zu entwickeln und das Design so zu gestalten, dass es
der Hochschule vor der Implementierung und Überprüfung vorgelegt wird. Flexibilität ist der Schlüssel, daher
sollten Konzepte aus der SCRUM-METHODIK übernommen werden. Die Verwendung von täglichen SCRUM-
MEETINGS wird sich darauf konzentrieren, was bisher getan wurde und was täglich getan wird, aber vielleicht
ohne die Notwendigkeit, dies nach einem 1-4-Zeitplan zu tun, würde dies auch dazu beitragen, mit den Teams
in Deutschland und Weißrussland zusammenzuarbeiten, um zu verstehen, woran sie heute arbeiten und was
sie am Vortag erreicht haben.

Ich würde das inkrementelle Modell verwenden, damit die Komponenten in Teilen gebaut werden können und
es ein kontinuierliches Feedback gibt. Da es nur 4 Komponenten gibt, können sich diese überlappen und an
jede von ihnen angepasst werden. Auf diese Weise kann die "Schmerz" -Komponente frühzeitig abgegeben
werden und durch dieses Inkrement Feedback erhalten, um die anderen 3 Komponenten zu verbessern. Das
Unternehmen könnte dann zuerst davon profitieren, dass diese Komponente zuerst geliefert wird und
zukünftige inkrementelle Komponenten definiert werden

Die Softwarekopplung muss eng sein, um sicherzustellen, dass die Verbindung zwischen den Komponenten
stabil bleibt und der Zusammenhalt auch erhalten bleibt, wenn eine Vererbung von der bestehenden
Architektur erfolgt

Der Projektleiter sollte sich mit dem technischen Architekten in Bezug auf das Gebäude abstimmen, da der
Großteil der Tests in Belarus durchgeführt wird. Das Testen und Verifizieren sollte parallel zum bestehenden
System durchgeführt werden, obwohl es vom Kunden nicht bevorzugt wird, kann das Testteam sicherstellen,
dass Fehler und Probleme gefunden werden, während die neue Architektur zuvor getestet wird. Verwendung
eines ereignisbasierten Modells, um die verschiedenen Komponenten in 1 zentralen Punkt einzuspeisen, der
vom Projektmanager verwaltet werden kann.

Die Implementierung und Bereitstellung sollte für jede Komponente erfolgen, wenn sie bereit ist. Wenn beide
Architekturen parallel ausgeführt werden, sollte dies die Notwendigkeit eines Rollbacks vermeiden, so dass ein
Minimum, das das alte/ursprüngliche in Hot-Failover hält, sobald die neuen Komponenten zur Freigabe bereit
sind, einen Ausfall für den Client verhindert.
Aufgrund der Anforderungen und Wünsche des Kunden, agil und schlank zu sein, ist der Schlüssel bei der
Lieferung, die kurzen Entwicklungszyklen zu halten, wird dazu beitragen, das richtige Produkt zu entwickeln,
damit der Kunde schnell skalieren und auf den Markt bringen kann. Herausforderungen von 2 ausgelagerten
Teams können durch die Zusammenarbeit und die Verwendung der Scrum-Prinzipien negiert werden, um
sicherzustellen, dass alle auf dem richtigen Weg sind und um Bereiche zu identifizieren, die möglicherweise
hinterherhinken, und um dem Testteam Zeit zu geben, das zu erledigen, was es für eine mühsame Aufgabe
benötigt.

Das könnte Ihnen auch gefallen