Das Finden eines kompetenten technischen Anbieters, der Ihre Geschäftsprobleme lösen kann, ist nur der halbe Erfolg. Die andere Hälfte besteht darin, sicherzustellen, dass Ihr Partner eine gesunde Entwicklungspraxis anwendet, wie wir dies in diesem Artikel besprechen.

Wenn Sie sich an einen potenziellen technischen Partner wenden, sollten Sie sicherstellen, dass er ein schlankes Verfahren einhält und die Kontinuität und Stabilität der Entwicklung garantiert.

In diesem Artikel stellen wir unsere Herangehensweise zur Entwicklung technischer Lösungen für Ihre Geschäftsprobleme vor. 

Wie sieht unser App-Entwicklungsprozess aus?

Wir haben dreizehn Jahre Erfahrung in der App-Entwicklung mit bewährten Entwicklungsmethoden kombiniert, um einen neuen Agile-Ansatz zu schaffen. Diese Herangehensweise bietet neben Transparenz auch eine vorhersehbare und einfach zu handhabende Entwicklung. 

Nach unserem Ansatz wählen wir zunächst eines der drei Softwareentwicklung Lifecycle-Frameworks (SDLC), über die wir später sprechen werden, und passen es dann an das Projekt an, abhängig von der Art des Unternehmens und den Anforderungen Ihres Geschäfts. SDLC ist ein Begriff in der Softwareentwicklung, der für ein Framework steht, das die Aufgaben definiert, die in jedem Schritt des Softwareentwicklungsprozesses ausgeführt werden.

Verhandlungsphase

Dies ist die erste Phase, die den Beginn des Projekts vorausgeht. 

Wir kümmern uns um die Denkmalgeschützte Bauwerke Unsere Kunden sind vertrauliche Informationen, daher senden wir Ihnen nach dem Kontakt mit uns sofort eine Vertraulichkeitsvereinbarung zu, die wir vor Beginn der Verhandlungen unterschreiben. 

In dieser Phase führen wir mehrere Gespräche mit Ihnen und sammeln die Informationen, die uns helfen werden. Wählen Sie den richtigen Technologiestack, Wir analysieren die Teamstruktur und die Technologielösung für Ihre spezifische Geschäftssituation. Außerdem definieren wir mögliche Risiken, die die Entwicklung verlangsamen oder Probleme verursachen können, und suchen nach Möglichkeiten, diese zu beseitigen.

Auf der Grundlage dieser Informationen erstellen wir ein personalisiertes Angebot. Dieses Angebot enthält alle Informationen zu Ihrem Projekt, einschließlich des Technologie-Stacks und der Teamstruktur. Auf Ihre Anfrage erstellen wir außerdem eine grobe Schätzung des Projekts. Diese Ergebnisse werden Ihnen helfen, zu verstehen, wie wir Ihre spezifischen Geschäftsprobleme lösen und wie viel Zeit und Geld Sie für die Entwicklung Ihres Produkts benötigen. Anschließend unterzeichnen wir einen Vertrag. Unser SDLC beginnt nach Unterzeichnung aller erforderlichen Dokumente.

 Lesen Sie auch: Wie finden und einstellen Sie die besten App-Entwickler?

Entdeckungsphase

Die erste Phase des SDLC ist die Entdeckung. Diese Phase besteht aus mehreren Phasen:

  • Analysieren

Unser Business Analyst führt eine detaillierte Analyse Ihres Unternehmens und Ihrer Geschäftssparte durch. Er sammelt Geschäftsanforderungen, führt Marktanalysen und Wettbewerbsanalysen durch und definiert die Endnutzer.

Danach erstellt der Business Analyst einen Wertstrom: eine Auswahl von Maßnahmen, die dem Kunden über die ursprüngliche Anfrage hinaus einen zusätzlichen Mehrwert schaffen. Der Business Analyst erstellt außerdem ein Business Objective Model (BOM), um den Wert des Projekts zu dokumentieren. Diese Ergebnisse liefern die Grundlage für weitere Forschungsarbeiten durch unseren Solution Architect und unseren UI/UX Designer. In dieser Phase arbeiten wir außerdem eng mit unseren Datenwissenschaftliche Dienstleistungen Das Team analysiert die verfügbaren Daten und stellt sicher, dass die von uns vorgeschlagenen technischen Lösungen den Anforderungen Ihres Unternehmens entsprechen und Datenbasierte Erkenntnisse nutzen können, um bessere Entscheidungen zu treffen.

