Skip to main content

DIY Dev: Solltest du deine eigene App bauen?

Benutzerdefinierte Web- und Mobile-Apps, einst der exklusive Bereich großer Unternehmen mit enormen Ressourcen, sind zu einem Markenzeichen für erfolgreiche kleine und mittlere Unternehmen geworden. Auf der anderen Seite können Apps durch Online- und mobilen Zugriff auf nützliche Tools und Informationen eine intensivere Kundenbindung bieten. Intern können sie den Mitarbeitern helfen, effektiver mit hochangepassten Echtzeitdaten auf ihren Desktop- und mobilen Bildschirmen zu kommunizieren. Aber das gelobte Land der Apps und des Geldes zu erreichen, kann beängstigend sein, und nicht jedes App-Entwicklungs-Abenteuer endet mit Erfolg.

Wenn Sie eine benutzerdefinierte App für Ihr Unternehmen einrichten möchten, müssen Sie zuerst eine kritische Entscheidung treffen : Sollten Sie es outsourcen oder es intern programmieren? Diese Entscheidung ist so grundlegend, dass viele Menschen sie völlig übersehen, ohne zu wissen, dass sie hier Optionen haben. Und wenn Sie nicht sorgfältig darüber nachdenken, können Sie Ihr Unternehmen teuer und kostspielig machen. Wir werden einige der wichtigsten Faktoren untersuchen, die Ihnen helfen, die beste Entscheidung für Ihr Unternehmen zu treffen, und Ihnen einen Eindruck davon vermitteln, was Sie erleben werden, wenn Sie sich für die DIY-Route entscheiden.

Bewerten Sie die App-Anforderungen Ihres Unternehmens

Benötigt Ihr Unternehmen wirklich eine komplett neue App oder profitieren Sie von einem bestehenden Paket, das an Ihre Bedürfnisse angepasst werden kann? Die Antwort auf diese Frage hängt weitgehend davon ab, was Sie erreichen möchten. Wenn Sie zum Beispiel nur Blogging- oder Social-Media-Feeds zu Ihrer Website hinzufügen möchten, können Sie die Arbeit mit einer beliebigen Anzahl kostenloser, einfach zu konfigurierender Optionen erledigen. Oder wenn es Ihr Ziel ist, die interne Kommunikation über Kundenkonten zu verbessern, würden Sie mit Sicherheit besser von einem bewährten Customer Relationship Management (CRM) -Paket bedient werden als von einer selbst entwickelten Datenbank-App.

Wenn Ihre Idee jedoch neuartiger ist Vielleicht möchten Sie die Kundenbindung in Ihrem Landschaftsbaugeschäft mit einer App ankurbeln, mit der Kunden Skizzen und Bilder ihrer Werften einreichen können. Dann müssen Sie wahrscheinlich völlig kundenspezifisch vorgehen (oder zumindest Ihre Lösung erstellen) einer Vielzahl vorhandener Komponenten).

Die Entscheidung, ob Sie Ihre App-Entwicklung outsourcen möchten oder nicht, hängt von den Anforderungen Ihres Unternehmens ab.

Sie benötigen Ihre App für eine bestimmte Plattform wie iOS oder Android oder Windows? Brauchen Sie plattformübergreifende Funktionalität? Die Frage, ob eine native App, die auf einer bestimmten Plattform ausgeführt wird, oder eine reaktionsschnelle Webanwendung, die auf einem beliebigen Gerät mit einem Browser ausgeführt werden kann, sollte nicht auf die leichte Schulter genommen werden. Die Antwort hängt davon ab, wie die App verwendet wird, sowie von Ihrem Budget und Ihrer Entwicklungszeit. Native Apps benötigen in der Regel mehr Entwicklungszeit als Web-Apps. Wenn Sie die App auf mehreren Plattformen einsetzen möchten, können Sie durch die Verwendung der nativen Route Ihre Vorabkosten verdoppeln oder verdreifachen und die Wartung Ihrer Apps erheblich aufwändig und komplex gestalten

Natürlich sind auch die Wichtigkeit der App und die von ihr zu verwaltenden Daten wichtige Aspekte. Unabhängig davon, ob Ihre App vollständig originell ist oder aus einer Standard-Plattform besteht, können Apps, die mit sensiblen Daten umgehen oder die für das Funktionieren des Unternehmens entscheidend sind, ein anderes Maß an Investition und Sorgfalt verlangen als Apps, die nur nett sind haben. Für sensible, geschäftskritische Anwendungen ist es in der Regel ratsam, die Entwicklung in die Hände des bewährten und erfahrenen Entwicklerteams zu legen, um sicherzustellen, dass die Daten sicher gehandhabt werden und die App für Leistung und Zuverlässigkeit optimiert ist - für die überwältigende Mehrheit und Mittelständler, das heißt ein ausgelagertes Team.

