Version 3.0: besser machen

Das Unternehmen entwickelt seine IT-Produkte stĂ€ndig weiter. Es gibt keine Möglichkeit, den Moment anzuhalten, da sonst selbst das beste Programm unweigerlich veraltet ist. Wir erzĂ€hlen, wie wir eine neue Version der medizinischen Anwendung fĂŒr Europa erstellt haben und welche Probleme gleichzeitig gelöst wurden.



Krankenhaus App


Wir arbeiten mit einer medizinischen Anwendung fĂŒr KrankenhĂ€user in Europa. Es hilft Ärzten, mehr Zeit mit Patienten zu verbringen, indem es den Papierkram reduziert. Ärzte diktieren Informationen ĂŒber Patienten und Untersuchungen, die Anwendung ĂŒbersetzt die Audioaufnahmen in ein Textformat, fĂŒllt eine Vorlage aus und generiert Dokumente fĂŒr medizinisches Personal und Patienten. In jeder Arbeitsphase wird eine eigene GeschĂ€ftslogik und Integration in mehrere externe Systeme festgelegt.

Der Kunde hat uns die Aufgabe gestellt, eine neue Version der Anwendung zur Demonstration fĂŒr Investoren zu entwickeln.



Projektdetails


Audio


So nehmen Sie Audio in Version 2.0 auf:

  1. Die Anwendung wurde geöffnet.
  2. Klicken Sie auf die SchaltflĂ€che Datensatz hinzufĂŒgen.
  3. In dem angezeigten Fenster haben wir die gewĂŒnschte Version des AufnahmegerĂ€ts ausgewĂ€hlt.
  4. Diktierte Audioaufnahme.
  5. Die Patientennummer, das Besuchsdatum und die Besuchsnummer (Besuch = Arzttermin) wurden eingegeben.
  6. Sie klickten auf die SchaltflÀche VollstÀndig, um Audio hochzuladen und Daten auf den Server zu besuchen.

In Version 3.0 ist jetzt weniger Aufwand fĂŒr das Schreiben erforderlich:

  1. Der Arzt öffnet die Anwendung.
  2. WÀhlt einen Termin (nach Datum, Uhrzeit, Nummer oder Patientenname) aus der Liste aus und klickt einmal, um eine Visitenkarte zu öffnen.
  3. Nimmt Audio auf.
  4. DrĂŒcken Sie die SchaltflĂ€che Fertig stellen, um Audio an den Server zu senden.

In Version 3.0 ist die Arbeit des Arztes so automatisiert wie möglich. Die Anzahl der Operationen hat abgenommen, wĂ€hrend das Programm selbst Daten ĂŒber Patienten hinzufĂŒgt.

Arbeite mit Buchstaben


Das Arbeiten mit Briefen ist ebenfalls einfacher geworden. In Version 2.0 gab es eine schwierige Warteschlange fĂŒr ihre Verarbeitung. Der Arzt konnte nicht sofort eine vollstĂ€ndige Liste der Briefe erhalten - nur in Teilen und in einer bestimmten Reihenfolge. Um loszulegen, mussten Sie:

  • Klicken Sie auf, um eine Liste Ihrer Briefe zu erhalten.
  • gehe zu einem anderen Fenster;
  • Doppelklicken Sie auf den Buchstaben, um ihn zu öffnen.
  • Klicken Sie nach der Verarbeitung der Buchstaben aus der Liste erneut, um die folgenden Buchstaben in der Liste zu erhalten.

In Version 3.0 sieht der Arzt alle zur Verarbeitung verfĂŒgbaren Briefe. Er kann ein Dokument auf zwei Arten auswĂ€hlen - entweder manuell in der Liste oder mithilfe von Filtern und Sortierungen (Sie können sie speichern, um den Brief mit einem Klick weiter zu öffnen). Um den Brief zu öffnen, klicken Sie einfach einmal.

Schnittstelle


