An die App-Programmier - eure Erfahrungen, Probleme, gescheiterten Projekte...

Y

yardo

Mitglied
Thread Starter
Dabei seit
19.03.2016
Beiträge
97
Reaktionspunkte
4
Hi,

also ich selbst bin gerade dabei mich in Swift einzuarbeiten und schreibe auch gerade meine Abschlussarbeit über eine App, welche ich Swift programmieren wollte. (Man glaubt garnicht, was man alles so lernt und was nie einem in einer Vorlesung gesagt wurde.) Ich bin jetzt momentan zwar nicht so weit gekommen, wie ich das vorhatte, aber solange ich das erklären kann, wird das schon passen.

Und hier komme ich zu meinem Problem: Wie kann ich es beschreiben, erklären?

Ich habe auch einmal meine App beschrieben und dann auch auf Dienste wie Crashlytics (Reporting von Crashs) und OneSkyApp (seine App internationaler halten) verwiesen. Dienste, an welche ich an anfangs nicht dachte. Auch nahm ich früher an, ich würde die Apple-APIs auch als Anfänger checken und würde zu mindestens Version 1 anbieten können (welche nichts anderes sein sollte, als eine Kopie der bereits vorhandenen Apple-App). Erst weitere Versionen sollten dann meine Ideen beinhalten. Ich habe auch erst deutlich später wahrgenommen, welche Sachen drumherum noch anfallen, damit man diese "einfache" App Code kann.

Aber wie ich gerade schrieb - Version 1 ist weit, weit nach hinten gerutscht. Ich habe mir nun eine Roadmap für die App erstellt und frage mich nun, ob ich es vom Verständnis richtig eingeordnet habe.

Bis Version 1.0 habe ich die App in drei Meilensteine aufgeteilt, wo ich ihre Entwicklung zum Clone "plane". Version 1.1 soll dann so etwas wie Stabilitätsupdates, Bugbeseitigung, etc. beinhalten. Auf dem Weg zur Version 2.0 habe ich nur kleine Updates eingeplant, so etwas wie Internationalisierung der App oder Integration kleinerer Sachen. Version 2.0 soll wieder ein größeres Update beinhalten und die App um paar neue Eigenschaften erweitern. Und so geht es weiter.

Ist das im groben eine gute Art und Weise die App in Versionen aufzuteilen?

Welche Dienste empfiehlt ihr noch, die man für seine App nutzen sollte - neben den oben genannten?
(Mir fällt gerade noch Github ein; das wird auch sicherlich in die App integriert werden müssen, oder?). Meine App soll ohne Werbung laufen, somit entfallen schon mal diese Dienste.

Gerne würde ich im groben aus eurer Erfahrung profitieren und würde mich sehr freuen, wenn ihr Tipps hättet, wie ich dieses Scheitern etwas besser verkaufen kann. Das nagt ehrlich gesagt irgendwie an mir. Ich weiß, ich habe die App zu "großzügig" geplant und hätte deutlich langsamer das ganze betrachten, aber okay, das Kind ist schon im Brunnen...

Welche Verzögerungen können bei meiner "Entwicklung" entstehen und wie kann ich diese besser in der Arbeit darstellen?

Wie betrachtet ihr die Möglichkeit, eine App auch auf dem Mac oder dem iPad anzubieten. Ich würde dies erst dann z.B. anbieten wollen, wenn alle gewünschten Optionen vorhanden sind, aber ist das richtig? Bei der Mac-App möglicherweise, aber iPad?

Eine Frage habe ich noch zum Schluss: Welches Tool empfiehlt ihr mir, damit ich so ein Ablauf-Diagramm (sprich die App und ihre Fähigkeiten darstellen) erstellen kann. Ich dachte jetzt an Abbildungen von iPhones, welche jeden Screen darstellen/erklären, aber möglicherweise habt ihr da besseres für mich?

Vielen Dank fürs lesen und helfen.

