Ich denke schon seit einiger Zeit über diese Frage nach. Wie wählt man eine Technologie aus (ich spreche nicht von Java vs. .Net vs. PHP), wenn man ein neues Projekt plant oder ein bestehendes Projekt in einer Organisation pflegt.
Argumente für den Einsatz der neuesten Technologie
- Sie könnte einige der Einschränkungen der bestehenden Technologie überwinden (man denke nur an die Skalierbarkeit von No SQL gegenüber RDBMS). Manchmal ist die neueste Technologie abwärtskompatibel und man kann nur die neuen Funktionen nutzen, ohne die alte Funktionalität zu zerstören.
- Es wird eine bessere Benutzererfahrung bieten (vielleicht HTML 5 für Videos, nur ein Gedanke)
- Reduziert die Entwicklungszeit und -kosten und macht die Pflege der Codebasis relativ einfach
Argumente für die Wahl einer praxiserprobten Technologie/gegen die Wahl einer bahnbrechenden Technologie
- Sie hat sich nicht bewährt. Es kann zu unvorhergesehenen Problemen kommen. Umständliche Lösungen können zu weiteren Problemen während der Wartungsphase führen und die Anwendung kann zu einem weißer Elefant
- Möglicherweise gibt es noch keine Normen. Die Normen könnten sich ändern und es könnten erhebliche Nacharbeiten erforderlich sein, um das Projekt an die Normen anzupassen.
- Die neue Technologie wird möglicherweise nicht von der Organisation unterstützt. Die Unterstützung einer neuen (oder auch einer anderen Technologie) würde zusätzliche Ressourcen erfordern
- Es könnte schwierig sein, qualifizierte Ressourcen mit Spitzentechnologie zu finden
Aus der Sicht eines Entwicklers sehe ich keinen Grund, sich nicht (in seiner Freizeit) die Hände mit einer neuen Technologie schmutzig zu machen, aber er/sie könnte auf Open Source/Free Ware/Entwickler-Editionen beschränkt sein.
Aus Sicht der Organisation ist das ein zweischneidiges Schwert. Bleibt man zu lange bei einer "praxiserprobten" Technologie, könnten gute Leute abwandern (ganz zu schweigen davon, dass es immer Leute geben wird, die vertraute Technologien bevorzugen und sich weigern, ihr Wissen zu aktualisieren). Versucht man einen unkonventionellen Ansatz, läuft man Gefahr, das Budget/die Zeit zu überschreiten, ganz zu schweigen von den unvorhergesehenen Risiken.
TL;DR
Unterm Strich. Wann halten Sie eine Technologie für so ausgereift, dass sie von einer Organisation übernommen werden kann?