Auf der Grundlage dieser Informationen haben wir Lösungsfachmann Analysiert die Projektarchitektur und sucht nach den besten technischen Lösungen, um Ihr Geschäftsproblem zu lösen. Im Ergebnis entwickelt sie eine architektonische Vision für das Produkt.

Gleichzeitig haben wir UI-/UX-Designer Er erstellt die ersten Entwürfe des Produkts. Nachdem er mit Ihnen über das Erscheinungsbild des Produkts gesprochen hat, führt der Designer eine UI- und UX-Studie durch, erstellt UI-Konzeptionen und wählt eine Farbfelder.

Lesen Sie auch: Welche Rolle spielt ein Business Analyst bei Yalantis?

  • Design

Unser Businessanalyst erstellt einen Design-Backlog, funktionale Anforderungen (was das Produkt tun muss), nichtfunktionelle Anforderungen (Zuverlässigkeit, Benutzerfreundlichkeit, Leistung usw.) sowie ein Dokument namens Produktroadmap, in dem die Richtung und der Fortschritt der Produktentwicklung beschrieben werden. Nachdem wir den Design-Backlog erhalten haben, beginnen unsere Designer, Ihre Erwartungen in eine schöne, benutzerfreundliche Gestaltung umzusetzen. Sie erstellen Wireframes, die zeigen, wie verschiedene Elemente (Schaltflächen, Menüs usw.) auf dem Bildschirm platziert werden. Wenn die Wireframes fertig sind, ist es an der Zeit, ihnen Leben einzuhauchen, indem wir das Produkt gestalten.

Unterdessen erstellt unser Lösungenarchitekt ein Software Design Document (SDD). Dieses Dokument enthält API-Dokumentation, Datenbankarchitektur, technische Anforderungen, nichtfunktionelle Anforderungen (Plattformbeschränkungen, Technologiestack, Infrastrukturarchitektur usw.) und Qualitätskennzahlen. Nachdem alle Anforderungen gesammelt wurden, Unser Sicherheitsteam Durchführt einen Test, um sicherzustellen, dass sie die allgemeinen Sicherheitsanforderungen des Projekts erfüllen.

  • Anforderungen an das Entwicklungsteam

In dieser Phase stellen wir den Umfang der Arbeit unseren Teammitgliedern vor. Ein Business Analyst erstellt einen Produktentwicklungs-Backlog auf der Grundlage von funktionalen und nicht-funktionalen Anforderungen und geschäftlichen Bedürfnissen. Dies formalisiert die Produktvision in den Projektumfang für das Entwicklungsteam. 

Unterdessen bereitet unser Entwicklungsteam sich auf die eigentliche Entwicklung vor. Dazu gehört die Übertragung technischer Kenntnisse von dem Solution-Architekt zu dem Entwicklungsteam, die Erstellung einer Teststrategie, die Überprüfung der technischen Dokumentation und die erste Projektvorbereitung aller erforderlichen Umgebungen.

Entwicklungsphase

Jede Funktion durchläuft zwei Entwicklungsstufen:

  • Implementierung

In dieser Phase wird das Design in Code umgewandelt. Wir überwachen die Qualität unserer Produkte. Daher führen unsere Entwickler neben der Implementierung der Benutzeroberflächengestaltung auch regelmäßige technische Audits durch und testen die entwickelte Funktionalität. 

  • Prüfung

Wenn Entwickler eine Funktion implementieren, testen wir sie, validieren sie und registrieren Fehler. Bei komplexen Systemen aktivieren wir außerdem automatisches Testing. Nachdem wir QA- und Automation-Testing-Qualitätskontrollberichte erhalten haben, die alle Fehler beschreiben, beheben unsere Entwickler sie, bis das Produkt den Anforderungen entspricht und reibungslos funktioniert.

