Software Entropía

La entropía es un término de termodinámica que significa la cantidad de desorden en un sistema.

En el desarrollo de software, algunas veces esta ligada a la forma de ver las cosas por las personas. No creo que sea solamente de una cultura en el trabajo, si no que es una forma de vida. Por ejemplo, pareciera ser que a algunas personas les gusta dejar su desorden por todos lados, para ellas son solo detalles insignificantes, sin embargo no son conscientes de que estas “pequeñeces” generan un gran desastre y afectan a otras personas e inclusive a la institución para la que trabajan.

La lección es que hay que atender los problemas cuando son pequeños antes de que el problema sea mayor, o de plano no tenga solución.

Hay dos muy buenas alegorías respecto a esto:

  1. Efecto de la rana hervida (Boiled Frog Effect). Cuando ponemos una rana en una olla de agua sobre la estufa, y subimos la flama poco a poco, la rana no puede detectar el cambio de temperatura hasta que muere.
  2. Reparar las Ventanas Rotas (Fixing Broken Windows). Considerar la posibilidad de un edificio con algunas ventanas rotas. Si las ventanas no se reparan, la tendencia es que los vándalos rompan los vidrios de más ventanas. A la larga, pueden incluso entrar en el edificio, y si está desocupado, tal vez convertirse en ocupantes ilegales. Este es el fundamento de la más reciente campaña del Consejo de la Comunicación, “No te calles, ¡¡alza la voz!!” – Un delito grande empieza por uno pequeño.

Según los autores del libro “The Pragmatic Programmer“, los dos síntomas son distintos, en el segundo las personas pierden la esperanza por la sensación de a que a nadie más le importa.  En la primera, la rana simplemente no nota el cambio. Una ventana rota se aplica a un diseño incorrecto, malas decisiones, código de baja calidad. Se tienen que reparar tan pronto son descubiertas. Y en caso de que no sea posible, hay que señalarla con la finalidad de prevenir un mayor deterioro. El siguiente parrafo del libro lo resume muy bien.

We’ve seen clean, functional systems deteriorate pretty quickly once windows start breaking.

2 Responses to “Software Entropía”

  1. rrubio74 Says:

    Lo interesante de esto es tratar de evitar que esta actitud se propague a los demas integrantes del equipo. Justamente en StackOverflow.com hay una discusión al respecto: http://stackoverflow.com/questions/570165/best-way-to-deal-with-bad-apples

  2. David Solis Says:

    Román,

    El tema de la entropía no está limitado por el caos que causan las “manzanas podridas” o las “malas semillas”. Sin duda, un tema interesante para discutir.
    La dinámica del grupo de trabajo y/o proyecto puede hacer que cualquier integrante contribuya al deterioro de los sistemas.

Leave a Reply