Zum Inhalt springen

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 und die Planung eines Softwareprojekts ist ein entscheidender Moment, der den weiteren Verlauf maßgeblich beeinflusst.

„Von der Idee zur erfolgreichen Softwarelösung“ klingt 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.

Checkliste zur Projektplanung
Erhalten Sie unsere kostenlose Checkliste zur Projektplanung via Email.
This field is required
This field is required
Mit dem Ausfüllen dieses Formulars erklären Sie sich mit unserer Datenschutzrichtlinie einverstanden.
Das Dokument wird in Kürze in Ihrem Posteingang eintreffen!

Übersicht

Wie baut man eine Software auf?

  1. Projektbeschreibung aufstellen: Beschreiben Sie in kurzen Sätzen was das fertige Produkt leisten soll. Beginnen Sie mit einer groben, allgemeinen Beschreibung und werden Sie dann konkreter.

  2. Mittels Userstories die gewünschten Funktionen beschreiben.

  3. Vergeben Sie für jede Funktion eine Priorität, z.B. mit der MoSCoW-Priorisierung.

  4. Suchen Sie einen geeigneten Entwicklungspartner und lassen Sie sich beraten.

  5. Beginnen Sie mit der Umsetzung des Projekts 🚀

Die Dokumentation

Um 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.

Das Grobkonzept

Im Grobkonzept betrachten wir die neue Software aus der Vogelperspektive und versuchen uns einen Überblick zu verschaffen. Versuchen Sie alle für Sie selbstverständlichen (impliziten) Punkte, explizit aufzuführen um Sie den Entwicklern bekannt zu machen. Stellen Sie sich diese Fragen:

  • Wer sind die Nutzer?

    • Nur Sie selbst?

    • Ihre Mitarbeiter (ausschließlich interne Verwendung)

    • Ihre Kunden (öffentliche Verwendung/Vermarktung)

  • Wie soll die Software zukünftig genutzt werden?

    • Nur via Smartphone/Tablet (eine App)

    • Sowohl als auch: Smartphone/Tablet und Laptop/Desktop

    • Offline, d.h. ohne Internetverbindung bzw. Unterbrechungen müssen mölich sein

  • Wird die Kompatibilität mit bestimmten Betriebssystemen oder Hardware (z.B. Etikettendruckern) benötigt?

  • Müssen externe Systeme (APIs) angebunden werden?

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 kann ein Entwickler 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 des Entwicklers 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?

Missverständnisse vermeiden

Als Auftraggeber haben Sie vermutlich eine klare Vorstellung vom Funktionsumfang und dem gewünschten Aussehen Ihrer neuen Lösung. Die Herausforderung besteht nun darin, diese Vision dem Entwicklungsteam möglichst präzise und ohne Missverständnisse zu vermitteln. Um dieses Ziel zu erreichen, sind Userstories und detaillierte Beschreibungen ein bewährtes Mittel. Diese Dokumente unterstützen Sie auch bei der Auswahl des geeigneten Entwicklers: Durch die Vorlage der Dokumentation erhalten Sie qualifiziertere Angebote.

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 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.

Was braucht es für einen Projektstart?

Wir beginnen neue Projekte mit einem Kickoff-Meeting, in dem wir alle Projektaspekte erneut besprechen: das Ziel, die Meilensteine und die Definition des MVP, die technischen Anforderungen sowie die Zeitplanung.

Im Rahmen des Kickoff-Meetings richten wir außerdem die Kommunikationskanäle (wie Slack, Microsoft Teams, RocketChat, etc.) ein und planen das nächste Jour Fixe.

Spätestens jetzt sollten also alle Fragen geklärt sein und jeder wissen, was als nächstes passiert.

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