Grundsätzlich wenden wir die Scrum-Methodik in unserem Entwicklungsprozess an, der den gesamten Arbeitsschwerpunkt in Sprints aufteilt. Sprints bei Yalantis dauern zwei Wochen lang, während derer wir den in dem Sprint-Backlog definierten Teil der Anwendung entwickeln. Statt die gesamte Anwendung auf einmal zu veröffentlichen, arbeiten wir iterativ. Am Ende jedes Sprints veröffentlichen wir die während des Sprints entwickelten Features. 

Dank dieses Ansatzes können Sie unsere Arbeit alle zwei Wochen sehen, anstatt bis zum Ende der Entwicklung zu warten. Dadurch können wir Feedback zu der entwickelten Funktionalität erhalten und den Projektplan korrigieren, um sicherzustellen, dass die App Ihren Erwartungen entspricht.  

Lesen Sie auch: Testen und Qualitätskontrolle bei Yalantis

Veröffentlichung

Um sicherzustellen, dass alles nach der Implementierung reibungslos funktioniert, gehen wir in die Stabilisierung. Hier erstellen wir eine Sicherungskopie, damit wir im Notfall keine Daten verlieren. Anschließend führen wir eine Überprüfungstests durch. 

Eine integrierte Softwareentwicklungsmethodik und ein Testumgebung sowie ein Produktionsserver sind entscheidend für eine erfolgreiche Stabilisierung und Bereitstellung. Unsere DevOps-Ingenieure stellen diese Umgebung ein. Anschließend wird die entwickelte und akzeptierte Funktionalität in die integrierte Entwicklung- und Testumgebung übertragen.

Schließlich ist der Moment gekommen – Ihre App ist bereit, ihre Endnutzer zu treffen. Manchmal wird ein Produkt zunächst einer begrenzten Zielgruppe für die Beta-Testphase zugänglich gemacht und in einer echten Geschäftsumgebung getestet. Dies wird als Benutzerakzeptanztest oder UAT bezeichnet.

Phase der Nachveröffentlichungssupport

Wir bieten nach der Veröffentlichung von Produkten Support-Services an, mit denen Sie Ihre Web- oder Mobile-App nach ihrer offiziellen Veröffentlichung erweitern und verbessern können. Mit diesem Service können Sie sicher sein, dass Sie Ihre App schnell anpassen können, wenn Ihnen plötzlich eine großartige neue Funktion einfällt oder wenn Sie Feedback von Nutzern erhalten, wie Sie Ihre App verbessern können.

Entwicklungszyklus angepasst an Ihre Bedürfnisse

Es gibt in Yalantis drei SDLC-Frameworks:

Adaptive SDLC

Dies ist das am häufigsten verwendete Modell und ideal, wenn Sie Ihr Produkt so schnell wie möglich auf den Markt bringen möchten. 

Adaptive Ansätze konzentrieren sich auf die schnelle Bereitstellung von Geschäftswerten in kurzen Iterationen im Gegenzug für einen höheren Grad an Unsicherheit hinsichtlich der gesamten Bereitstellung. Dieses SDLC-Framework eignet sich ideal für explorative Ansätze zur Suche nach der besten Lösung oder zur inkrementellen Verbesserung einer bestehenden Lösung.

Mit einem adaptiven SDLC kann die Softwareentwicklung bereits vor Abschluss der Entdeckungsphase beginnen und parallel dazu umgesetzt werden. Alle Funktionen werden in kleinen Abschnitten geschätzt und nach Ihrer Zustimmung in die Umsetzung übernommen.

Für dieses Rahmenwerk ist es entscheidend, das Projekt innerhalb des Budgets und der festgelegten Frist abzuschließen. Deshalb übernehmen wir die Verantwortung dafür, das Projekt rechtzeitig und im Rahmen des Budgets zu realisieren.

Dieser Ansatz ermöglicht es uns, Änderungen am Projekt vorzunehmen, falls sich Ihre Anforderungen ändern oder Sie bestehende Funktionen ändern möchten. Wenn jedoch bei dem Produkt erhebliche Änderungen vorgenommen werden, ermitteln wir, welche Funktionen ersetzt werden können, um das Budget einzuhalten.