Im Allgemeinen war die BenutzeroberflĂ€che der Version 2.0 umstĂ€ndlich und unpraktisch. Die ursprĂŒngliche Aufgabe der Anwendung bestand darin, den FachĂ€rzten Zeit zu sparen, indem der Papierarbeitsfluss reduziert und mit Audioaufnahmen gearbeitet wurde. In der Praxis hat die Anwendung diese Aufgabe nicht so gut bewĂ€ltigt, wie wir es gerne hĂ€tten. Um eine Aufzeichnung zu machen, musste der Arzt viele Einstellungen aus langen Dropdown-Listen auswĂ€hlen.

Unsere Experten haben mit der BenutzeroberflĂ€che gearbeitet und die Audio-SchaltflĂ€che in den Vordergrund gerĂŒckt, damit Benutzer ihre Aufgabe mit der geringsten Anzahl von Klicks erledigen können.

Als NĂ€chstes geben wir Einzelheiten zur Entwicklung der neuen Version an.

Neue BedĂŒrfnisse


Als ein Kunde uns kontaktierte, um Version 2.0 zu aktualisieren, funktioniert die Anwendung seit ungefÀhr drei Jahren. Es war den Benutzern vertraut und hatte bestimmte Vorteile:

  • Es gab eine Reihe von Funktionen zur DurchfĂŒhrung komplexer GeschĂ€ftslogik und zur Integration in Systeme von Drittanbietern.
  • Kunden sind an das Programm gewöhnt und möchten es nicht aufgeben.
  • Die Mitarbeiter des technischen Supports kannten die Anwendung und halfen den Benutzern schnell.
  • Es gab flexible Einstellungen fĂŒr die Konfiguration des Systems fĂŒr alle geschĂ€ftlichen Anforderungen.
  • Die Verfolgung möglicher Probleme in den Serverteilen des Systems wurde eingerichtet, und es wurden Problemumgehungen zur Lösung dieser Probleme bekannt.

Bei der Analyse des Betriebs der Anwendung haben wir jedoch folgende Probleme festgestellt:

  • Das Entwickeln und Testen neuer Funktionen nahm immer mehr Zeit in Anspruch.
  • Beim HinzufĂŒgen neuer Funktionen traten Fehler im System auf.
  • Infolgedessen wurden bis zu 30% der komplexen Verbesserungen von der Stange genommen, was die Anwendung zu veralten drohte. In KrankenhĂ€usern wurden beispielsweise immer komplexere Vorlagen angezeigt. Es war erforderlich, neue Rollen im Workflow hinzuzufĂŒgen.
  • Die Anwendungsarchitektur konnte keine neuen Lösungen unterstĂŒtzen.
  • 40% der Entwicklungszeit wurden fĂŒr Support aufgewendet;
  • Es gab Schwierigkeiten bei der Installation neuer Versionen und Updates des Desktop-Produkts.
  • Die umstĂ€ndliche BenutzeroberflĂ€che der 2000er Jahre schreckte neue Kunden ab.
  • Ein unbequemes Einstellungssystem verhinderte einen schnellen Start des Systems und erhöhte auch das Fehlerrisiko.

Bei der Bewertung der StÀrken und Herausforderungen kamen wir zu dem Schluss, dass die Anwendung mobiler (Webversion statt Desktop) und bequem, wettbewerbsfÀhig und leicht an GeschÀftsaufgaben anpassbar sein muss.

Versionsanforderungen


Wir haben die Funktionen der Anwendung analysiert und die wichtigsten identifiziert, die das Produkt fĂŒr das Unternehmen wertvoll gemacht haben. Basierend auf diesen Daten haben wir festgelegt, wie das Programm in der neuen Version aussehen soll:

  • SchlĂŒsselfunktionen der Anwendung, die fĂŒr Ärzte und andere Benutzer intuitiv sind, werden benötigt.
  • FĂŒr Benutzer - Gesundheitsdienstleister und Support-Mitarbeiter - sollte es leicht sein, den Umgang mit dem Programm zu erlernen.
  • Datenverlust auch unter extremen Bedingungen (StromausfĂ€lle, instabiler Internetzugang usw.) vermeiden;
  • Vom System erstellte Dokumente mĂŒssen den gesetzlichen Normen und Anforderungen entsprechen.
  • WĂ€hrend Systemaktualisierungen sollten mögliche Unannehmlichkeiten fĂŒr den Benutzer und den Supportdienst minimiert werden.
  • Es ist notwendig, eine serviceorientierte modulare Architektur zu erstellen, die auf verteilten, lose gekoppelten Komponenten basiert, damit diese zum Aufbau komplexer Softwaresysteme verwendet werden können.
  • Verwenden Sie Active Directory, um Ihre Arbeitsumgebung einheitlich zu konfigurieren.

