¿Cuáles son los pasos necesarios para garantizar que haya cubierto la debida diligencia técnica al comprar un producto de software (e IP) creado por otra compañía?

7

Si tenía la tarea de realizar la diligencia debida para un producto de software / IP, su empresa estaba considerando comprar. ¿Cuáles serían sus pasos para asegurarse de que la compra fuera aceptable desde un nivel de riesgo técnico? El escenario es que una empresa tiene un producto que usted o su empresa está interesada en comprar en su totalidad (IP y código) para que su empresa ahora pueda vender ese producto o sus servicios. La suposición inicial es que el producto tiene algún valor, pero desea evaluar la base técnica del producto para asegurarse de que no es un ataque completo ni una pesadilla que respaldar.

Ejemplos de esto podrían incluir

  • Compile / Genere e instale el software en una computadora limpia para verificar el ciclo de compilación e implementación.
  • Ejecute una herramienta de creación de perfiles de código en la base del código para tener una idea de la calidad general del código.

¿Qué más? ¿Hay recursos / listas de verificación en la web que puedan ayudar?

    
pregunta Stimy 14.06.2011 - 22:32

3 respuestas

5

Como no obtuve una respuesta verdadera a mi pregunta, pensé en seguir con lo que hice.

Acabé de reunir una combinación de una Lista de verificación de diligencia debida y una Evaluación de la calidad del software en un documento combinado junto con una lista de preguntas y respuestas recibidas de las distintas comunicaciones con la empresa a la que le compramos el producto.

Para la Evaluación de la calidad del software, utilicé una variante del estándar ISO / IEC 9126 para adaptarla a nuestras necesidades y ponderaciones internas. Esto cubre aspectos clave del software, como la capacidad de mantenimiento, la capacidad de evolución, la portabilidad y la descriptividad.

La lista de verificación de diligencia debida tenía una lista de actividades junto con si se habían completado y comentarios sobre cómo se realizó la actividad. Las actividades incluyeron lo siguiente:

Arquitectura de software

  • Presentación de la arquitectura de software de alto nivel
  • Documentación de arquitectura de software proporcionada
  • Análisis de calidad del código realizado

Arquitectura de hardware

  • Presentación general de hardware / infraestructura de alto nivel
  • Documentación de arquitectura de hardware / infraestructura proporcionada

Soporte

  • Presentación de la asistencia técnica de alto nivel
  • Se proporciona documentación de soporte y solución de problemas
  • Tutorial de incorporación de alto nivel
  • Se entregó la documentación de incorporación

Construir e implementar

  • Genere e implemente la documentación entregada
  • Ejecución y ejecución de la máquina limpia

Estimaciones de costos

  • Calcule los costos de soporte continuos para la incorporación y el mantenimiento del producto en funcionamiento
  • Estime los costos iniciales de hardware y recursos para llevar la solución "en casa"
  • Estime los costos iniciales de software y recursos para llevar la solución "en casa"
respondido por el Stimy 08.09.2011 - 19:24
3

Agregaría realmente mirando el código para ver si te da ganas de vomitar.

¿Cómo está la documentación?

¿Construir sin errores / advertencias?

¿Tiene acceso a su base de datos de errores? ¿Qué aspecto tiene?

Nunca lo he hecho antes, sin embargo. Lo más que he hecho es evaluar el uso de bibliotecas de terceros en nuestros propios esfuerzos de desarrollo. Para eso básicamente quiero saber:

  • ¿Es estable la empresa?
  • ¿Proporcionan apoyo real?
  • ¿Cómo está la documentación? ¿Puedo aprender fácilmente cómo usar esto?
  • ¿Cómo está el diseño? ¿Despediría a los desarrolladores?
  • ¿Qué tan rápido son para responder a los informes de errores?
  • ¿Les dan una mierda sobre la compatibilidad con versiones anteriores?

Cosas así.

    
respondido por el Crazy Eddie 14.06.2011 - 22:44
3

ANTES de comprar algo, asegúrese de haber reunido y escrito todos los requisitos para el software que está comprando. Luego, detalle todos los requisitos de alto nivel y priorícelos, clasifíquelos y califíquelos según su importancia para el sistema que está considerando comprar.

Por ejemplo, digamos que (por ejemplo) tiene cuatro requisitos, luego clasifíquelos y déles una calificación:

  • Requisito 1: prioridad 1, 35%
  • Requisito 2: prioridad 1, 35%
  • Requisito 3: prioridad 2, 15%
  • Requisito 4: prioridad 2, 15%

Luego, mientras evalúa su solución diferente, pruebe cada una de ellas y haga preguntas al proveedor para ver qué tan bien, o incluso si, satisfacen sus requisitos. Luego, asigna una calificación de 1 a 10 para cada uno de estos requisitos que determina qué tan bien (en su opinión) el sistema cumple con sus requisitos.

Multiplica cada calificación por el factor de porcentaje y súmalos. De esta manera, puede tener una forma cuantificable de tomar una decisión y algo que la administración pueda entender (especialmente si está en una hoja de cálculo de Excel).

Además, asegúrese de incluir requisitos funcionales y no funcionales (por ejemplo, costo, facilidad de instalación, etc.)

He hecho esto varias veces con éxito en los últimos años.

    
respondido por el Catchops 14.06.2011 - 22:46

Lea otras preguntas en las etiquetas