Auch die Zeit ist ein Schlüsselfaktor: Benötigen Sie diese App innerhalb weniger Wochen mit voller Funktionalität, oder können Sie es sich leisten, mehr Zeit zu haben, starten Sie mit einem kleinen Set von Features, und dann iterieren? Wenn Sie das ganze zum Startzeitpunkt arbeiten müssen und keine Monate übrig haben, ist Outsourcing wahrscheinlich die beste Option. Bedenken Sie jedoch, dass selbst Outsourcing-Entwicklungen länger dauern können, als viele erwarten. Entwicklungszeiten sind eines der strittigsten Themen zwischen Entwicklungsberatern und ihren Kunden, und Geschäftsleute sind oft schockiert zu entdecken, dass das, was sie für einen schnellen, einfachen Prozess hielten, bestimmt mehrere Wochen länger und viele Tausende von Dollar mehr in der Entwicklung brauchen wird Kosten, als sie erwartet haben.

Die Vor- und Nachteile der Outsourcing-Entwicklung

Die Weitergabe Ihrer Entwicklungsarbeit an einen externen Auftragnehmer kann für ein Unternehmen mit erheblichen Ressourcenbeschränkungen wie ein Kinderspiel erscheinen. Und in der Tat gibt es viele Vorteile, sich auf externe Talente zu verlassen. Es gibt aber auch einige Nachteile, wenn man Außenstehenden wichtige Entwicklungsarbeiten anvertraut. Hier ist eine kurze Liste mit Vor- und Nachteilen.

Vorteile

Nachteile

  • Erfahrung und Fachwissen können Sie nach einem kurzen Konsultationsprozess zum Laufen bringen.
  • Etablierte Entwickler-Teams haben oft einen gebrauchsfertigen Code Vergangenheitsarbeit, Reduzierung der Entwicklungszeit.
  • Fundiertes Wissen über Sicherheitsprobleme und bewährte Vorgehensweisen bedeuten in der Regel mehr Sicherheit und weniger Fehler.
  • Etablierte Entwicklerteams können in der Regel eine Erfolgsgeschichte des Versands pünktlich nachweisen . (Wenn sie es nicht können, stellen Sie sie nicht ein.)
  • Erstklassige Entwickler sind sehr teuer.
  • Nach dem Start können die Kosten für die App-Wartung eine unangenehme Überraschung sein.
  • Die Kommunikation von Geschäftszielen kann eine Herausforderung darstellen .
  • Abhängigkeit von Auftragnehmern kann zu mangelnder Transparenz Ihrer App führen.
  • Bauunternehmer kommen und gehen. Sie werden möglicherweise nicht in der Lage sein, das gleiche Team für die zukünftige Arbeit wiederzubekommen.
  • Auftragnehmer tragen nicht zu den institutionellen Kenntnissen Ihres Unternehmens bei.

Der größte Vorteil, den Sie von einem Fremdentwickler erhalten, ist die Sicherheit. Vorausgesetzt, Sie überprüfen Ihren Auftragnehmer gründlich und überprüfen ihre Referenzen und Beispiele für frühere Arbeit, können Sie die Gewissheit haben, dass Sie mit jemandem zu tun haben, der nachweislich qualitativ hochwertige Apps zeitnah versendet. Erfahrene Entwicklungsberater können Sie beraten, um mögliche Fallstricke zu vermeiden, den Funktionsumfang Ihrer App auf eine Weise einzuschränken, die Ihren Nutzern zugute kommt (die Bedeutung davon kann nicht hoch genug eingeschätzt werden) und eine Entwicklungsstrategie entwickeln, um die bestmögliche App für Ihre Anforderungen zu erstellen.

Erfahrene Entwickler sparen Ihnen außerdem viel Zeit am Frontend. Nicht nur, dass sie höchstwahrscheinlich bereits über das erforderliche technische Wissen verfügen, um Ihre App zu erstellen, aber sie werden wahrscheinlich auch schon etwas Ähnliches gebaut haben. So können Sie Ihre App oft innerhalb von mehreren Wochen anstatt von mehreren Monaten in Betrieb nehmen.

Gleichzeitig sind diese Vorteile oft mit einigen potentiell frustrierenden Komplikationen verbunden. Erfahrene Entwickler sind überall gefragt und sie haben hohe Beratungshonorare. Diese Gebühren enden auch nicht, sobald die App verfügbar ist, da Fehlerbehebungen und Sicherheitsupdates fortlaufend zusätzliche Arbeit erfordern. Es gibt keine komplett fertige, fehlerfreie App. Budget entsprechend, und hoffe, dass Ihr Auftragnehmer bleibt um bei der Wartung zu helfen.

