Zum Inhalt springen

Cookies ūüć™

Cookies helfen uns, Ihnen als Nutzer in Zukunft bessere Informationen und eine verbesserte Benutzererfahrung zu bieten. Details

Projektanfrage

Sprechen wir ganz unverbindlich √ľber Ihr Projekt.

Oder nutzen Sie unser Kontaktformular

Individuelle Software, Plattformen oder WebApps

Von der Idee zur erfolgreichen Softwarelösung

Die richtige Herangehensweise ist entscheidend f√ľr den Erfolg. So bereiten Sie den Projektstart optimal vor.

Bessere Ergebnisse
Geringere Time-to-Market
Geringere Entwicklungskosten

Egal, ob es sich um eine mobile App handelt oder um ein komplexes Backend-System f√ľr ein Gro√üunternehmen ‚Äď der Start eines Softwareprojekts ist ein entscheidender Moment, der den weiteren Verlauf ma√ügeblich beeinflusst.

‚ÄěVon der Idee zur erfolgreichen Softwarel√∂sung‚Äú klingt vielleicht einfach, ist aber ein Prozess, der fundierte Kenntnisse, Planung und Engagement erfordert.

In diesem Artikel erl√§utern wir, wie man sich der Aufgabe stellt und welche Herangehensweise entscheidend f√ľr den Erfolg eines Projekts ist.

Entdecken Sie, wie Sie den Projektstart optimal vorbereiten k√∂nnen, um den Grundstein f√ľr eine gelungene Softwareentwicklung zu legen.

Die Dokumentation

m Entwicklern die M√∂glichkeit zu geben, sich mit der Projektidee vertraut zu machen, ist eine Projektbeschreibung oder Anforderungsdokumentation erforderlich. Fr√ľher wurden daf√ľr umfangreiche Lastenhefte erstellt, was allein schon sehr zeitaufwendig war. In der modernen Softwareentwicklung werden jedoch neue Methoden angewendet. Wir setzen auf agile Entwicklung. Das bedeutet, dass wir mit einer groben Projektbeschreibung beginnen und uns durch inkrementelle Schritte dem gew√ľnschten Ergebnis ann√§hern.

Dies bietet den gro√üen Vorteil, dass die Entwicklung in enger Abstimmung mit dem Kunden erfolgt und die Teilergebnisse sofort auf ihre Brauchbarkeit gepr√ľft werden k√∂nnen. Der Fokus liegt darauf, neue Erkenntnisse (Anforderungen) unmittelbar in den Entwicklungsprozess einzubeziehen, um agil zu sein.

Was gehört in eine Projektbeschreibung?

Die Projektbeschreibung sollte einen groben √úberblick geben, was entwickelt werden soll. Ein Beispiel:

"Ziel des Projekts ist eine Webapp mit Marktplatzfunktion √ľber die wir K√§ufer und Verk√§ufer zusammenbringen k√∂nnen. Durch Filterfunktionen k√∂nnen beide Gruppen nach geeigneten Inseraten suchen und sich dann kontaktieren. Die Webapp soll insbesondere f√ľr Tablets optimiert sein und die Tablet-Kamera nutzen k√∂nnen um bei der Erstellung von neuen Inseraten direkt Fotos aufzunehmen."

Aus dieser Beschreibung können wir diverse Punke herauslesen:

  • Es handelt sich um einen Online-Marktplatz

  • Die Mobiloptimierung ist von Bedeutung

  • Eine PWA k√∂nnte geeignet sein, zumindest m√ľssen die Ger√§tefunktionen (Kamera) angesprochen werden

Mögliche Nachfragen von unserer Seite können hierzu sein:

  • Soll die Webapp auch Funktionen zur Abwicklung von Transaktionen oder zur Kommunikation zwischen K√§ufern und Verk√§ufern enthalten?

  • Gibt es bereits Designvorstellungen oder UI/UX-Anforderungen f√ľr die Webapp?

  • Welche spezifischen Filterfunktionen sollen implementiert werden, um K√§ufern und Verk√§ufern die Suche nach Inseraten zu erleichtern?

Userstories: Das Kernst√ľck des Projektplans

Um den Projektplan weiter zu konkretisieren, erstellen wir als nächstes Userstories, die die Anforderungen aus der Perspektive des Nutzers detailliert beschreiben und in kleinere, handhabbare Aufgaben unterteilen.

Was ist eine Userstory?

Eine Userstory ist eine kurze, pr√§gnante Beschreibung einer Funktion aus der Perspektive (Rolle, Szenario) des Benutzers. Sie beschreibt, was der Benutzer tun m√∂chte und warum. User Stories werden in der agilen Softwareentwicklung verwendet, um Anforderungen zu sammeln und das Entwicklerteam dar√ľber zu informieren, wie sich die App verhalten soll.

Beispiele f√ľr Userstories:

  • Als Benutzer m√∂chte ich in der Lage sein, mich mit meinem Benutzernamen und Passwort anzumelden, um auf meine Kontoinformationen zugreifen zu k√∂nnen.

  • Als Administrator m√∂chte ich in der Lage sein, Benachrichtigungen an Benutzer zu senden, um wichtige Informationen weiterzugeben.

