Estoy tratando de averiguar su razón de decisión de cuándo hacer qué. Me complace proporcionar más contexto, pero quiero hacerlo general por ahora.
Estoy tratando de averiguar su razón de decisión de cuándo hacer qué. Me complace proporcionar más contexto, pero quiero hacerlo general por ahora.
Supongo que está demasiado simplificado, pero ese tipo de verdad es una pauta general:
AND:
Si es así, entonces prefiero escribirlo que comprarlo.
Si el costo total de propiedad del producto (incluidos el desarrollo, las pruebas, el mantenimiento, el soporte o cualquier gasto relacionado) es más alto que el costo del producto, y el rendimiento calculado de la inversión no compensará este costo, entonces es mejor comprarlo y seguir adelante.
Aspectos a considerar para una decisión de compra o compra
costo de desarrollo / costo de mantenimiento vs. costo de producto / costo de contrato de mantenimiento: por supuesto, eso es lo obvio, pero en realidad no es lo único. Por ejemplo, si voy a usar el software no solo para mi propia empresa, sino también para venderlo a otros, entonces el cálculo será muy diferente
Disponibilidad de un producto adecuado. Para una gran cantidad de procesos de negocios, simplemente no hay un software estándar de la estantería disponible. O hay algo disponible, pero no es adecuado, ya que contiene 100 funciones, de las cuales solo necesita 3 de una manera ligeramente diferente, mientras que faltan otras 2 características importantes.
¿Desea uno depender de un proveedor externo? Los proveedores especialmente pequeños le ofrecen siempre el riesgo de que el proveedor desaparezca del mercado en el futuro, o el desarrollo posterior del producto no vaya en la dirección que necesita. Para un producto que tiene bajo su propio control, puede dirigir la dirección del desarrollo mucho mejor.
¿Cuándo necesito un software específico y qué es más rápido: desarrollarlo por mi cuenta o comprar algo, adaptarlo hasta que se ajuste a mis procesos y extenderlo? Comprar algo de la estantería puede parecer la alternativa más rápida y, a veces, más barata, pero personalmente también he visto escenarios en los que desarrollar un software exactamente para las necesidades de una empresa, ajustarse a los procesos comerciales existentes, ahorrar mucho tiempo en comparación con comprar algo y enseñar varios Cientos de usuarios hacen su trabajo de una manera nueva y diferente, que el costo del desarrollo fue despreciable.
Cualquier cosa que tenga que ver con la criptografía. Hay 100.000 formas de hacerlo mal y exponer su software a serias vulnerabilidades de seguridad y solo algunas formas de hacerlo correctamente. Se necesita mucha experiencia para esto.
A nivel personal, me desarrollo en una extraña combinación de lo que quiero y lo que sería interesante escribir.
A nivel profesional, @haylem hace un buen punto general sobre cuándo comprar y cuándo escribir. Diré que hay un elemento enorme que se pasa por alto: la oportunidad. Para las empresas más grandes, a menudo tiene sentido, en mi opinión, escribir aplicaciones de línea de negocios centrales (no la línea de aplicaciones de negocios todas ) al hacerlo, lo que hace que la empresa sea más ágil. Hay un costo de oportunidad asociado con la compra de software porque entonces su empresa (no solo su TI) está sujeta a la forma en que el proveedor ve su dominio.
Para la mayoría de las cosas, no importa. Tu sistema contable mejor no sea creativo. Su procesador de textos será igual al de cualquier otra persona. Pero las cosas que lo hacen puede estar mejor escrito de manera interna para que pueda adaptarse a lo que su negocio está tratando de lograr.
Es, como casi todas las demás respuestas han dicho, una decisión de costo-beneficio:
Se trata de si el costo, compensado por los beneficios, de una solución personalizada es menor que el costo del producto comercial.
También hay costos de oportunidad a considerar. Comprenda que estos no deben incluirse en los costos reales de desarrollo frente a la compra, pero en el mundo más amplio, debe considerarlos. Si su personal de desarrollo interno está trabajando en este proyecto, no está trabajando en ningún otro proyecto; eso significa que si no hay otro proyecto en la lista que le esté costando dinero cada día, no puede hacerlo, puede ser una prioridad mayor que le permita dejar de lado o incluso cancelar el desarrollo personalizado e ir con el paquete listo para usar. Sin embargo, si no está haciendo este proyecto, significa que su personal interno está sentado en sus manos, el costo del desarrollador se ha reducido; está pagando a su personal de desarrollo, ya sea que estén trabajando o no, por lo que le costará menos en general si los está utilizando a su máximo potencial.
Supongo que está preguntando en un contexto profesional, comercial, y que estamos hablando de una parte importante de su sistema en lugar de una sola biblioteca.
Hay situaciones en las que su organización puede usar un producto comercial. Por ejemplo, pocas personas escribirían su propio procesador de textos: usan MS Word, OpenOffice o lo que sea. Lo mismo para las hojas de cálculo. Tenga en cuenta que podría "personalizar" su procesador de textos con sus propias plantillas o macros, pero la gente no lo considera como una personalización. Eso es simplemente "usar" el procesador de textos, tal como lo ven ellos.
Podría ser posible usar sistemas más complicados de la misma manera, desde las tiendas web hasta los sistemas ERP. Pero llegará un punto en el que sus diseñadores o la gente de desarrollo de negocios querrán un cambio que no esté incluido en la norma. Un rediseño de la página de pago, tal vez, o una nueva forma de calcular ofertas de descuento.
Si lo sabes desde el principio, tu decisión es realmente Crear o personalizar . Solo Comprar ya no es una opción. E incluso si no existen tales requisitos en este momento, ¿ espera que sus colegas se los propongan más tarde?
Lea otras preguntas en las etiquetas project-management