Die Kommunikation mit externen Entwicklungsteams kann für viele in der Geschäftswelt überraschend schwierig sein. Geschäftsleute unterschätzen oft die Komplexität, die bei der Programmierung selbst einer relativ einfachen App steckt, und Softwareentwicklern fehlt oft ein wichtiger Einblick in die Geschäftsstruktur, Teamdynamik und Ziele eines Kunden. Missverständnisse mit einem externen Entwicklerteam können Ihnen Zeit und Geld kosten, also stellen Sie sicher, dass Sie in Ihrer Organisation einen talentierten Projektmanager einsetzen, um eine reibungslose Kommunikation mit dem Entwickler zu gewährleisten.

DIY-Entwicklung macht nur Sinn, wenn Sie jemanden haben Ihr Team, dessen Hintergrund und Interessen sich bereits an der Aufgabe orientieren.

Seien Sie besonders wachsam gegenüber dem, was Entwickler "Scope Creep" nennen. Dieses potentiell projektschädigende Phänomen tritt auf, wenn Clients wichtige Feature-Anforderungen nicht frühzeitig im Prozess ausdrücken ein allgemeines oder beliebtes Feature wird eingeschlossen, obwohl es nicht explizit diskutiert wurde, oder entscheiden, dass es nach Beginn der Entwicklung neue Funktionen hinzufügen möchte. Das Hinzufügen neuer Funktionen ändert den Umfang des Projekts, und das bedeutet in der Regel mehr Geld und Zeit. Aus diesem Grund können Missverständnisse über den Projektumfang die Beziehungen zwischen Kunden und Entwicklern in einer Art und Weise beeinträchtigen, die letztlich die Qualität des Endprodukts untergräbt.

Der beste Weg, den Umfang zu vermeiden, besteht darin, jedes Feature, das Sie im Endprodukt sehen möchten, genau zu beschreiben, bevor die Arbeit beginnt. Wenn Sie in der Lage sein möchten, Ihre Kundendatenbank nach Haarfarbe zu durchsuchen, sollten Sie sich vergewissern, dass diese Funktion frühzeitig und eindeutig schriftlich ausgewiesen wird. Es ist auch wichtig, den Rat Ihres Entwicklers in diesem Zusammenhang zu beachten: Erfahrene Entwickler können Ihnen helfen, externe Feature Requests frühzeitig zu erkennen, und Sie sind vielleicht dankbar für die daraus resultierenden Einsparungen an Zeit, Entwicklungskosten und reduzierter Komplexität, selbst wenn dies Ihr Haustier bedeutet Feature muss im Mutterleib sterben.

Der größte Nachteil von Outsourcing ist vielleicht die verpasste Möglichkeit, institutionelles Wissen über die App selbst aufzubauen. Da Daten für den Geschäftsbetrieb immer wichtiger werden, ist es gut, Mitarbeiter vor Ort zu haben, die die Software, die das Geschäft steuert, wirklich kennen. Benutzerdefinierte Anwendungen, die von externen Auftragnehmern erstellt werden, stellen ein einzigartiges Problem für IT-Teams dar, da laufende Unterstützung im Allgemeinen von der Verfügbarkeit und Erschwinglichkeit des Auftragnehmers abhängt, der die Software erstellt hat. Der Wechsel von Entwicklern kann für stark angepasste Apps schwierig und kostspielig sein Approach

Die Entwicklung von Web- und App-Lösungen kann einige Vorteile gegenüber Outsourcing bieten, aber es bestehen erhebliche Markteintrittsbarrieren und einige anhaltende Herausforderungen. Hier ist eine kurze Liste der auffälligsten Vor- und Nachteile.

Pro

Nachteile

Internes Talent ist immer verfügbar.

  • Sie erhalten einen besseren Einblick in Ihren Entwicklungsprozess und Ihre App.
  • Kommunikation ist in der Regel einfacher.
  • Ihre Mitarbeiter sollten Ihre geschäftlichen Anforderungen besser verstehen als ein externer Auftragnehmer.
  • Die laufende App-Wartung ist einfacher.
  • Durch Investitionen in die Fähigkeiten Ihres Teams können Sie zukünftige Entwicklungsprojekte kostengünstiger vorbereiten.
  • Die Lernkurve kann ziemlich hoch sein. Nicht jeder kann ein guter Programmierer werden.
  • Training kostet Zeit und Geld.
  • Die Entwicklungszeit dauert aufgrund der Lernkurve typischerweise länger.
  • Entwicklungszeit und Ressourcen begrenzen Möglichkeiten, sich auf andere Prioritäten zu konzentrieren.
  • Die "blinden Flecken" von Inhouse-Entwicklern können die Produktivität oder die Produktqualität einschränken.
  • Neu ausgebildete Entwickler könnten gehen und ihre neuen Kenntnisse und Fähigkeiten mitnehmen.
  • Es ist an dieser Stelle anzumerken, dass ich vorerst Ich ignoriere bewusst die Aussicht, einfach auszugehen und einen erfahrenen Programmierer einzustellen, der sich Ihrem Team anschließt. Dies kann natürlich dazu beitragen, viele der Nachteile auf dieser Liste zu überwinden, aber es kommt auch zu wesentlich höheren Kosten als bei den Optionen, die wir in diesem Artikel diskutieren, da erfahrene Programmierer Gehälter weit über dem sechsstelligen Wert verlangen.