Der Projektleiter ist dafür verantwortlich, das Projekt innerhalb der Budgetrahmen zu halten. Dennoch steigt der erforderliche Budgetbetrag für die Umsetzung der vollständigen Produktanforderungen stetig an. Wenn ein neuer Teil der Anforderungen erstellt wird und Mockups dem Projekt beigefügt und vom Kunden genehmigt werden, führt das Entwicklungsteam Vorbereitungssitzungen durch und erstellt eine Schätzung für die Erfüllung dieser Anforderungen, auf deren Grundlage dann der gesamte Projektbudget berechnet wird.

Wenn ein adaptives SDLC nicht anwendbar ist

Es ist erwähnenswert, dass ein adaptives SDLC-Framework nicht gewählt werden sollte, wenn:

  • Der Projektaufwand muss vor Beginn der Entwicklungsphase festgelegt sein.
  • Der Kunde hat nicht die Möglichkeit, an dem Projekt täglich beteiligt zu sein.

Incremental SDLC

Diese Art von SDLC wird in mehreren Fällen eingesetzt:

  1. Sie haben strenge Budgetbeschränkungen für das Projekt.
  2. Sie kennen bereits die Anforderungen für das Inkrement und planen keine Änderungen.
  3. Das Produkt existiert bereits, und Ihr Hauptziel besteht darin, Änderungen vorzunehmen, neue Funktionen hinzuzufügen oder bestehende Funktionen zu verbessern. In diesem Fall wird die Entdeckungsphase zusätzlich mit technischer Forschung versehen. 

Mit diesem Modell können Sie die genauen Kosten für die Entwicklung des sofortigen Inkrements ermitteln. Es gibt einige Dinge, die Sie beachten sollten:

  • Dieses Framework sperrt den Ladevorgang der Aufgaben für den aktuellen Entwicklungsabschnitt vor dem Start der Entwicklungsphase. Sollten Sie nach diesem Zeitpunkt Änderungen vornehmen wollen, werden wir mit Ihnen einen zusätzlichen Budgetrahmen vereinbaren. Dennoch wenden wir die strikte Änderungsmanagement-Methode nicht für die Entdeckungsphase des folgenden Entwicklungsabschnitts an. Bis die Entdeckungsphase abgeschlossen ist, kann der Umfang des Entwicklungsabschnitts an Ihre Bedürfnisse angepasst werden. Sobald der Entwicklungsabschnitt jedoch in die Entwicklungsphase übergeht, sind keine Änderungen an den Anforderungen mehr zulässig. Alle Änderungen und Erläuterungen (die nicht in der Dokumentation aufgeführt sind) werden erst nach einer zusätzlichen Vereinbarung und der entsprechenden Finanzierung aufgenommen.
  • Die Entwicklungsphase beginnt erst nach der Entdeckungsphase. Unsere Entwickler warten auf eine genaue Schätzung des aktuellen Fortschritts und beginnen dann mit der Arbeit.
  • Der Budgetrahmen wird für jede einzelne Funktionalität festgelegt und kann bei Änderungen der Anforderungen angepasst werden. Mit diesem Modell werden Änderungen zum nächsten Sprint in den Arbeitsbereich aufgenommen.

Wenn ein inkrementeller SDLC nicht möglich ist

Das inkrementelle Modell ist nicht anwendbar, wenn es viele Änderungen im Umfang gibt (alle Änderungen werden dem Änderungsmanagement-System unterzogen, was zusätzliche Vereinbarungen und ein Budget-Genehmigungsprozess mit sich bringt).

Erweiterter Teammodell

Dies ist eine Gemeinsames Modell Dies ist sinnvoll, wenn Sie bereits über einen optimierten Entwicklungsprozess verfügen und Ihr bestehendes Entwicklungsteam um ein paar unserer Fachkräfte erweitern möchten. In diesem Fall integrieren wir uns vollständig in Ihr SDLC und implementieren die von Ihnen vorgeschlagene technische Lösung. Dadurch haben Sie die Flexibilität, die Anforderungen für Ihr Produkt zu definieren. 

Wir nutzen das Augmented-Team-Modell auch für die Unterstützung nach der Veröffentlichung. In diesem Fall ist der gesamte Umfang unbekannt und wird auf Anfrage erstellt.