Projektbeschreibung mit Userstories

Userstories bilden das Kernelement der Projektbeschreibung. Durch sie k√∂nnen die gew√ľnschten Funktionen der Webapp oder der Softwarel√∂sung leicht und in nat√ľrlicher Sprache beschrieben werden. Diese Form der Dokumentation ist leicht verst√§ndlich, einfach zu erstellen und liefert ausreichend Informationen zur Erstellung von Kostenabsch√§tzungen und Zeitpl√§nen.

F√ľr unser Marktplatz-Beispiel k√∂nnten die Userstories so lauten:

  1. Als Käufer möchte ich auf der Webapp nach Inseraten filtern können, um Produkte nach meinen spezifischen Anforderungen zu finden.

  2. Als Verkäufer möchte ich Inserate erstellen können, die relevante Informationen enthalten und mit Fotos von meinem Tablet aufgenommen werden können.

  3. Als K√§ufer m√∂chte ich die M√∂glichkeit haben, Verk√§ufer √ľber die Webapp zu kontaktieren, um weitere Informationen zu einem Inserat zu erhalten oder einen Kauf abzuschlie√üen.

  4. Als Käufer möchte ich die Option haben, Inserate basierend auf verschiedenen Kriterien wie Preis, Standort oder Produktkategorie zu sortieren.

  5. Als Verkäufer möchte ich Benachrichtigungen erhalten, wenn ein Käufer Interesse an meinem Inserat zeigt oder mich kontaktiert.

  6. Als Käufer möchte ich eine Vorschau der Inserate sehen können, um schnell zu entscheiden, ob sie meinen Anforderungen entsprechen.

  7. Als Administrator m√∂chte ich ein benutzerfreundliches Dashboard haben, das mir einen √úberblick √ľber alle laufenden Inserate, Benutzeraktivit√§ten und wichtige Statistiken bietet, um die Performance der Plattform zu √ľberwachen und zu analysieren.

  8. Als Administrator m√∂chte ich die M√∂glichkeit haben, Benutzerkonten zu verwalten, einschlie√ülich der M√∂glichkeit, neue Benutzer zu genehmigen, verd√§chtige Aktivit√§ten zu √ľberpr√ľfen und bei Bedarf Benutzer zu sperren oder zu l√∂schen, um die Sicherheit und Integrit√§t der Plattform zu gew√§hrleisten.

  9. Als Administrator möchte ich ein effektives Support-Ticket-System implementieren, das es den Benutzern ermöglicht, bei Problemen oder Fragen Hilfe zu erhalten, und es mir ermöglicht, diese Tickets zu verfolgen, zu priorisieren und angemessen zu bearbeiten, um eine positive Benutzererfahrung sicherzustellen und Probleme schnell zu lösen.

Nachdem die User Stories erstellt wurden, ist es wichtig, sie zu priorisieren, um den Fokus auf die wichtigsten Funktionen zu legen und den Projektverlauf effizient zu gestalten. Die Priorisierung ermöglicht es, die Kernfunktionen zu identifizieren und festzulegen, welche Elemente zuerst umgesetzt werden sollen.

Die Kernfunktionen aussuchen

Sobald wir uns mit Hilfe der Userstories klar √ľber die Anforderungen werden, sollten die Kernfunktionen f√ľr den MVP identifiziert werden. Der MVP, das Minimum Viable Product, ist die Basisversion der Software, die alle wesentlichen Funktionen und Merkmale enth√§lt, die f√ľr die L√∂sung des Problems der Benutzer unbedingt erforderlich sind.

Wenn es mal schwierig ist, die Grenze zu ziehen ...

Dann hilft es, die Features die man sich w√ľnscht, in 4 Kategorien zu unterteilen:

  • Must have

  • Should have

  • Could have

  • Won't have

Diese Art der Unterteilung nennt man MoSCoW-Priorisierung. Im besten Fall, besteht der MVP nur aus den Must-haves und verzichtet weitestgehend auf die Should's und Could's.

In unserem Beispiel könnte ein MVP folgende Funktionen beinhalten:

  1. Benutzerregistrierung und -anmeldung: Die M√∂glichkeit f√ľr Benutzer, sich auf der Plattform zu registrieren und sich anschlie√üend anzumelden, um auf die Funktionen zuzugreifen.

  2. Inserat erstellen: Die Funktion f√ľr Verk√§ufer, neue Inserate zu erstellen, einschlie√ülich der M√∂glichkeit, relevante Informationen und Fotos hinzuzuf√ľgen.

  3. Inserate durchsuchen und filtern: Die M√∂glichkeit f√ľr K√§ufer, durch vorhandene Inserate zu bl√§ttern und sie nach verschiedenen Kriterien wie Kategorie, Preis oder Standort zu filtern.

  4. Kontakt zwischen K√§ufer und Verk√§ufer: Eine M√∂glichkeit f√ľr Benutzer, miteinander in Kontakt zu treten, um weitere Informationen zu einem Inserat auszutauschen oder einen Kauf abzuschlie√üen.

  5. Grundlegende Administrationsfunktionen: Ein einfach zu bedienendes Administrationsdashboard, das es dem Administrator erm√∂glicht, Benutzerkonten zu verwalten, Inserate zu √ľberwachen und grundlegende Analysen durchzuf√ľhren.

  6. Tablet-optimierte Benutzeroberfl√§che: Eine Benutzeroberfl√§che, die speziell f√ľr die Nutzung auf Tablets optimiert ist und es den Benutzern erm√∂glicht, die Plattform auf ihren mobilen Ger√§ten einfach zu verwenden, einschlie√ülich der M√∂glichkeit, Fotos mit der Tablet-Kamera aufzunehmen und hochzuladen.