DarĂŒber hinaus war es unmöglich, die neue Version als „komplizierten Klon“ der alten Version zuzulassen. Daher mussten die SchlĂŒsselfunktionen gespeichert werden, ohne die Anwendung zu ĂŒberlasten. Wir haben redundante komplexe Einstellungen rĂŒcksichtslos aufgegeben.

GeschĂ€ftsanalysten, die mit Version 2.0 arbeiten, haben die Änderungen nicht sofort akzeptiert. In der Leistungsbeschreibung wurden hĂ€ufig SĂ€tze gefunden: "Es sollte hier wie in Version 2.0 sein", "Nehmen Sie das Arbeitsschema in Version 2.0". Das Schwierigste in dieser Phase war der Widerstand gegen die Versuchung, alles zu nehmen, wie in der vorherigen Version.

Projektteam


In der Regel verbinden wir uns bei SimbirSoft zu Beginn jedes Projekts mit einem Expertenteam mit unterschiedlichen Profilen - Analysten, QualitÀtssicherungsspezialisten (QS) und anderen. Bei der Arbeit an einer medizinischen Anwendung stellen wir folgendes Team zusammen:

  • Entwickler, die Code geschrieben und Funktionen der Version 2.0 angepasst haben;
  • QualitĂ€tssicherungsspezialisten (QS). Zusammen mit den Entwicklern waren sie mit dem Legacy-Code, den Architekturlösungen und den Fehlern der Version 2.0 vertraut und testeten auch neue Funktionen.
  • Test Automation Engineer (SDET), der die automatische TestfallĂŒberprĂŒfung in der Desktop- und Webversion eingerichtet hat;
  • Business Intelligence. Sie sprachen mit dem Kunden und den Ärzten, fanden heraus, wie GeschĂ€ftsprozesse aufgebaut wurden, welche Anforderungen und WĂŒnsche fĂŒr die Anwendung bestehen. Danach erstellten sie GeschĂ€ftsprozessdiagramme, die fĂŒr das gesamte Team verstĂ€ndlich waren.
  • Designer und Usability-Experte. Sie waren fĂŒr die Entwicklung einer benutzerfreundlichen OberflĂ€che verantwortlich.
  • Projektmanager, der an der Verwaltung und Planung der Zeit beteiligt war.

Dabei haben wir stĂ€ndig Tabellen der angeblichen Risiken in der neuen Version gepflegt. Um dies zu verhindern, haben wir ein flexibles System von Anwendungseinstellungen entwickelt und dessen Tests automatisiert, um Benutzer vor Fehlern zu schĂŒtzen. Insbesondere hat unser SDET-Spezialist ein Framework geschrieben, mit dessen Hilfe alle Änderungen im Code schnell ĂŒberprĂŒft und weniger Zeit fĂŒr Regressionstests aufgewendet werden können.

Herausforderungen und Lösungen


Bei der Aktualisierung der Anwendung standen wir vor mehreren schwierigen Phasen, auf die wir weiter unten eingehen werden.

App Design


Da die vorherige Version eine umstĂ€ndliche OberflĂ€che hatte, haben wir das Anwendungsdesign neu gestaltet. Wir haben fĂŒnf vorlĂ€ufige Optionen vorgeschlagen und sie der Fokusgruppe unter den Benutzern der Anwendung gezeigt und Usability-Tests durchgefĂŒhrt. Infolgedessen entschieden sich FachĂ€rzte fĂŒr eine Option, die sich ihrer Meinung nach als die bequemste, attraktivste und benutzerfreundlichste herausstellte.

Plugin-Entwicklung fĂŒr verschiedene Browser


Wir haben verschiedene technische Risiken im Zusammenhang mit der Anwendung angegeben. Beispielsweise ist das fĂŒr die Implementierung ausgewĂ€hlte Plugin möglicherweise fĂŒr einige Internetbrowser nicht geeignet. Um dieses Risiko zu verringern, haben wir zunĂ€chst ein Plug-In fĂŒr die Software entwickelt, die in den meisten medizinischen Partnerinstitutionen verwendet wird. In Zukunft haben wir das Plugin ruhig fĂŒr andere Browser entwickelt.