Grüße
Yardo
 
Ich hab das Gefühl du hast ein paar Software Engineering Vorlesungen geschwänzt?

> Welche Dienste empfiehlt ihr noch, die man für seine App nutzen sollte - neben den oben genannten?
Das kommt komplett, vollständig und einzig darauf an, was deine App eigentlich machen soll.
 
Im Gegenteil. Ich glaube der Kollege hat ein paar Vorlesungen zu viel besucht und ist der Planung verfallen.
Viele glauben ja heute, dass man alles plant. Storyboards, User Experience mit Diagrammen und so weiter.
Dann kauft man sich 5 billige Entwickler die das alles einfach nach Schema F runterschreiben.

Und das geht eben nicht.

Man baut sich eine zentrale Umgebung für sein Projekt, in der der Code und die Doku lebt.
Mit git, irgendeinem Dokument Management für Datei Uploads.
Dann legt man los und baut einen Prototyp.

Erst dann wird klar, was am meisten Zeit braucht und was man alles nicht bedacht hat und welche Komponenten oder externe Tools man braucht.
Dann teilt man das ganze in Problembereiche, gibt diese ein paar fähigen Leuten und schaut welche Funktionen gut sind und sich lohnen.
Den Rest wirft man so schnell wie möglich weg um Zeit zu sparen.

Wichtig ist, dass man mit irgendwas FERTIG wird.
Nicht immer wieder diese endlosen Planungszyklen wenn man meint die Richtung ändern zu müssen.

Was man dazu braucht hängt auch sehr stark von den Leuten ab die die App umsetzen.
Es gibt immer Präferenzen bei Tools und Programmiersprachen.
 
Ich bin jetzt momentan zwar nicht so weit gekommen, wie ich das vorhatte, aber solange ich das erklären kann, wird das schon passen.
Damit hast du schon etwas vom wichtigsten überhaupt gelernt ;)
(ausser du bist selbständig, dann hast du niemanden, dem du was erklären kannst...)

Ist das im groben eine gute Art und Weise die App in Versionen aufzuteilen?
In der Realität würde ich einfach mal Version 1.0 veröffentlichen und dann schauen, was die Kunden meinen und wollen. Und ob es überhaupt Kunden gibt.

Mir fällt gerade noch Github ein; das wird auch sicherlich in die App integriert werden müssen, oder?
Nein, GitHub ist eigentlich nur für die Entwickler bzw. für den Quellcode. Das gehört nicht in die App selbst rein (in der Regel).

Gerne würde ich im groben aus eurer Erfahrung profitieren und würde mich sehr freuen, wenn ihr Tipps hättet, wie ich dieses Scheitern etwas besser verkaufen kann. Das nagt ehrlich gesagt irgendwie an mir.

Naja, ehrlich gesagt hast du hier einfach eines der zentralen Probleme der Software Entwicklung überhaupt "entdeckt" für dich. Es geht immer länger als mal geplant hat. Selbst wenn man einplant, dass es länger geht... ;) Das ist kein Grund zur "Trauer" oder Panik, diese Erkenntnis kommt jedem Software-Entwickler früher oder später. Dir ist sie früh gekommen, das ist nur gut für dich. No problem.

Eine Frage habe ich noch zum Schluss: Welches Tool empfiehlt ihr mir, damit ich so ein Ablauf-Diagramm (sprich die App und ihre Fähigkeiten darstellen) erstellen kann. Ich dachte jetzt an Abbildungen von iPhones, welche jeden Screen darstellen/erklären, aber möglicherweise habt ihr da besseres für mich?
z.B.
https://www.omnigroup.com/omnigraffle/
https://support.omnigroup.com/sales-educational-pricing/

Ansonsten siehe auch die Posts meiner Vorredner... :)
 
Hi,

danke erst einmal.

