BABYBETTEN vs. Custom / Build vs. Buy: Entscheidungsbaum und Best Practices

Hintergrund:

Ich arbeite in einem Unternehmen mit einer großen SAP-Investitionen, und wir haben auch Dutzende von großen .NET-Systeme (meist intern für engineering-Systeme), und Java-Plattformen (meist für externe web-Anwendungen). Als solche haben wir eine große Entwicklung-shops auf ABAP, C#, und Java EE.

Frage:

Kurz, Wir brauchen einen besseren Weg, um zu bestimmen, Wann Commercial, Off-The-Shelf (COTS) - software verwendet werden sollte und Wann sollten wir nutzen unsere eigenen Entwickler.

Kriterien:

Möchte ich bauen einen Entscheidungsbaum auf Basis von best practices helfen bei dieser Frage.

Auf dem höchsten Niveau, Jeff Atwood ' s post fasst es gut zusammen: Der Beste Code ist Kein Code Auf Allen

Ein wenig tiefer, würde ich mag, um zu sehen, Kriterien wie:

Ist ein COTS-system zur Verfügung, erfüllt die meisten Anforderungen?
(Wenn ja, ein COTS-system kann eine gute option sein: (Vermeiden Sie das Rad neu erfinden))

  • Wenn ja, gibt es eine voll ausgesetzt API
    verfügbar? (Dies ist notwendig, um
    integration /Anpassung)
  • Wenn dem so ist, ist der Quellcode verfügbar?
    (Dies ist notwendig, um Tiefe
    integration /Anpassung)

Ist das system entwickelt, um ein Kerngeschäft Funktion /einen Wettbewerbsvorteil verschaffen ?
(Wenn dem so ist, kundenspezifische Entwicklung kann eine gute option sein: Siehe Joel Sposky ist: In Defense of Not-Invented-Here-Syndrom)

  • Wenn dem so ist, wird die kundenspezifische Entwicklung ermöglichen
    für die Wiederverwendung von code in der Zukunft /andere
    Systeme? (Es gibt viele Vorteile
    um die Wiederverwendung von vorhandenen code)

Was die TCO für die benutzerdefinierte Anwendung oder die COTS-Produkt?

Gibt es zeitliche Einschränkungen, die nicht erfüllt werden konnten mit der kundenspezifischen Entwicklung?
(Wenn ja, ein COTS-system kann eine gute option sein)

  • Könnte man zusammenfassen, was die eigentliche Frage ist, bitte?
  • Behoben. Hoffentlich wird jeder Zustimmen, dass die Frage mehr leicht hebt sich nun.
  • fertig! Ich fügte hinzu, die Zusammenfassung am Ende
  • Ich denke, dass wir mit Füßen getreten bearbeitet.
  • Hoppla, du hast Recht - ich mag deins besser 🙂
  • Schauen Sie sich meine Version an, ich drehte mich wieder um, macht es Ihre Frage, die sich abheben und fügt hinzu, was Ihre Kriterien explizit. /me will, SO würde man eine bessere version control system.
  • Die gute Nachricht ist, dass das geruckel bei der Bearbeitung gehalten hat, Ihre Frage auf der Titelseite für eine gute Zeit. 😀

Schreibe einen Kommentar