Die dringendste Tatsache, auf die man sich konzentrieren sollte, wenn man die Entwicklung von internem Entwicklungstalent in Betracht zieht, ist, dass die Lernkurve für die Softwareentwicklung immens sein kann. Es ist nicht übertrieben zu sagen, dass einige Leute einfach nicht dafür ausgeschnitten sind. Das Kennenlernen von Code erfordert einen sehr analytischen Verstand mit einer Vorliebe für abstraktes Denken und eine unglaubliche Aufmerksamkeit für Details sowie eine ernsthafte Investition von Zeit und mentalem Fokus. Diejenigen, die Erfolg haben, bringen in der Regel eine Zielstrebigkeit mit sich, die ihre Fähigkeit, sich auf andere Dinge zu konzentrieren, in den Hintergrund stellt. (Und täuschen Sie sich nicht: Die Entwicklung angepasster Apps wird die Fähigkeit des Kandidaten, an anderen Projekten zu arbeiten, absolut einschränken.)

DIY-Entwicklung macht nur dann Sinn, wenn jemand in Ihrem Team ist, dessen Hintergrund und Interessen sich bereits an der Aufgabe orientieren . Zu den guten Aussichten gehören IT-Mitarbeiter, die bereits einige Websites erstellt oder in der Vergangenheit einige Softwareanpassungen oder Scripts vorgenommen haben, oder andere hoch analytische Typen, die sich gerne in tiefe, dornige Aufgaben vertiefen und angesichts scheinbar unlösbarer Probleme nicht den Verstand verlieren . (Anscheinend sind unlösbare Probleme ein alltägliches Problem im Leben eines Entwicklers und der Nervenkitzel, sie zu lösen, ist wie ein Crack für einen guten Programmierer. Wähle also einen hartnäckigen Geek und gib ihm oder ihr viel Unterstützung und Spielraum zum Lernen, Entdecken und create.)

Eine Warnung an Einzelunternehmer und sehr kleine Unternehmen:

Die Programmierung ist sehr zeitaufwendig, und Entwicklungsprojekte erfordern oft viel mehr Zeit und Ressourcen als wir am Frontend schätzen (selbst für professionelle Entwicklerteams). Wenn Sie es sich nicht leisten können, einen Vollzeitbeschäftigten für mehrere Monate ausschließlich dem Programmieren zu widmen, sollten Sie das Projekt besser auslagern. Wenn Sie ein Einzelunternehmer sind, der darüber nachdenkt, nebenbei Ihre eigene Entwickler-Arbeit zu machen, seien Sie bereit, all Ihre Nächte und Wochenenden für mehrere Monate zu opfern, nur um anzufangen. Ich sage nicht, dass es sich nicht lohnt, aber wenn Sie eine Familie oder ein soziales Leben haben, werden Sie einen großen Schock erleben. Die richtige Wahl für Ihr Geschäft

Es mag zwar sein Es ist fair zu sagen, dass es hier keine richtige Antwort gibt, ein Ansatz bringt eindeutig mehr Risiko mit sich als der andere. Einen neuen Entwickler aus den eigenen Reihen zu trainieren und zu kultivieren, ist eine schwierige Aufgabe, die am Ende des Prozesses keine Garantie für eine großartige App bietet.

Die Kosten für dieses Risiko können jedoch im Vergleich zu den Kosten von ein Entwicklungsunternehmen. Wenn Sie einen IT-Mitarbeiter im Wert von 60.000 US-Dollar pro Jahr zum Entwickeln von Schulungen schicken und ihm ein paar Monate Zeit lassen, um eine App zu erstellen, können Sie weniger als 30.000 US-Dollar zurückgeben. Im Gegensatz dazu kann eine einzelne vollständig angepasste, datengesteuerte App, die von einer externen Beratungsfirma erstellt wurde, leicht 30.000 bis 50.000 US-Dollar kosten.

Wenn Sie also Zeit an Ihrer Seite haben und innerhalb des Unternehmens einige Entwicklungstalente aufbauen möchten Ihre Organisation, die in eigene Entwicklungsressourcen investiert, kann auf lange Sicht ein kluger Schachzug sein. Wenn Sie jedoch die Zuverlässigkeit und Sicherheit in einem kürzeren Produktionszyklus benötigen, sollten Sie die Hilfe eines bewährten Entwicklers in Anspruch nehmen.