Vorab: Nein, ich habe nichts geschwänzt. Der Lehrplan sah das so vor und man hat mit uns nur in VB gelernt und etwas PHP/SQL gezeigt. Vieles, worauf ich gerade bei dem Projekt gekommen wird, war mir davor unklar und wurde auch nicht erklärt, aber das ist nicht wirklich das Problem. Ich denke, ich habe davon mehr profitiert, als in der Vorlesung. Man lernt halt mehr, wenn man selbst aktiv sich mit der Materie beschäftigt. Die App / das Produkt ist auch mehr Theorie (wobei ich durchaus schon etwas in der "Hand" habe).

Auch möchte ich etwas dem "zuviel Planung" widersprechen. Es gab Anforderungen, was in der Arbeit vorhanden sein muss und dazu gehört auch ein Ablaufdiagramm ;) Ich selbst würde so etwas nicht machen, da sich die App oft ändert, während man an ihr sitzt und programmiert...
Aber naja - die Gedanken müssen nun mal auch in Text verfasst werden.

FERTIG werden - ja, das ist mein großes Problem geworden. Ich habe zu großzügig geplant. Wird nicht noch mal vorkommen ;)
Aber es gibt durchaus paar Punkte, welche ich selbst nächstes mal besser beachten werde.

Aber gerne dürft ihr mir hier mehr berichten ... ich freu mich!
 
Im Gegenteil. Ich glaube der Kollege hat ein paar Vorlesungen zu viel besucht und ist der Planung verfallen.

Erlebe ich immer wieder in der Realität.

Natürlich Bedarf es vor der Entwicklung einer gewissen Planung / Lattenaufstellung etc... natürlich bedarf es an einem Projektablaufplan. natürlich einer Dokumentation.Aber inzwischen - so habe ich das Gefühl - gibt es vor dem Projekt, während und nach dem Projekt so viel theoretischer "Müll" - abartig. Da erfinden hunderte Leute irgendwelche Methodiken, welche heute "in" sind und morgen dann durch die nächste abgelöst wird....

Frage mich, wie haben wir es geschafft vor 10 - 15 Jahren große Projekte ohne das alles zu stemmen?

Gerade beim letzten Projekt... ein Team von 11 (!) Leuten... 9 Leute waren für die "Verwaltung" mit all seinen Methodiken zuständig und haben das Projekt torgeplant - und 2 Programmierer, die wirklich effektiv gearbeitet haben. Abartig. Als nach 2 Jahren dann ich als Externer hinzu gekommen bin, hatten die in den 2 Jahren einen Codeumfang erzeugt, den ich alleine in 4 Wochen schreibe... abartig.

Aber das ist ja nicht nur im Development Bereich so... überall wird nur noch geplant, gezeichnet, hunderte Excel Sheets mit hunderten Auswertungen und Analysen.... mit hunderten von Mitarbeitern die sich gegenseitig kontrollieren, auswerten und analysieren... und einer davon macht dann die reale produktive Arbeit.

Ich hätte gar nicht die Zeit dazu.
Wir / ich verdienen Geld mit Codezeilen und fertigen Programmen und nicht durch hübsche Diagramme.... :D
 
Aber das ist ja nicht nur im Development Bereich so... überall wird nur noch geplant, gezeichnet, hunderte Excel Sheets mit hunderten Auswertungen und Analysen.... mit hunderten von Mitarbeitern die sich gegenseitig kontrollieren, auswerten und analysieren... und einer davon macht dann die reale produktive Arbeit.
Irgendwo müssen die unfähigen Leute ja beschäftigt werden, was eignet sich da besser, als ein grosser Verwaltungs-Wasserkopf? ;)
 
Irgendwo müssen die unfähigen Leute ja beschäftigt werden, was eignet sich da besser, als ein grosser Verwaltungs-Wasserkopf? ;)

