Vor kurzem habe ich in der Discord Community die folgende Frage gestellt bekommen. Und die Antwort war ganz einfach: ein MVP – Minimum Viable Product.
Aber was ist ein MVP eigentlich und warum hilft das hier? Genau darum soll es heute gehen.
Das Problem
Oft ist es schwierig, zu wissen, wo man mit seinem Projekt anfangen soll. Du hast eine Idee und die Liste der Funktionen wird immer länger. Am besten brauchst du für jedes Feature eine eigene Bibliothek.
Also ran ans lernen. Zuerst Webscraping. Dann fiona, dann Pandas und wer weiß, was sonst noch. Bis du alles gelernt hast ziehen Wochen ins Land und an deinem Projekt hast du noch keine Zeile Code geschrieben.
Was ist ein MVP?
Das Kürzel MVP steht für Minimum Viable Product. Also das minimal brauchbare Produkt. Das absolute Minimum, damit deine Anwendung überhaupt einen Mehrwert und eine Daseinsberechtigung hat. Mit dem MVP lässt sich schnell und kostengünstig Feedback von potenziellen Kunden einholen.
Mit schnellem und kostengünstigen Feedback, kannst du auch schnell feststellen, ob deine Idee überhaupt Interesse weckt. Du vermeidest also Fehlentwicklungen oder langwierige Entwicklung, die am Markt vorbeigeht.
Bei einem MVP geht es noch nicht einmal zwingend darum, dem Kunden direkt etwas verkaufen zu können. Es muss nur genug Funktionalität bereitstehen, dass der Kunde einen Eindruck bekommt. Wir wollen Feedback, was unnötig ist, was fehlt und ob Interesse besteht.
Wie man MVPs erstellt
In der Regel fängst du eine Entwicklung ja nicht aus heiterem Himmel an. Du hast eine Idee, sie geht dir durch den Kopf, du sammelst gefühlte 100 Millionen Funktionen, die du gerne einbauen würdest… Wie es halt immer ist 😉
Aber wie erstellst du jetzt einen MVP?
Setz dich hin und priorisiere die Funktionen.
- Was ist der Kern deiner Anwendung?
- Welches Problem soll sie lösen?
- Was ist die wichtigste Funktion, die du dafür benötigst?
So gehst du deine Liste durch und sortierst, bzw. priorisierst die Funktionen.
Hast du das erledigt, musst du nur noch irgendwo einen Schlussstrich ziehen. Wo der ist, kann ich dir leider nicht sagen. Das hängt von deiner Anwendung ab und was das “Minimum” ist. Es muss so viel sein, dass ein potenzieller Kunde einen Eindruck bekommt. Es muss aber noch keine nutzbare Lösung für ihn sein.
Die Lösung: Konzentration auf das Wesentliche
Nachdem du diese kleine Übung absolviert hast, kennst du den Umfang und die Funktionen deiner Anwendung. Das hilft dir auf jeden Fall schonmal dabei, dich nicht in deiner eigenen Anwendung zu verlieren.
Feature Creep ist hier ein Buzzword, dass mir sofort in den Sinn kommt. Kunden sind großartig darin. Und bei deiner eigenen Anwendung bist du erstmal dein Kunde!
“Wär es nicht schön, noch diese eine Funktion….” → NEIN
Du hast deinen Umfang festgesetzt, arbeite den ab, hol dir Feedback, mach weiter.
Aber was ist jetzt mit den ganzen Bibliotheken? Die haben wir noch gar nicht angesprochen!
Indirekt schon. Durch die Auswahl der kritischsten Funktionen hat sich wahrscheinlich auch schon deine Auswahl an Bibliotheken eingeschränkt. Und jetzt musst du mit jeder Bibliothek wieder genau so verfahren, wie du es mit deinem MVP gemacht hast.
Allein Pandas hat gefühlte 5.000 Funktionen und kann 80 verschiedene Dateitypen einlesen. Deine Anwendung muss Excel Daten einlesen und Standardabweichungen berechnen? Dann schau dir an, wie du mit Pandas Excel Daten einliest und Standardabweichungen berechnest.
Keiner zwingt dich sofort die ganze Pandas-Bibliothek auswendig zu lernen!
Entwickle so lange, bis du auf ein Problem stößt. Dann suchst du genau für das Problem die Lösung. Die minimale Lösung, die dich weiter bringt. Und dann machst du weiter, bis du auf das nächste Problem stößt.
Fazit
Viel zitiert und wenig verstanden ist das KISS-Prinzip.
Die Frage eingangs war: “Wie viel muss ich lernen, bis ich starten kann und wie viel ist zu viel und hält mich auf?”
Die Antwort ist betörend einfach: “Nur so viel, bis du starten kannst und nur so viel, bis du dein Problem lösen kannst.”
So einfach die Antwort auch klingt, so schwer ist es doch zu folgen. Ich sehe es immer wieder in Projekten und auch ich selbst verrenne mich gerne in all den tollen Ideen.
Du musst es dir immer wieder ins Gedächtnis rufen und dich selbst bremsen. Das ist der beste Weg, wirklich voranzukommen.
Ich hoffe, ich konnte die Frage gut beantworten und dir einen Mehrwert liefern.
Wenn du auch Fragen hast, dann komm in die Discord Community und tob dich aus! Hier ist jeder willkommen und keine Frage zu doof!
Du hast den Newsletter noch nicht abonniert?!
Na dann aber mal schnell! Du willst doch nichts verpassen, oder?
Ingo Janssen ist ein Softwareentwickler mit über 10 Jahren Erfahrung in der Leitung seines eigenen Unternehmens.
Er studierte Wirtschaftsinformatik an der TH Deggendorf und hat Softwareentwicklung an der FOM Hochschule in München unterrichtet.
Ingo hat mit einer Vielzahl von Unternehmen zusammengearbeitet, von kleinen und mittelständischen Unternehmen bis hin zu MDAX- und DAX-gelisteten Unternehmen.
Ingo ist leidenschaftlich daran interessiert, sein Wissen und seine Expertise mit anderen zu teilen. Aus diesem Grund betreibt er einen YouTube-Kanal mit Programmier-Tutorials und eine Discord-Community, in der Entwickler miteinander in Kontakt treten und voneinander lernen können.
Sie können Ingo auch auf LinkedIn, Xing und Gulp finden, wo er Updates über seine Arbeit teilt und Einblicke in die Tech-Branche gibt.
YouTube | Discord | LinkedIn | Xing | Gulp Profile