Einige wichtige Punkte bei der Anwendung dieses Ansatzes:

  • Das Projekt wird von der Seite des Kunden verwaltet.
  • Der Kunde benötigt lediglich eine Team-Erweiterung.
  • Das Yalantis-Team ist vollständig in das Team des Kunden integriert.

Mit dem erweiterten Teammodell wird die Arbeit nach dem Prinzip durchgeführt, dass der Änderungslogbuch gleichzusetzen ist mit dem Backlog. Dies gibt dem Team die Flexibilität, die Anforderungen für das zu entwickelnde Produkt zu erarbeiten und zu ändern. Die Verantwortung für das Change-Management und die Budgetverwaltung in diesem Zusammenhang liegt vollständig beim Kunden.

Wer leitet den Prozess?

Wir stellen einen Projektmanager zur Verfügung, dessen Aufgabe es ist, dass Sie sich wie zu Hause fühlen. Der Projektmanager organisiert die Entwicklungsteams und die Zusammenarbeit zwischen Entwicklern und beschreibt die Aufgaben der Entwickler detailliert. Dadurch können wir den Entwicklungsprozess optimieren und ihn effizient koordinieren, ohne dass Sie sich dafür Zeit nehmen müssen.

Während der Entwicklung stellt das Projektmanagementteam sicher, dass das Projekt in jeder seiner Phasen erfolgreich umgesetzt wird, folgt dem in Bezug auf Zeitpläne, Erreichbarkeitsziele, Budget und Risiken entwickelten Plan und leitet die Kommunikation sowie den täglichen Betrieb.

Ihr Projektmanager ist Ihr Ansprechpartner. Sie müssen sich nicht mit den Details des Entwicklungsprozesses beschäftigen und keine Sorge um die Funktionsweise des Projekts haben.

Lassen Sie uns über andere Rollen sprechen, die neben dem Projektmanager bei der Entwicklung beteiligt sind.

Lesen Sie auch: Projektmanager im App-Entwicklungsprozess

Teamrollen

Der vielschichtige Entwicklungsprozess erfordert ein vielfältiges Team von Spezialisten, um die Qualität des Endprodukts zu gewährleisten. 

Entwicklerteam

Das Entwicklungsteam ist der Kern des Produktentwicklungsprozesses. Es besteht aus Vollzeit- und Teilzeitmitarbeitern und erstellt das Produkt, das von dem Solution-Architect, dem Business-Analyst und dem UI/UX-Designer konzipiert wurde. Das Entwicklungsteam wird von DevOps-Engineers, die dafür verantwortlich sind, die Arbeit des Teams zusammenzuführen.

Die verschiedenen Rollen, die die verschiedenen Spezialisten im Projekt übernehmen:

Lieferungsmanager

Der Liefermanager definiert Entwicklungsprozesse, um sicherzustellen, dass das Ergebnis den Erwartungen und Anforderungen des Kunden entspricht. Seine Aufgaben umfassen: 

  • Auswahl und Einrichtung der effektivsten Liefermethode und Lebenszyklusmodell (Datenlebenszyklusmanagement)
  • die Effektivität der Projektteamstruktur gewährleisten
  • die erfolgreiche Integration der Beratungs- und Lösungsentwicklungstätigkeiten des Unternehmens zu ermöglichen, um die Geschäftsziele des Kunden zu erreichen

Engagement Manager

Der Engagementmanager ist dafür verantwortlich, neue Leads zu gewinnen und diese in Verträge umzuwandeln. Zu seinen Aufgaben gehören: 

  • Erstellung von Anforderungen auf hoher Ebene und Bereitstellung von Unterlagen für technische Teams
  • Bereitstellung von vorläufigen Schätzungen und Erläuterung der Aufgaben und der zu erwartenden Budgets
  • Mitwirken bei Kunden-/Teaminterviews und -gesprächen

Lösungskonstruktoren

Die Aufgaben des Solution Architects bestehen hauptsächlich aus: 

  • Entwurf der architektonischen Vision des Produkts
  • Erstellung und Verteidigung technischer Lösungen für die zugeordnete Geschäftszielsetzung
  • Lösung technischer Probleme

Geschäftsanalyst

