Inhalt
- 1. Wie viel Kontrolle brauche ich?
- 2. Erfinden wir das Rad neu?
- 3. Wie lange ist meine Softwarelösung relevant?
- 4. Ist dies die beste Nutzung unserer Ressourcen?
- 5. Ist eine Hybridlösung der richtige Weg?
- Fazit
Ich bin ein 25-jähriger professioneller Technologie-Veteran, ein 20-jähriger professioneller Vater von sechs Kindern und ein 24-jähriger professioneller Ehemann.
Es gibt viele Gründe, Ihre eigenen Softwarelösungen selbst zu entwickeln. Es scheint, dass der größte treibende Faktor für einheimische Lösungen ist: Kontrolle. Die Fähigkeit Ihres Unternehmens, die Softwareanforderungen, das Design, die Implementierung, den Support und die Wartung einer Softwarelösung zu steuern, ist ein sehr überzeugender Vorteil für selbst entwickelte Lösungen. Kontrolle ist wichtig, wenn Sie Software erstellen, die die geschäftskritischen Aspekte Ihres Unternehmens berücksichtigt.
Wir alle wollen Kontrolle, warum also nicht immer eine selbst entwickelte Lösung verwenden? Es geht nicht wirklich darum, warum, sondern wann. In vielen Fällen berücksichtigen Unternehmen nicht die vollen Kosten einer selbst entwickelten Lösung. Die Arbeitskosten (IT und Nicht-IT) und verpasste Chancen können die Vorteile einer Softwarelösung schnell übertreffen. Hier sind fünf Dinge (neben den direkten Kosten), die Sie berücksichtigen sollten, bevor Sie ein internes Softwareentwicklungsprojekt starten.
1. Wie viel Kontrolle brauche ich?
Dies ist vielleicht die wichtigste Frage, die Sie sich stellen müssen. Wie in der Einleitung erwähnt, ist die Kontrolle über Ihre Software, wenn es sich um die „geheime Sauce“ Ihres Unternehmens handelt, von entscheidender Bedeutung. Wenn Ihr Unternehmen beispielsweise ein SaaS-Anbieter (Software-as-a-Service) ist, bietet Ihnen die Erstellung Ihrer eigenen Software von Grund auf die größten Erfolgschancen, insbesondere wenn Sie versuchen, Ihren Kunden ein wettbewerbsfähiges Produkt und einen wettbewerbsfähigen Service anzubieten.
Viele sagen jedoch: "Da ich bereits Softwareentwickler habe, werde ich sie alle meine Softwarebedürfnisse erfüllen lassen." Aber brauchen Sie wirklich die Kontrolle über alle Ihre Software braucht? Müssen Sie beispielsweise die Softwareanforderungen und die Implementierung Ihrer Buchhaltungssoftware steuern? Die meisten Unternehmen kaufen daher kein Buchhaltungspaket. Dies liegt daran, dass Buchhaltungssoftware als SaaS-Anbieter nicht zu Ihrem Kerngeschäft gehört. Dies macht Ihre Buchhaltung einfacher und genauer, sodass Sie Ihre Buchhaltungspraktiken und -prozesse auf den Merkmalen und Funktionen der von Ihnen gewählten Buchhaltungssoftware aufbauen.
Die Kontrolle über Ihre Software ist wichtig, aber üben Sie sie nur dort aus, wo Sie sie benötigen. Stellen Sie sich die Kosten für den Versuch vor, ein Softwareentwicklungsprojekt für Buchhaltungssoftware zu verwalten, wenn Sie kein Buchhaltungssoftwareanbieter sind. Lassen Sie sich nicht von den Fähigkeiten Ihres Softwareentwicklungsteams bestimmen, ob Sie Kontrolle benötigen oder nicht. Lassen Sie die Geschäftsanforderungen die Notwendigkeit bestimmen.
2. Erfinden wir das Rad neu?
Während der Analysephase eines Softwareprojekts müssen Lösungen von Drittanbietern evaluiert werden, um festzustellen, ob bereits eine vorhanden ist, die dieselbe Funktion des Projekts ausführen kann, das Sie durchführen möchten. In vielen Fällen gibt es Optionen von Drittanbietern, und die Bewertung von Kosten, Merkmalen und Funktionen sollte dazu beitragen, festzustellen, ob der Kauf einer Drittanbieterlösung kostengünstiger ist.
Viele Projektmanager lehnen diesen Schritt ab oder überspringen ihn ganz. Da die meisten Softwareentwickler die Softwarelösungen gerne steuern, versuchen sie häufig, das Management von der Verwendung von Software oder Komponenten von Drittanbietern abzubringen. Gute Softwareentwickler werden Lösungen von Drittanbietern in Anspruch nehmen, wenn dies bedeutet, dass sie keine bestimmte Komponente ihrer Lösung entwickeln und warten müssen (auch wenn es sich um eine interne Komponente handelt).
Sie werden jedoch feststellen, dass es Fälle und Umstände gibt, die eine „Neuerfindung“ Ihrer eigenen Lösung erfordern. Jedes Unternehmen hat einzigartige „Optimierungen“ und Prozesspräferenzen, bei denen das Management keine Kompromisse eingehen möchte und daher in seinen Softwarelösungen berücksichtigt werden muss.
3. Wie lange ist meine Softwarelösung relevant?
Es ist eine sehr schwierige Aufgabe, Ihre Softwarelösungen relevant zu halten.In vielen Fällen gehen die Entwickler nach Abschluss eines Softwareentwicklungsprojekts weiter und beheben nur kritische Probleme und Fehler, wenn sie gemeldet werden. Die Annahme, dass die Software wie erwartet funktionieren muss, wenn keine Fehler gemeldet werden, ist fehlerhaft. Endbenutzer ändern häufig ihr Verhalten, um Systemmängel und -fehler auszugleichen. Dies wird als "Problemumgehung" bezeichnet, und die Software wird als "einwandfrei" ausgeführt, da keine Fehler gemeldet werden.
„Problemumgehungen“ führen in der Regel zu Ineffizienz und Kosten in einem Prozess, und im Laufe der Zeit summieren sich die Dinge, bis diese Kosten die Vorteile der Software im Wesentlichen zunichte gemacht haben. Wenn die Zeit vergeht und das Wissen über die Softwarelösung verloren geht, werden normalerweise „Pflaster“ und „Schnellkorrekturen“ eingeführt, um die Technologie bei sich entwickelnden Prozessen auf dem neuesten Stand zu halten. Aber auch diese können beginnen, das ursprüngliche Softwareprojekt in ein Konglomerat von mehreren zu verwandeln kleinere Projekte auf das Original geschraubt.
Um Irrelevanz zu vermeiden, bewerten Sie, wie lange die Lösung verwendet wird, ermitteln Sie Zeitrahmen für Überprüfungen und Aktualisierungen und sprechen Sie häufig mit dem Endbenutzerpool, um festzustellen, ob Sie eine Lösung gefunden haben, die mit ihnen und nicht gegen sie funktioniert. Denken Sie immer daran, nur weil ein Softwareentwicklungsprojekt pünktlich und im Rahmen des Budgets abgeschlossen wurde, bedeutet dies nicht, dass es ein Erfolg war.
4. Ist dies die beste Nutzung unserer Ressourcen?
Über welche Ressourcen sprechen wir? Geld.
Alles, was Sie zur Erstellung Ihres Produkts oder Ihrer Dienstleistung verwenden, kann (oder sollte) in Geld gemessen werden. Dies würde all Ihr Vermögen, Ihre Ausrüstung, Ihre Zeit und - so rücksichtslos es auch klingen mag - Ihre Leute einschließen.
Wenn Sie speziell über Ihr Softwareentwicklungsteam sprechen, ist es die beste Verwendung Ihres Geldes, wenn sie Software neu erfinden, die bereits an anderer Stelle existiert, damit sie in ein paar Jahren irrelevant wird? Offensichtlich ist diese Frage geladen und berücksichtigt nicht alle Informationen, wenn Sie entscheiden, wie Sie Ihre Entwicklungsgelder ausgeben.
Um verpasste Gelegenheiten zu vermeiden, sollten Sie immer überlegen, wofür Ihre Entwicklungsgelder sonst noch ausgegeben werden könnten. Könnten Ihre Entwickler daran arbeiten, Ihr Kernprodukt und Ihre Dienstleistungen zu stärken?
5. Ist eine Hybridlösung der richtige Weg?
Die Wahrscheinlichkeit, dass eine perfekte Drittanbieteranwendung vorhanden ist, die alle Ihre Anforderungen erfüllt, ist ziemlich gering. Unternehmen, die ihre Softwareentwicklung ordnungsgemäß verwalten und Softwareanbieter von Drittanbietern bewerten, fallen normalerweise in ein hybrides Modell der Verwendung von Software von Drittanbietern, um ihre eigenen benutzerdefinierten Softwareentwicklungsprojekte zu verbessern.
Das Finden einer Lösung von Drittanbietern und das Erkennen, dass Sie dadurch tatsächlich Zeit und Geld sparen können, ist entscheidend für die Kontrolle Ihrer Softwareentwicklungskosten. Bedenken Sie:
Ihre Softwareentwickler sagen Ihnen, dass sie ungefähr 500 Stunden benötigen, um ein robustes JavaScript-Datenraster aufzubauen. Wenn Sie die Kosten für Entwickler schätzen und 15% für alle anderen Ressourcen (Projektmanagement, Tests usw.) hinzufügen, geben Sie möglicherweise rund 35.000 US-Dollar aus.
Die Suche nach einer Lösung von Drittanbietern kostet möglicherweise nur 1.500 US-Dollar pro Webserver. Das sind über 20 Serverlizenzen zu den gleichen Kosten wie die Entwicklung eigener Lizenzen.
Ihr Entwickler hat jetzt die zusätzlichen 500 Stunden Zeit, um sicherzustellen, dass das System, an dem er arbeitet, ordnungsgemäß entworfen und implementiert wird, ohne dass zusätzliche Probleme beim Schreiben, Implementieren und Verwalten eines selbst erstellten JavaScript-Datenrasters entstehen.
Mit anderen Worten, Sie haben gerade 500 Stunden an Kosten gespart, die als Einsparungen realisiert oder auf andere Projekte verlagert werden können
Fazit
Das Management hat die Verantwortung und Pflicht, die Richtung und Präferenzen für seine Softwareentwicklungsteams festzulegen. Es ist eine konzentrierte Anstrengung, das Endergebnis im Auge zu behalten und gleichzeitig die Faktoren Kontrolle, bestmögliche Ressourcennutzung und Gültigkeit Ihrer Software in Einklang zu bringen. Das Einbeziehen von Software von Drittanbietern kann und ist häufig der beste Weg, um Ihre Ziele zu erreichen.
Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.