UngĂŒltige GeschĂ€ftshypothesen


Unsere Aufgabe war es, eine limitierte Version des Produkts fĂŒr die PrĂ€sentation fĂŒr Investoren zu entwickeln. Aus diesem Grund haben wir versucht, nur die notwendigsten Funktionen in die Anwendung zu implementieren. Wir haben einige Hypothesen des Kunden analysiert und uns geweigert, sie umzusetzen.

Der Kunde schlug beispielsweise vor, einen Kalender fĂŒr die Planung der Arbeit von FachĂ€rzten zu erstellen. Der Hypothese zufolge könnte der Kalender die Arbeit von Ärzten bequemer machen. Unter realen Bedingungen war diese Funktion jedoch nicht erfolgreich und wurde am Ende deaktiviert. SpĂ€ter wurde der Kalender an die BedĂŒrfnisse einer anderen Gruppe von Anwendern angepasst, nicht an medizinisches Personal. UngĂŒltige Hypothesen ─ Dies ist ein wesentlicher Bestandteil des GeschĂ€fts, und Sie mĂŒssen darauf vorbereitet sein.

Integration mit externen Systemen


Es hat viel Zeit gekostet, sich mit unserem Partner auf das Verfahren zur Integration der Anwendung in externe Systeme zum Senden und Speichern von Briefen zu einigen.

Benutzer der Anwendung (medizinische Einrichtungen) wollten alte, vertraute Integrationssysteme fĂŒr Version 3.0 verwenden, sie konnten nicht geĂ€ndert werden. Unser Partner ging davon aus, dass in diesem Fall die Integration schnell erfolgen wĂŒrde. TatsĂ€chlich waren jedoch viele Aufgaben mit der Integration verbunden:

  • Sammeln Sie allgemeine Informationen zur Funktionsweise von Mail-Versandsystemen.
  • Erstellen Sie eine Liste kritischer Fehler in 2.0.
  • Betrachten Sie diese FĂ€lle in der Phase der Analyse und Entwicklung, um sie zu berĂŒcksichtigen und nicht auf denselben Rechen zu treten.
  • Analysieren Sie, ob die Funktionen von Version 2.0 fĂŒr die Prozesse von Version 3.0 geeignet sind oder ob etwas geĂ€ndert werden muss. Geben Sie bei Änderungen jedes Mal an, warum bestimmte Funktionen benötigt werden, und kommunizieren Sie mit den technischen Spezialisten des Kunden und nicht nur mit Analysten.

In den Verhandlungen mit dem Kunden konnten wir beweisen, dass die Arbeit mit der Integration Zeit braucht. Unser Partner stimmte uns zu: Sie können den Code nicht einfach von einer Version in eine andere ĂŒbertragen.

Testen und Analysieren


Die vorherige Version des Projekts wurde ohne Beteiligung von Analysten erstellt. Entwickler und QS-Spezialisten haben die Anforderungen bei der Erstellung der Anwendung festgelegt. Die dritte Version basierte bereits auf den Anforderungen der Analysten, es gab jedoch immer noch Schwierigkeiten beim Testen:

  • verschiedene Teams arbeiteten an dem Projekt;
  • es gab eine große Anzahl paralleler Aufgaben;
  • WĂ€hrend des Sprints Ă€nderten sich Anforderungen und Aufgaben hĂ€ufig.
  • Es war notwendig, das Zusammenspiel neuer Funktionen mit bereits genehmigten zu berĂŒcksichtigen.

