Bei jedem Produkt stehen wir vor vielen Kompromissen und Herausforderungen, die die Zukunft des Unternehmens bestimmen. Das wichtigste Dilemma ist jedoch die Technologie oder vielmehr die Wahl der Technologie, da sie alle Aspekte der Zukunft beeinflusst. In diesem Artikel möchte ich die Probleme aufzeigen, die mit einer solchen Entscheidung verbunden sind.
Mit jedem ProduktWir stehen vor vielen Kompromissen und Herausforderungen, die die Zukunft des Unternehmens bestimmen. Es ist jedoch die Technologie, oder vielmehr die Wahl der TechnologieDas ist das wichtigste Dilemma, denn es betrifft alle Aspekte der Zukunft. In diesem Artikel möchte ich die Probleme aufzeigen, die mit einer solchen Entscheidung verbunden sind.
Die Auswahl der richtigen Technologie für Produktentwicklung ist eine kritische Komponente, die einen erheblichen Einfluss auf die Projekt Erfolg. In diesem Beitrag gehen wir auf die wichtigsten Variablen ein, die bei der Entscheidung über die geeignete Technologie für Ihr Unternehmen zu berücksichtigen sind. Produktentwicklung braucht. Hier sind 5 Regeln für Auswahl der richtigen Technologie für die Produktentwicklung:
1. Definieren Sie die Projektanforderungen
Bevor Sie mit der Technologieauswahl beginnen, sollten Sie sich ein umfassendes Bild von den Anforderungen Ihres Projekts machen. Dazu gehört, dass Sie das Problem, das Sie zu lösen versuchen, die Zielgruppe, die gewünschten Funktionen und alle technologischen Anforderungen umreißen. Eine klar definierte Anforderungsliste kann Ihnen helfen, verschiedene Technologien im Hinblick auf die Anforderungen Ihres Projekts zu bewerten.
- Skalierbarkeit
Wenn sich Ihr Produkt weiterentwickelt, benötigen Sie eine Technologie, die mit der wachsenden Zahl von Benutzern, Daten und Funktionen Schritt halten kann. Prüfen Sie, wie einfach sich die Technologie skalieren lässt und ob Skalierungsressourcen verfügbar sind. Die Verwendung skalierbarer Technologie stellt sicher, dass Ihr Produkt auch in Zukunft mitwachsen kann.
3. Flexibilität und Anpassungsfähigkeit
Die Anforderungen an ein Produkt können sich im Laufe der Zeit ändern, daher ist es wichtig, eine Technologie zu wählen, die sich an diese Änderungen anpassen kann. Suchen Sie nach Technologien, die es einfach machen, neue Funktionen hinzuzufügen oder bestehende zu ändern, um sicherzustellen, dass Ihr Produkt relevant und auf dem neuesten Stand bleibt.
4. Kompetenz der Entwickler
Das Fachwissen und die Erfahrung Ihrer Team mit verschiedenen Technologien sind entscheidend für den Erfolg Ihres Projekts. Der Einsatz vertrauter Technologien kann die Produktivität steigern und die Lernkurve verkürzen. Wenn eine neue Technologie für Ihr Projekt besser geeignet ist, sollten Sie sicherstellen, dass Ihre Mitarbeiter entsprechend geschult und unterstützt werden.
5. Sicherheit
Angesichts der wachsenden Bedeutung von Datensicherheit und Datenschutz ist es wichtig, die Sicherheitsaspekte jeder Technologie zu bewerten. Vergewissern Sie sich, dass die gewählte Technologie die Sicherheitsanforderungen für Ihr Produkt erfüllt und den geltenden Vorschriften und Industriestandards entspricht.
In meiner Arbeit als Programmierer habe ich mich mit vielen Produkten und vielen CTOsund ich konnte die wichtigsten Aspekte der Arbeit und die damit verbundenen Probleme sowie die Schwierigkeiten im Zusammenhang mit Projekten und Technologien festhalten:
Wartungsfreundlichkeit
Ihr Produkt muss hochverfügbar sein und darf keine Probleme bei Implementierung und Betrieb verursachen. Jede Technologie ist so konzipiert, dass sie in der richtigen Umgebung gut funktioniert, weshalb die Entscheidung so wichtig ist. Eine eher riskante Wahl wäre C ++ in eine hochverfügbare Web-Anwendung in einer Welt, wo wir Elixir und GoLang haben, können sie führen Sie zu robusten und skalierbaren Anwendungen zu schaffen. Auf der anderen Seite, wenn wir bauen IOT und wir nur über geringe Mittel verfügen, könnte die Entscheidung anders ausfallen. Rubinrot kann auch die Antwort auf jede der oben genannten Fragen sein, es hängt alles von den Kompromissen ab und davon, worauf Sie bei der Pflege der Anwendung oder der Website Wert legen.
Technologische Reife
Jedes Jahr werden viele neue Technologien entwickelt, und einige davon sind zum Zeitpunkt ihrer Entwicklung revolutionär. Die Frage ist, ob dies der richtige Zeitpunkt ist, um sie zu nutzen. Die Reife einer Technologie hängt nicht nur von der Verfügbarkeit von Spezialisten ab, sondern vor allem davon, was die Gemeinschaft in Form von Dokumentation, Bibliotheken, Kursen und Artikeln tut.
Wir können die Anzahl der neuen Repositories auf GitHub nicht vergleichen für JavaScript mit denen für Ruby zu vergleichen, da JavaScript viele große neue Frameworks und Bibliotheken hat, die jeweils Entwicklungs- und Baupakete erfordern. In Ruby haben wir ein führendes Framework und ein damit verbundenes Ökosystem; daher sind viele Authentifizierungsbibliotheken oder API-Kunden bereits etabliert und werden gepflegt, und die Probleme mit ihnen sind ebenfalls bekannt. Daher können wir nicht überrascht sein, dass das Transaktionssystem in unserem Bank stützt sich auf Java und nicht JavaScript und ExpressJS, und dass ein Startup, das Sie kennen, Probleme mit der Zähmung der Anwendungsarchitektur hat, weil niemand ihr Problem mit dieser neuen Technologie gelöst hat, die sie gewählt haben.
Dennoch gibt es hier einen Trend, denn jeder hat schon einmal von Perl oder Cobol gehört, das sind uralte, gut etablierte Technologien, die aber leider nicht so in Mode sind, dass sie Entwickler dazu bewegen, damit zu arbeiten. Ein Trend ist ein wichtiger Faktor bei der Gewinnung von Talenten, vor allem, weil die Zahl der Programmierer abnimmt, je höher die Altersgruppe ist.
Anzahl der Spezialisten
Bei der Bearbeitung eines IT-Projekts werden wir nicht programmieren, sondern wir müssen genau verstehen, was passiert. Es lohnt sich, zuerst auf LinkedIn nachzuschauen, wie viele Fachleute es in Ihrem Land gibt; so erfahren wir, wie groß das Umfeld ist, mit dem wir es zu tun haben. Es lohnt sich auch, auf die Kupplung und prüfen, wie die Softwarehaus Markt sieht so aus. Sie müssen auf ein plötzliches Wachstum und eine schnelle Besetzung freier Stellen vorbereitet sein. Natürlich ist die Fülle an potenziellen Bewerbern nicht gleichbedeutend mit Qualität, aber sie macht es einfacher, Talente zu gewinnen und verschiedene Fachleute mit Ihrem Angebot zu erreichen.
Sie müssen auch davon ausgehen, dass die Mitarbeiter im Unternehmen ersetzbar sind; in der Zeit nach dem Kovid ist das besonders wichtig, weil die Quarantäne viele Unternehmen blockieren konnte. Ein solcher Ansatz ermöglicht es Ihnen auch, die Krise der Abwanderung von Fachkräften zu vermeiden und die technische Dokumentation zu erweitern.
Betriebskosten
Aus der Kombination der oben genannten Punkte ergeben sich die Betriebskosten, d. h. die tatsächlichen Kosten für die Wartung der Anwendung und die Entwicklungsteam. Wir alle wählen ein Team, das unseren Bedürfnissen entspricht, aber Sie müssen an das gesamte Backend der Anwendung denken oder sich möglicherweise für eine IaaS- und SaaS-Lösung für Dienste entscheiden, die für den Betrieb des Produkts entscheidend sind.
Jedes selbst gehostete Servicemanagement ist ein zusätzlicher Kostenfaktor für Sie und eine Belastung, die Sie vom Ziel entfernt. In der Anfangsphase der Produktentwicklung stellt selbst eine bekannte Lösung wie Netlify oder Heroku die gesamte Umgebung in einer Pipeline bereit und Sie verschwenden nicht die Zeit des Teams, alles von Grund auf neu zu erstellen.
Resümee
Langfristig kann die betriebsbereite Infrastruktur billiger sein, als das Rad neu zu erfinden. Die Betriebskosten, die Leistung des Teams in Bezug auf die gegebene Funktionalität, die Reife der Technologie und der Umfang der auf dem Markt verfügbaren Mitarbeiter sind von großer Bedeutung.