Identifikation von Funktionen f√ľr nachfolgende Versionen

Sobald die Kernfunktionen f√ľr den MVP identifiziert wurden, m√ľssen die Funktionen f√ľr nachfolgende Versionen identifiziert werden. Diese Funktionen k√∂nnen nach und nach hinzugef√ľgt werden, um die Softwarel√∂sung zu verbessern und weitere Bed√ľrfnisse der Benutzer zu erf√ľllen.

Entwicklung des MVPs

Sobald die Anforderungsdokumentation und die Userstories erstellt wurden, kann mit der Entwicklung des MVPs begonnen werden. Hierbei werden die Kernfunktionen umgesetzt, um die Basisversion der Softwarelösung zu erstellen.

FAQ

Wir setzen auf transparente Kommunikation und verwenden Tools wie Slack, Trello oder Jira, um den Fortschritt des Projekts nachzuverfolgen und regelmäßige Updates bereitzustellen. Bei längeren Projekten setzen wir außerdem auf regelmäßige Jours fixes um im Dialog zu bleiben.

Projektmanagement stellt sicher, dass Softwareprojekte effizient und effektiv ablaufen. Es hilft, Risiken zu minimieren, Ressourcen optimal zu nutzen, den Projektfortschritt zu √ľberwachen und sicherzustellen, dass die Endprodukte den Anforderungen der Stakeholder entsprechen.

Das Projektmanagement bezieht sich auf die Planung, Überwachung und Kontrolle von Softwareprojekten. Es umfasst die Koordination von Teams, Ressourcen und Zeitplänen, um sicherzustellen, dass die Software innerhalb des festgelegten Budgets und Zeitrahmens qualitativ hochwertig geliefert wird.

Agile Softwareentwicklung ist ein Ansatz, bei dem die Entwicklung in kurzen Zyklen (Sprints) erfolgt, wobei ständig Feedback von den Stakeholdern eingeholt wird, um Anpassungen während des gesamten Projekts vorzunehmen. Wir nutzen Teile von "agile" ebenfalls, weil sich das System bewährt hat.

Eine WebApp ist eine Softwareanwendung, die √ľber einen Webbrowser ausgef√ľhrt wird und nicht installiert werden muss.

Im Gegensatz dazu sind native Apps speziell f√ľr Betriebssysteme wie Android oder iOS entwickelt und m√ľssen aus dem Google Play Store oder Apple App Store heruntergeladen und installiert werden.

WebApps sind plattformunabh√§ngig und √ľber jedes Ger√§t mit einem Webbrowser zug√§nglich. Eine spezielle Form von WebApps sind die Progressive Web Apps (PWAs). Sie unterst√ľtzen nahezu alle Ger√§tefunktionen (Kamera, Bewegungssensor, TouchId, etc.) und k√∂nnen auch Push-Benachrichtigungen senden k√∂nnen.

Die Mindestkosten f√ľr individuelle Webapps liegen in der Regel zwischen 15.000 und 5.000 Euro. Jedoch variieren diese Kosten stark, je nach Umfang und Komplexit√§t der Features.

Vor Beginn der Entwicklung erstellen wir eine genaue Aufwandsberechnung um bestmögliche Planbarkeit zu bieten.

Sie k√∂nnen sich mit unserem Kostenrechner f√ľr Webapps eine ungef√§hre Preisrahmen f√ľr Ihr Projekt erstellen.

Kleine Laravel Projekte (z.B. bis 100 User) k√∂nnen bereits auf sehr kleinen und kosteng√ľnstigen Webservern betrieben werden. In der Regel kann ein solcher Server (auch genannt "Bucket") bereits f√ľr weniger als 20‚ā¨ netto pro Monat gebucht werden.

Nat√ľrlich k√∂nnen diese Kosten steigen wenn das Projekt besondere Anforderungen an die Hardware stellt. Hier beraten wir gerne im konkreten Fall und geben entsprechende Empfehlungen ab.

Bereit zu starten?

Sie benötigen individuelle Software um Ihre Prozesse zu beschleunigen oder Ihr Unternehmen zu digitalisieren? Dann sollten wir miteinander sprechen.

Termin vereinbaren Zum Kontaktformular