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.-