Um an der neuen Version des Produkts zu arbeiten, mussten wir einzelne Workflows transformieren, zum Beispiel:

  • Wir haben die Analyse von der Entwicklungsseite und der QualitĂ€tssicherung gestĂ€rkt und zusĂ€tzliche Stunden dafĂŒr festgelegt.
  • Es war eine Regel, den Zweck der zu testenden Funktion in den Anforderungen fĂŒr die ÜberprĂŒfung anzugeben. Dies verbesserte das VerstĂ€ndnis der Aufgaben fĂŒr Analysten und bot die Möglichkeit, die optimale Lösung vorzuschlagen.
  • Um die Arbeitsbedingungen zu klĂ€ren, haben wir die Terminologie geĂ€ndert: Anstelle einer groben SchĂ€tzung in Stunden haben wir begonnen, Aufgaben als „groß“ oder „klein“ zu klassifizieren. Wir begannen die Vorlaufzeit erst nach einer vollstĂ€ndigen ÜberprĂŒfung der Aufgabe von der Entwicklungsseite, der QualitĂ€tssicherung und der Genehmigung der endgĂŒltigen Version der Anforderungen durch den Kunden. Wenn die Aufgabe erweitert wurde, haben wir die SchĂ€tzung der Zeitkosten neu berechnet.
  • Wir begannen zu planen, welche Funktionen in den kommenden Quartalen fĂŒr die nĂ€chsten 2-3 Releases implementiert werden sollten. Um die Entwicklung genauer vorhersagen zu können, haben wir diejenigen Aufgaben, die die Bewertung nicht bestanden haben, nicht mehr in den Release-Plan aufgenommen.
  • Zur Erleichterung der Analysten und zum besseren VerstĂ€ndnis des Systems haben wir in den Checklisten angegeben, welche Interaktionen bei der Erstellung von Anforderungen berĂŒcksichtigt werden sollten. Wir haben auch gemeinsame Regeln fĂŒr das Schreiben von Artikeln in Confluence und die Dokumentation in JIRA entwickelt und begonnen, diese einzuhalten.

RegelmĂ€ĂŸige Online-Kundgebungen mit dem Kunden haben uns geholfen, unser VerstĂ€ndnis seiner GeschĂ€ftsprozesse zu verbessern. WĂ€hrend des GesprĂ€chs erklĂ€rte unser Partner die Einzelheiten der Arbeitsweise der Ärzte und erlĂ€uterte die GeschĂ€ftsziele. Wir erklĂ€rten wiederum die technischen Nuancen und zeigten verschiedene nicht offensichtliche FĂ€lle. Dies ermöglichte es uns, Produktanforderungen zu formulieren, die die BedĂŒrfnisse medizinischer Einrichtungen abdecken und hinsichtlich der Implementierungskosten optimal sind.

Zusammenfassung


Durch die FlexibilitĂ€t der Arbeitsprozesse und die BerĂŒcksichtigung der GeschĂ€ftsanforderungen konnten wir alle Schwierigkeiten ĂŒberwinden, die wĂ€hrend des Entwicklungsprozesses auftraten. Wir haben erfolgreich eine neue Version des Antrags fĂŒr medizinische Einrichtungen in Europa erstellt und gestartet.

Jetzt entwickeln wir das Produkt weiter und fĂŒhren neue Funktionen ein. Wir untersuchen, wie echte Benutzer mit dem System arbeiten, sammeln nicht erfasste FĂ€lle und User Stories und identifizieren neue GeschĂ€ftswerte.

Beim Erstellen einer neuen Version eines Produkts haben Entwickler in der Regel dieselben Probleme wie wir, zum Beispiel:

  • falsche Hypothesen von Seiten des GeschĂ€fts sind möglich;
  • Es gibt WidersprĂŒche in den WĂŒnschen der Benutzer (lassen Sie alles so wie es war oder machen Sie es neu).
  • Manchmal ist es notwendig, die Arbeit des Teams neu zu strukturieren, um ein besseres Ergebnis zu erzielen.

Die Hauptsache ist, dass die Veröffentlichung der neuen Version des IT-Produkts keine Kopie des Codes „Strg + C“, „Strg + V“ aus der vorherigen Version ist, sondern eine vollwertige Entwicklung von Grund auf neu. Dies liegt daran, dass sich GeschĂ€ftsprozesse, Benutzeranforderungen sowie die Situation auf dem Markt fĂŒr IT-Lösungen Ă€ndern.

Vielen Dank fĂŒr Ihre Aufmerksamkeit! Wir hoffen, dass Sie diesen Artikel hilfreich finden.

Source: https://habr.com/ru/post/de472024/


All Articles