Der Business Analyst ist verantwortlich für: 

  • Erhebung der Geschäftsanforderungen
  • Entwurf der Produktvision
  • Erstellung des Produktroadmaps   
  • Verantwortung für eine Fülle von dokumentationsbezogenen Aufgaben

Zu den weiteren Spezialisten gehören: 

  • Kundenservice-Manager — führt geschäftliche Beziehungen zu Kunden auf und löst potenzielle Kommunikationsprobleme
  • Benutzeroberflächen- und -erlebnis-Designer (UI/UX) — bestimmt die Struktur der Benutzeroberfläche und ihre Funktionalität sowie die Ästhetik und das Erscheinungsbild
  • Qualitätskontrollingenieur — verantwortlich dafür, dass die Lösung den geschäftlichen Anforderungen entspricht und frei von Fehlern und Mängeln ist
  • Release-Manager — verantwortlich für die Planung von Freigabewochen und -zyklen für Portfolios und Komponenten sowie für die Verwaltung, Planung und Verhandlung aller Freigabearbeiten
  • Sicherheitsteam — gewährleistet die sichere architektonische Ausrichtung des erstellten Produkts und erkennt Schwachstellen
  • Automatisierter Testingenieur — verantwortlich für die Durchführung von repetitiven und regressiven Tests, die aufgrund häufiger Codeänderungen ständige Iterationen erfordern, um die Tests zu optimieren, die sonst einen großen Teil der Testressourcen beanspruchen würden

Wie wir die Sichtbarkeit der App-Entwicklung gewährleisten

Bei Yalantis gibt es drei Säulen der Sichtbarkeit:

  • Kommunikation. Wir liefern unseren Kunden Ergebnisse, um eine kontinuierliche Kommunikation während des Entwicklungsprozesses sicherzustellen. Eines davon ist ein Kick-off-Meeting, bei dem ein Vertriebsmitarbeiter die Teammitglieder und ihre Aufgaben vorstellt. In diesem Meeting besprechen wir außerdem Projektaufgaben, Erwartungen und Ziele. Neben regelmäßigen Telefonaten können Sie jederzeit eine Telefonkonferenz anfordern, wenn Sie Fragen zum Projekt haben oder kleinere Änderungen vornehmen möchten. 
  • Verfolgung des Fortschritts. Ihr Projektmanager wird unseren Fortschritt in einem Projektplan detailliert dokumentieren. Dank dieses Dokuments können Sie jederzeit wissen, welche möglichen Risiken die Entwicklung behindern könnten, wie diese Risiken beseitigt werden können, welche Teile des Projekts bereits fertiggestellt sind und welche Funktionen noch zu entwickeln sind. In der Regel senden wir Ihnen das Projektplanend eines jeden Sprintes zu, Sie können es jedoch jederzeit anfordern. 
  • Voller Zugriff. Wir stellen Ihnen Zugriff auf die Tools zur Verfügung, die wir verwenden, wie beispielsweise Jira, Confluence und Google Drive sowie alle anderen spezifischen Tools, die für das Projekt erforderlich sind. Sie können jederzeit über mehrere Kommunikationskanäle mit unseren Entwicklern sprechen.

Das Ziel unserer App-Entwicklungsmethoden ist es, durch die Bereitstellung qualitativ hochwertiger Dienstleistungen unseren Kunden ein großartiges Produkt zu liefern. Dank unserer SDLCs können wir Transparenz hinsichtlich der Entwicklung, vorhersehbare Lieferzeiten und sehr strukturierte Prozesse gewährleisten. All dies sind wesentliche Bestandteile einer qualitativ hochwertigen technischen Lösung.

Sind Sie bereit, mit uns zusammenzuarbeiten?

Wir verfügen über die notwendigen Fähigkeiten, um eine effektive Lösung für Ihre Geschäftsanforderungen zu entwickeln.

Kontakt

Über den Autor

Foto von Den Rudenko

Geschäftsführer

Den ist Geschäftsführer von Yalantis und leitet dort die strategische Portfolioentwicklung in Bereichen wie IoT, KI/ML und Unternehmensdaten. Er verfügt über einen MBA, einen PhD und eine PMP-Zertifizierung und teilt seine Erfahrungen mit dem Thema Skalierung von IT-Operationen und dem nachhaltigen Wachstum von Technologieunternehmen.