Criterios del Buen Software

Si tenemos dos códigos que hacen lo mismo… ¿cuál es mejor?

Son frecuentes las discusiones sobre cómo es mejor programar una determinada función o incluso todo un programa. Pues para zanjar la cuestión y sin más preámbulos, aquí van los criterios para saber qué software es «mejor».

  1. Calidad. La calidad es el grado de cumplimiento de los requerimientos. Cuantos más requerimientos (funcionales y de otro tipo) cumpla el software, mejor será. Podríamos resumir este criterio como «que funcione».
  2. Adaptabilidad. Los requerimientos van a cambiar. Lo harán durante el desarrollo o después. Así que cuanto más fácil sea adaptar un software a unos criterios cambiantes, mejor será. Podemos resumir este criterio como que sea «fácil de cambiar». Lo que implica que sea sencillo, fácil de entender…
  3. Robustez. Ocurrirán situaciones no previstas en los requerimientos. Seguro que algún usuario introduce datos inválidos o llega una información inconsistente. ¿Puede nuestro software soportarlo o se cae a pedazos? Cuando más resistente a las situaciones inesperadas sea nuestro software, mejor.

Evidentemente pueden aparecer algunos otros criterios importantes en situaciones especiales. Por ejemplo, un software para la defensa naval encargado de interceptar misiles enemigos tendrá como criterio principal el tiempo de respuesta. O un software encargado de realizar operaciones quirúrgicas tendrá como criterio reducir al mínimo la tasa de fallos. Pero por lo general, la mayoría de programas siguen estos criterios: Calidad (cumplimiento de requerimientos), Adaptabilidad (facilidad para cambiar/evolucionar) y Robustez (resistencia frente a imprevistos).