weil ITler ja so Praxisorientiert sind .... :rolleyes:
"wie, der Kunde muss später noch mit der Software arbeiten - wo wir doch so tolle Algorithmen entwickelt haben ..." Für mich sind das oftmals Autisten die nichts zwischen ihrer Nase und dem Bildschirm finden.

zum Thema:

Ich würde auf keinen Fall mal ne App bauen und dann den Kunden zum Fraß vorwerfen.
So ein Kunde ist da oft sensible und verzeit die üblichen Anfängerfehler ehr nicht.

Es gibt Tools mit denen Du die App zunächst einem geschlossenen Testkreis zur Verfügung stellen kannst.
Wenn da dann ein paar erfahrene Jungs drunter sind können die dir da schon ganz gutes Feedback geben.
 
weil ITler ja so Praxisorientiert sind .... :rolleyes:
"wie, der Kunde muss später noch mit der Software arbeiten - wo wir doch so tolle Algorithmen entwickelt haben ..." Für mich sind das oftmals Autisten die nichts zwischen ihrer Nase und dem Bildschirm finden.
Die meiste Software würde perfekt funktionieren, wenn da nur nicht diese Benutzer wären... ;)
 
Wie gesagt. Diese Software ist ein reines Abschlussprojekt, wo ich mir einige Wege selbst erarbeiten durfte, weil das was ihr wohl als normal anseht mir nicht bekannt war ;)
Weder habe ich vor, etwas über-zu-planen, noch kann man wohl kaum eine App ohne Planung machen. Diese App, die ich coden wollte, soll auch nicht verkauft werden ;)

Aber her mit den Kommentaren, durchaus interessant.

Wie verkauft ihr Verzögerungen - das wäre doch mal etwas mehr zielorientierter für mein Anliegen. Schliesslich muss ich in der Arbeit schreiben, wieso ich nicht da bin, wo ich normalerweise vorhatte zu sein ;)

Vielen Dank
 
Wie verkaufe ich Verzögerungen: Mit der Wahrheit, entweder ich habe ich die Thematik falsch eingeschätzt, oder es gab unvorhergesehene Probleme, wie Bugs in den Frameworks, Fälle die vorher nicht bedacht wurden (was mache ich wenn der Nutzer die und die Eingabe tätigt oder anstelle eines Bildes ein Video als Profilbild auswählt) sind blöde Beispiel aber es kommt immer wieder vor, dass irgendein Fall nicht bedacht wurde bzw. nicht vorkommen sollte und es trotzdem macht. Stellenweise kann sowas dann zu größeren Umbauarbeiten am Code führen.
Oft kommen weitere Anforderungen dazu von denen der Projektleiter/Kunde denkt das sei in ein paar Minuten erledigt, was aber Stunden/Tage dauern kann.

Was hast du studiert? Wenn ich lese VB und etwas PHP gehe ich nicht von Informatik aus, sondern eher von irgendeinem Bindestrich Informatik Studiengang. Evtl. könntest du da auch anführen, dass du die App Entwicklung allgemein unterschätzt hast oder dass der Studiengang dich einfach nicht genug vorbereitet hat. Dann solltest du allerdings auch Verbesserungsvorschläge haben.

Und ein letztes Argument für dein "Scheitern" hast du im Grunde schon selbst genannt: Mangelnde Erfahrung. Sei ehrlich und sage du hast das Ganze unterschätzt, was du daraus gelernt hast und was du das nächste mal anders machen würdest. Ich weiss noch von meiner Frau, die seinerzeit Lehramt studiert hat, dass sich die Referendare damit retten konnten, dass sie erkannt haben, dass ihre Unterrichtsstunde totaler Mist war aber erklären konnten was schief gelaufen ist und wie man es hätte besser machen können.
 
Ehrlich möchte ich schon sein, aber nicht zu direkt sein - nicht dass dies falsch verstanden wird ;)
Und a Bindestrich-Informatik mit einem Anteil von max. 20% ;)
 
Zurück
Oben Unten