Ich wurde von einem Kollegen gebeten, den Unterschied zwischen gewöhnlicher Entwicklung und Forschung und Entwicklung (F & E) deutlich zu machen, und konnte dies nicht tun. Nach dem Lesen von Wikipedia habe ich immer noch keine genaue Antwort.
Laut Wikipedia (leicht modifiziert):
Es gibt zwei Hauptmodelle:
In einem Modell besteht die Hauptfunktion darin , neue Produkte zu entwickeln ;
im anderen Modell besteht die Hauptfunktion darin , neues Wissen über wissenschaftliche und technologische Themen zu entdecken und zu schaffen, um wertvolle neue Produkte, Verfahren und Dienstleistungen aufzudecken und entwickeln zu können.
Das erste Modell ist verwirrend. Bedeutet dies, dass Entwicklung (nicht F & E) ausschließlich darin besteht, einem Produkt neue Funktionen hinzuzufügen, Fehler zu beheben und Wartungsarbeiten durchzuführen? Was ist, wenn etwas, das zuvor als neues Feature entwickelt wurde, zu einem separaten Produkt wird?
Das zweite Modell ist weniger verwirrend, aber wie kann man beurteilen, ob es sich bei etwas um neues Wissen oder um vorhandenes Wissen handelt, das gerade wiederentdeckt wurde?
Später fügt Wikipedia hinzu, dass die normale Entwicklung sich von der Forschung und Entwicklung unterscheidet, weil:
Fast sofortiger Gewinn oder sofortige Verbesserung.
Es ist immer noch nicht klar genug. Wie qualifiziere ich mich für "fast sofortigen Gewinn"? Was ist, wenn eine Aufgabe einen sofortigen Gewinn bringt, aber viel Forschung erfordert? Oder wenn es einfach ist, aber einen ungewissen Gewinn hat, wie die Durchsetzung eines gemeinsamen Stils über die Codebasis?
Gehört es zum Beispiel zur Entwicklung oder zu Forschung und Entwicklung, um:
Entwickeln Sie eine Engine, die den Zugriff auf die Datenbank abstrahiert und den Code anderer Anwendungen (existierender oder zukünftiger), die auf die Datenbank zugreifen sollen, erheblich vereinfacht und verkürzt?
Richten Sie eine neue serviceorientierte Architektur für die gesamte Organisation der Unternehmensressourcen ein, um von einer Reihe separater und autonomer Anwendungen zu einer Reihe gut organisierter, miteinander verbundener Webdienste überzugehen, wie dies beispielsweise bei Amazon der Fall ist.
Ein neues Kommunikationsprotokoll entwerfen, um eine schnellere Replikation von Daten zwischen zwei Rechenzentren des Unternehmens zu ermöglichen?
Entwickeln Sie eine neue Art von Softwaretests, während Sie an einem bestimmten Produkt arbeiten, und wissen Sie, dass diese Art von Tests den Testprozess verbessern / vereinfachen wird?
Beweisen Sie, dass funktionale Programmierung für eine bestimmte Anwendung besser geeignet ist als OOP, basierend auf Beweisen, Logik und früheren Erfahrungen?
Erweitern Sie die vorhandene Anwendung durch Hinzufügen von Gesten auf taktilen Bildschirmen, nachdem Sie Studien und Tests durchgeführt haben, aus denen hervorgeht, dass diese Gesten die Produktivität der Benutzer für einen präzisen Aufgabenbereich um mindestens 1,4 steigern.
Suchen Sie nach einer Möglichkeit, die PUE (Power Usage Effectiveness) eines Rechenzentrums deutlich zu verbessern?
Domain-spezifische Sprache (DSL) erstellen?
Kurz gesagt, wie kann ich feststellen, ob ich während der Arbeit an etwas F & E mache?