BA & QA Zusammenarbeitsansätze
Software Development Hub arbeitet nach dem Prinzip "die besten Softwareentwicklungsergebnisse kommen von leistungsstarken Teams".
Einführung
Um das beste Ergebnis für die entwickelte Software zu erzielen, spielen vor allem die vom Business Analyst (BA) gelieferten Spezifikationen und Anforderungen eine wichtige Rolle.
Die andere wichtige Rolle in der Softwareentwicklung ist die eines Qualitätssicherungsingenieurs (QA), der die meiste Zeit mit "endgültigen" Ergebnissen arbeitet. Das Hauptziel von QAs ist die Verbesserung von Softwareentwicklungsprozessen durch die Vermeidung von Fehlern, Defekten und Bugs. Anders ausgedrückt: Sie stellen sicher, dass das Softwareteam das Richtige auf die richtige Weise tut. Mit anderen Worten, sie stellen sicher, dass das Softwareteam genau das Richtige auf die richtige Art und Weise tut.
In der Tat haben beide das gleiche Ziel - sicherzustellen, dass die entwickelte Software die Geschäftsanforderungen der Kunden erfüllt.
Zuständigkeiten der Rollen im Lebenszyklus der Softwareentwicklung
Der Lebenszyklus der Softwareentwicklung besteht in den meisten Fällen aus 6 Phasen, die im Folgenden dargestellt werden.
Um alle Phasen kurz zu beschreiben, werden in der Analyse Phase alle notwendigen und verfügbaren Informationen vom Kunden beschafft, um das Produkt entsprechend den Bedürfnissen und Erwartungen des Kunden zu entwickeln, und die Analyse der erhaltenen Informationen wird durchgeführt. Das Ergebnis der Analysephase ist die Software Requirements Specification (SRS).
In der Design Phase wird die Softwarearchitektur entwickelt, mit der die Entwicklung des Systems umgesetzt wird.
Die Entwicklungsphase umfasst die Implementierung und Codierung aller Komponenten der zu entwickelnden Software.
In der Testing Phase wird die entwickelte Software gründlich getestet. Gefundene Fehler werden an die Entwickler zur Beseitigung weitergegeben, um sicherzustellen, dass die Software den Anforderungen des Kunden entspricht.
Nachdem die Software getestet wurde, wird sie in einer Produktionsumgebung eingesetzt. Nach dem Einsatz in einer Produktionsumgebung muss die Software vom Entwicklungsteam gewartet werden.
Es gibt wichtige Verantwortlichkeiten von BA und QA während des SDLC für die Best Practices.
BA |
QA |
Analyse |
|
|
|
Design |
|
|
|
Entwicklung |
|
|
|
Testing |
|
|
|
Einsatz |
|
|
|
Wartung |
|
|
|
Aber leider werden in der Praxis aufgrund von Ressourcenmangel nicht alle Aufgaben erfüllt.
Der traditionelle Ansatz stößt sehr oft auf das Problem, dass die Qualitätssicherung nicht ausreichend in den Entwicklungsprozess eingebunden ist, was zu irreparablen Folgen führt - viele Fehler und Probleme, die in den frühen Phasen der Entwicklung entdeckt worden wären, werden erst in den letzten Phasen des Projekts entdeckt. Das macht es für das Entwicklungsteam schwierig, den Kern des Problems zu finden, und endet mit großen strukturellen und architektonischen Änderungen, die eine Vielzahl von Ressourcen (Zeit und Geld) erfordern, um die Ursache zu beheben.
Lassen Sie uns die wichtigsten Ansätze der Zusammenarbeit von BA und QA betrachten.
Insellose Arbeit
Im Allgemeinen sind BA und QA zwei verschiedene Rollen, die getrennt voneinander arbeiten. Ohne ins Detail zu gehen, bereitet der BA die Anforderungen vor, die QA nimmt an diesem Prozess nicht teil und lernt die Anforderungen erst beim Testen bestimmter Funktionen kennen. Ein solcher Ansatz kann in frühen Phasen der Projektumsetzung Zeit und andere Ressourcen für beide Rollen sparen.
Ein Teil der Probleme bei einem eher traditionellen Ansatz für das Projektmanagement besteht darin, dass die Qualitätssicherung nicht ausreichend in den Entwicklungsprozess integriert ist, und zwar schon in den frühesten Phasen. Dies hat zur Folge, dass viele Missverständnisse, Fehler und Probleme, die früher hätten erkannt werden können, nicht rechtzeitig erkannt werden.
Mangelhafte Kommunikation und Zusammenarbeit zwischen BA und QA kann zu vielen weiteren Konsequenzen führen, wie z.B. der Fehlinterpretation von Begriffen, die im entwickelten System verwendet werden, dem Missverständnis von Abhängigkeiten zwischen Funktionen und Anforderungen und dem Auslassen verschiedener Punkte.
Abschließend lässt sich sagen, dass ein solcher Ansatz die Effizienz und Produktivität des Teams verringert, was letztendlich zum Scheitern des Projekts führen kann.
Zusammenarbeit
Ein weiterer Ansatz für die Zusammenarbeit besteht darin, die Qualitätssicherung bereits in einem frühen Stadium, d.h. bei der Anforderungserhebung, einzubeziehen.
Dieser Ansatz hat erfahrungsgemäß die größten Vorteile gegenüber allen anderen Ansätzen:
- Es gibt ein weiteres Augenpaar, das vorgefasste Meinungen zu den Anforderungen vermeidet.
- BA unterstützt die QA bei der Analyse der Testabdeckung, der Umwandlung von Anwendungsfällen in Testfälle und der Bereitstellung von Informationen für das Testen komplizierter Funktionen. Es ist auch eine gängige Praxis, dass der BA die Testfälle schreibt.
- Wissensaustausch in beide Richtungen.
Bei allen Vorteilen hat dieser Ansatz den Nachteil, dass er mehr Ressourcen und Zeit für die tägliche Routine bindet.
Zusammenlegung von BA- und QA-Rollen
Einige Unternehmen und Entwicklungsteams haben beschlossen, BA- und QS-Verantwortlichkeiten in einer Rolle zusammenzufassen und dieselbe Person an beiden Enden des Prozesses einzusetzen, um die Zusammenarbeit zwischen den Entwicklungsrollen zu verbessern. Diese fusionierte Rolle ist ein wichtiges Bindeglied zwischen den geschäftlichen Anforderungen des Kunden und dem Fachwissen des Teams.
Die verfügbaren Studien zu diesem Ansatz besagen, dass die integrierte Rolle mehr Metriken identifiziert, die die Produktqualität verbessern. Außerdem lassen sich auf diese Weise Projektprobleme in einem frühen Stadium des Prozesses aufdecken und zu geringeren Kosten beheben.
Aber wie bei den anderen Ansätzen gibt es auch hier Einschränkungen und Nachteile, wie z.B. das Übersehen einiger wichtiger Punkte und die Betonung eines Aspekts (entweder der Geschäftsanalyse oder der Qualitätssicherung) aufgrund des menschlichen Faktors, die Durchführung von ausschließlich funktionalen Tests in den meisten Fällen, Zeitdruck, Überlastung mit Informationen und Verantwortlichkeiten, die die Effizienz der ausgeführten Aufgaben beeinträchtigt, die verpasste Chance, ein weiteres Paar Augen während des Prozesses zu haben, usw.
Anstatt der Schlussfolgerung
Es bleibt nur noch zu sagen, dass die Erstellung der Software die ständige Zusammenarbeit aller Beteiligten erfordert, um die besten Ergebnisse zu erzielen, und dass es notwendig ist, einen Mittelweg zu finden und sich an die Besonderheiten jedes Projekts und Teams anzupassen.
Categories
Share
Neueste Beiträge
Benötigen Sie einen Projektkostenvoranschlag?
Schreiben Sie uns, und wir bieten Ihnen eine qualifizierte Beratung.