Mag Meld

Software y errores

Publicado en programación, Software por Lúgh en 15 octubre 2011

Una parte muy importante del desarrollo de software es la parte de pruebas, que en teoría se debe realizar a lo largo de la realización del proyecto, desde el primer día que se programa la primera línea (bueno, quizás no tanto, pero casi) los programadores deben realizar pruebas y pruebas con cada archivo desarrollado. Gracias a estas pruebas se detectan los fallos, y se consigue mejorar el software.

Para los que no saben demasiado del ciclo de desarrollo de un producto software,  típicamente está dividido en varias etapas.

  • Análisis
  • Diseño
  • Implementación (programación)
  • Pruebas
  • Implantación
  • Mantenimiento

Estas son las clásicas etapas, pero como para cada proceso de ingeniería, tiene variantes en las que se extiende, recorta o se toman de otra forma. Esto siempre depende de proyecto que se este desarrollando, el equipo con el que se desarrolle, las herramientas, etc. Estas etapas son un ciclo que se realiza una y otra vez hasta que se consigue el producto software deseado. Durante estas etapas interviene el cliente para dar su feedback.

ciclo de un producto software

Ciclo de un producto software

Pensar que crear un programa es ponerse directamente a escribir código es como pensar que levantar una casa es decirle a un peón “Eh, tú quiero una casa de 3 pisos” sin dar ningún tipo de plano, orden de ejecución, especificación de los materiales que debe usar, etc. Este pensamiento está muy generalizado entre todos aquellos ajenos a la informática y que lleva a la  consiguiente infravaloración de la profesión de ingeniero informático, del que se piensa que es un tío delante de un ordenador todo el día, cuando ha sido formado para pasar más tiempo delante de una pizarra creando diagramas (los planos).

Volviendo sobre el tema de los errores en el software y la importancia de detectarlos a tiempo, comentar que estas etapas son secuenciales y cada una necesita de la anterior para llevarse a cabo (generalmente). Es importante verificar que todo es correcto antes de seguir a la siguiente etapa porque un error no resuelto en una de las primeras etapas conllevará un mayor coste para solventarlo cuanto más se avance en el proyecto. Esto es debido a que será necesario modificar todos los aspectos referentes a dicho error entre la fase actual y la fase donde se encuentra el error.

Coste de solventar un error de especificación según avanza el proyecto

Coste de solventar un error de especificación según avanza el proyecto

La mayor parte de los errores del software, 75%, están relacionados con las dos primeras etapas (análisis y diseño), vagas especificaciones, requerimientos erróneos, diseño incompleto, etc. Tan solo un 10% está relacionado con errores directamente achacables a la etapa de implementación. En mi experiencia, las pequeñas empresas tienden a omitir las fases de análisis y diseño (mandan a los peones construir la casa directamente) y es debido a una falsa sensación de que se está perdiendo el tiempo cuando uno se encuentra en estas etapas, pero la realidad, como se ha visto es muy diferente, saltarse estas etapas (análisis y diseño) conlleva la creación de un producto software de baja calidad y altísimo coste.

Advertisement
Etiquetado con:,

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.