Desarrollo de Software

Desarrollar software es muy distinto que escribir programas para computadores. La diferencia es equivalente a aquella que existe entre escribir un texto y publicar un libro. La calidad del texto no tiene por qué ser inferior a la del libro, pero la publicación del libro requiere de cierto esfuerzo logístico y de control de calidad adicional.

Software es más que un programa pues software es más que una solución a un problema técnico. Un producto de software nace para satisfacer una cierta demanda, mejorar algo, facilitar un proceso. Se trata de algo concreto, algo que -al menos en teoría- trae algún beneficio. Para que dicho beneficio pueda llegar a hacerse efectivo, es indispensable que el producto tenga todo lo que se requiere para ponerse en marcha y entregar los resultados para los que fue diseñado. El producto debe incluir:

  • Una clara especificación de las interfaces. ¿Cómo interactúa el producto con el resto del mundo?

  • Especificación de los límites y requerimientos. ¿Qué necesita el sistema para funcionar? ¿Qué es capaz de hacer? ¿Qué cosas no?

  • Manual de uso/administración/instalación.

El resultado de la ejecución de un producto de software debe ser definido, en todo el espacio de configuraciones, modalidades, plataformas y arquitecturas que el fabricante define como aplicables. El fabricante debe asegurarse que ello sea así y para lograrlo tiene sólo dos alternativas:

  • Controlar la calidad del sistema, para asegurarse que el producto de los resultados esperados en todo el espectro para el que ha sido diseñado

  • Indicar claramente cuáles son los límites. Si no es capaz de asegurar que funciona en ciertas condiciones, ello debe ser comunicado al usuario.

Desarrollar software es una tarea delicada y compleja. Esa tarea, a mí me encanta.

Gik.-