Sehr oft müssen Unternehmen mit ihrem eigenen Softwareprodukt, egal ob es sich um eine mobile Anwendung, interne Systeme, CRM-Systeme usw. handelt, die Lösung weiterentwickeln. Die Gründe können unterschiedlich sein: Die vorhandene Software erfüllt nicht die Geschäftsanforderungen, Prozesse, Indikatoren wachsen nicht so schnell wie wir möchten, der technische Support ist überfordert, es gibt nur wenige positive Bewertungen von Benutzern. In solchen Fällen ermöglicht die Identifizierung von Schwachstellen und Wachstumspunkten die Prüfung der Produktqualität.Einer unserer Kunden kontaktierte uns mit dem Problem, eine Unternehmensanwendung für die Verwaltung von Tochterunternehmen freizugeben. Kunde - eine Versicherungsgesellschaft, deren Umfang Risiko- und kumulative Versicherungen sowie andere Dienstleistungen umfasst. Es gibt eine spezielle Software für die Koordination, Verwaltung und Buchhaltung der Aktivitäten der Zentrale und der Tochtergesellschaften. Die Hauptfunktionalität davon ist eine große Anzahl von Zeitschriften für Buchhaltung, Planung und Analyse. Neben autonomen Magazinen, die für eine bestimmte Einheit und ausschließlich für lokale Zwecke bestimmt sind, gibt es gemeinsame Magazine. Demnach werden Informationen in der Zentrale gesammelt und Pläne und Indikatoren fallen auch in die entgegengesetzte Richtung.
Die Hauptprobleme dieser Software waren:
- häufige Serverabstürze;
- Datenverlust während der Übertragung von Tochterunternehmen;
- Die Anwendung hat die Belastung bei der Verarbeitung einer erhöhten Anzahl von Diensten (Geolocation, Integration mit verwandten Diensten) nicht mehr bewältigt.
- Nichteinhaltung der Fristen für die Veröffentlichung neuer Versionen.
Wir haben eine Reihe von Fragen vorbereitet und im Büro des Kunden besprochen. Als Ergebnis haben wir ein klares Bild von der Organisation der Arbeit im Team des Kunden erhalten. Dieser Ansatz ermöglichte eine vollständige technische Prüfung des Projekts. Nach unserer Erfahrung ist dies die erfolgreichste Methode, um die detailliertesten und umfassendsten Informationen über das Projekt zu sammeln, sodass wir nicht nur das Team, sondern auch die Prozesse seiner Arbeit in kürzester Zeit bilden können. Es wurde die Notwendigkeit aufgezeigt, QS-Spezialisten und ein erweitertes Entwicklungsteam zusammenzubringen.
Was hast du herausgefunden?
Vor der Analyse lauteten die Prioritäten für die Arbeit wie folgt: 70% Entwicklung neuer Funktionen zur Lösung der identifizierten Probleme und 30% - Testen vorhandener Funktionen, einschließlich Skalierbarkeitstests.
Arbeitsplan vor Durchführung eines ProduktqualitätsauditsWährend des Prüfungsprozesses ist es äußerst wichtig herauszufinden, wie Ausführende aus anderen Bereichen arbeiten und welche Ansichten sie zu den Hauptaufgaben des Projekts und der Prozesse haben.
Nach einem Gespräch mit dem Kundenteam erfuhren wir von anderen ebenso wichtigen Themen:
- extrem niedrige Produktivität des Integrationssystems, an das eine der Hauptkomponenten gebunden war;
- die Notwendigkeit einer signifikanten Verfeinerung aufgrund falsch verstandener und implementierter Funktionen;
- fehlende Fehlerprotokollierung;
- Alle Aufgaben, auch diejenigen, die für die Freigabe nicht erforderlich waren, fielen in die Freigabeversion der Anwendung. Infolgedessen nahm die Zeit für die Entwicklung und Suche nach Fehlern erheblich zu.
- Nichtübereinstimmung von Prüfständen mit echten: Viele Komponenten auf dem Prüfstand waren veraltet, was dazu führte, dass Fehler gefunden wurden, die auf echten Ständen mit Live-Benutzern niemals reproduziert werden konnten, und umgekehrt - nur Benutzer selbst fanden Fehler.
- Der Kunde hatte keine Erfahrung mit der Konfiguration der Serverinfrastruktur.
- Die Anwendung wurde noch nie vollständig auf Einhaltung der funktionalen Anforderungen und Benutzerfreundlichkeit getestet.
Der Kunde hat diese Probleme nicht im Voraus identifiziert, sie hatten einen erheblichen Einfluss auf das Wachstum und die Entwicklung des Projekts. Oft werden Probleme dieser Art nicht richtig behandelt, was die Effektivität von Änderungen am gesamten Projekt beeinträchtigen kann.
Was wir vorgeschlagen haben
Ein von einem Expertenteam erstellter Schritt-für-Schritt-Plan löste die identifizierten Probleme des Kunden. Eine reibungslosere und schmerzlosere Methode wurde als individueller Ansatz vorgeschlagen - die Idee eines einzelnen Kundenteams, das auf folgenden Prinzipien basiert:
- das gemeinsame Interesse des Teams an der Erreichung von Zielen und Aufgaben;
- die Einbeziehung aller Personen, die die Qualität des internen Produkts beeinflussen;
- ständige Beratung der Kundenspezialisten durch unser Team.
Aus dem ursprünglichen Plan des Kunden, der nur die Erörterung der Entwicklung bedeutete, genehmigten wir daher eine erweiterte Liste von Arbeiten zu folgenden Themen:
- Prozesse, durch die der Lebenszyklus von Aufgaben verläuft;
- Auswählen von Aufgaben, die in der nächsten Versionsversion enthalten sein werden, und Priorisieren von Aufgaben im Allgemeinen;
- den Testprozess, seine Organisation, um eine Vorstellung von der Gesamtqualität des Produkts zu erhalten;
- Konfigurieren Sie Git Flow
- die Entwicklung neuer Funktionen und die Korrektur von Fehlern;
- Einrichten eines automatischen Bereitstellungssystems für ein Projekt.
Arbeitsplan nach Durchführung eines Produktqualitätsaudits
Am Ende des Audits wurde ein Plan für die ersten zwei Monate erstellt, der nicht nur eine Liste der Arbeiten, sondern auch eine Vereinbarung über die Prozesse enthält.
Ergebnis
Nach 2 Monaten wurde innerhalb des geplanten Zeitrahmens eine Version mit Prioritätsfunktionalität veröffentlicht. Die Hauptgeschäftslogik der Anwendung wurde durch automatische und manuelle Tests abgedeckt, die ein besseres Verständnis des Qualitätsniveaus der Anwendung, eine Verringerung der Fehlerkonzentration sowie die Fähigkeit zur Identifizierung von Produktwachstumspunkten ermöglichten.
Die Ergebnisse der Arbeit in einigen Arbeitszahlen vor und nach dem Audit im Bereich Produktunterstützung und Qualitätssicherung.

Unser Ansatz, als einzelnes Team zu arbeiten, ergab das entsprechende Ergebnis:
- Die Hauptfunktionalität der Anwendung ist stabilisiert, die Anzahl der Serverausfälle und der Datenverlust sind gesunken.
- verbesserte Benutzerfreundlichkeit des Systems, wodurch die Geschwindigkeit der Mitarbeiter erhöht wurde;
- Die rechtzeitige Veröffentlichung von Versionen der Anwendung;
- Der Prozentsatz der Rendite und die erhöhte Loyalität der Stammkunden haben sich gegenüber dem ursprünglichen Wert verdoppelt.
- Die Anzahl der kritischen Anrufe beim technischen Support verringerte sich um 70%.