Showing posts with label mantenibilidad. Show all posts
Showing posts with label mantenibilidad. Show all posts

Saturday, June 4, 2016

Ideas Locas

Imagina que los Dioses del Código te dieron una varita
Varita mágica
mágica*. Esta impresionante herramienta te permite analizar, instantáneamente, una base de código y darle una puntación de 0 a 10 acerca de su mantenibilidad; donde cero (0) significa imposible de cambiar y diez (10) realmente fácil de cambiar.

De repente, recibes tres propuestas de consultorías de clientes distintos (A, B y C). Ellos te están requiriendo la implementación de nuevas funcionalidades en su producto principal. Utilizando tu varita mágica determinas que:

  • El Producto A tiene un índice de mantenibilidad de 6,
  • El Producto B tiene uno de 1.5, y
  • El Producto C tiene un índice de mantenibilidad de 9

Tus clientes potenciales te aclaran que sus respectivos productos son de misión critica y que el impacto de introducir nuevos defectos podría ser catastrófico. Por tanto, ellos van a transferir ese riesgo a ti: cualquier defecto encontrado durante un periodo de validación de dos meses deberá ser resuelto lo antes posible y sin costo alguno.

Asumiendo una estrategia de precios X (basada en tiempo, basada en esfuerzo, etc.), ¿podríamos
  • Cobrarle al Cliente C la tarifa regular?
  • Cobrarle al Cliente A la tarifa regular ajustada (multiplicada) por algún factor basado en el riesgo (inversamente proporcional al índice de mantenibilidad)?
  • Simplemente descartar el Cliente B y evitar el riesgo?

¿Me sigues?

  • ¿Podríamos educar a nuestros clientes utilizando una estrategia de precios la cual refleje directamente el nivel de riesgo y esfuerzo que debamos asumir al trabajar con productos de software desordenados (baja mantenibilidad)?
  • Con el tiempo, y algunas experiencias duras, ¿Estarán nuestros clientes más vigilantes acerca de la calidad de su base de código, y tal vez comiencen a requerir mayor calidad a todos los desarrolladores, tanto a lo interno como fuera de su organización?

* No esperes a los Dioses, puedes utilizar SonarQube, PMD, ReSharper, Checkstyle, y muchas otras.

Subscribe to our mailing list

* indicates required
Email Format