Alfredo, cuando hablas de riesgo, supongo que uno de ellos es la acumulación de deuda técnica ¿no?.
Hago esta referencia porque creo que en algún punto, fin y medio se cruzan o, al menos, pueden estar relacionados. Me refiero a que un producto que hoy es un éxito, puede acabar convirtiéndose en un fracaso, simplemente porque comience a ser poco fiable, porque el código, al ir creciendo, se vuelva inmantenible, aparezcan demasiados bugs, etc.. Quiero decir que el tiempo juega en nuestra contra ya que la pelota se va haciendo más grande.
Esta reflexión la extraigo de la que hace Uncle Bob en el capítulo 1 de Clean Code, concretamente en el segundo y tercer párrafo de la página 3.
"I know of one company that, in the late 80s,
wrote a killer app. It was very popular, and lots of
professionals bought and used it. But then the
release cycles began to stretch. Bugs were not
repaired from one release to the next. Load times
grew and crashes increased. I remember the day I
shut the product down in frustration and never
used it again. The company went out of business
a short time after that.
Two decades later I met one of the early employees of that company and asked him
what had happened. The answer confirmed my fears. They had rushed the product to
market and had made a huge mess in the code. As they added more and more features, the
code got worse and worse until they simply could not manage it any longer. It was the bad
code that brought the company down."
¿Que os parece?, ¿es posible llegar a un acuerdo sobre lo que se considera buen cóodigo y que además sea medible?.
Saludos