Inicio Articulos. 10 mejores prácticas para la generación de software

10 mejores prácticas para la generación de software

Revista Mundo-Contact

    10 mejores prácticas para la generación de software
Pruebas de software para medir el costo, el alcance, los resultados y la efectividad. La rapidez con que se construye un edificio es sorprendente, pero detrás de esa aparente facilidad están los siglos de experiencia de la industria de la construcción, y si quisiéramos aplicar los mismos parámetros a los proyectos de software, la desproporción será abismal. A casi tres décadas el desarrollo de software sigue buscando la manera adecuada de desarrollarse para hacerlo más rápido y sin errores.

Anteriormente las pruebas de software se consideraban sólo una actividad que realizaba el programador para encontrar fallas en sus productos; con el paso de los años se ha determinado la importancia que tienen para garantizar el tiempo, el costo y la calidad del producto, de tal forma que actualmente son un proceso cuyo propósito principal es evaluar en todo momento la generación del software respecto de los requerimientos establecidos al inicio.

¿Cuál es la nueva tendencia en las pruebas? Iniciarlas en etapas tempranas dentro del proyecto, y capacitar a especialistas responsables de esta actividad.

El primer punto quiere decir que actualmente es una práctica casi generalizada que las especificaciones de pruebas se realicen al mismo tiempo que el diseño de software; la propuesta es iniciar el análisis del testware junto con el análisis del software. Esto habla de pruebas preventivas que ofrecen ventajas como las siguientes:

a) Se identifica qué se quiere y cuáles son los resultados esperados (criterios de aceptación) b) Ejecutar las pruebas tan pronto como el software está listo. c) No sólo descubrir errores, sino evitarlos.

El segundo punto habla de crear conciencia sobre la importancia de las pruebas y tener un equipo de personas dedicadas a esta actividad que puedan integrarse a un proyecto y sean responsables de su calidad. Hoy se tiene ya definida la carrera de ingeniero de pruebas y existen organismos especializados para certificar en esta disciplina.

Entonces se puede decir que los objetivos actuales de las pruebas no sólo tienen que ver con corregir errores, sino con prevenirlos influyendo y controlando el diseño y desarrollo del software. Las pruebas deben ser empleadas como modelos de los requerimientos de software que se ha de construir; por tanto, en las especificaciones de software deben incluirse especificaciones de pruebas; ambas deberán revisarse en conjunto, y en esta revisión deberá participar un especialista en pruebas.

“Este 2008 se espera que el mercado del software nacional aumente su participación en el mercado intenacional hasta un 13% de acuerdo con lo revelado por Select, de ahí la importancia de implementar mejores prácticas para un desarrollo exitoso. Considerar los anteriores aspectos, puede ayudar a mejorar el proceso de desarrollo de software y a hacerlo más predecible.” comentó Edmundo Robert, Director General de Praxis

La disciplina de pruebas ha evolucionado en una práctica de especialización que puede ser ofrecida como un servicio hacia clientes internos y externos, garantizado que tanto la metodología como las herramientas automatizadas son aprovechadas eficientemente para alinear el desarrollo a las expectativas del cliente.

Al respecto, Elsa Ramírez, Directora de Tecnología y Calidad para Praxis, comentó: “Se debe reconocer que las pruebas son una especie de administradores de riesgos; al igual que en los problemas de combinatorias complejas, se puede definir cuál debe considerarse buen resultado, aunque no necesariamente sea el mejor resultado; con esto quiero decir que las pruebas sólo deben obtener un producto práctico con la calidad y funcionalidad requeridas”.

A continuación se sugieren 10 mejores prácticas para la generación de software:

Hacer una evaluación del trabajo de cada integrante del equipo.
Conscienciar al equipo de la importancia que tienen las pruebas y el valor que tienen para cada miembro del equipo y así generar cooperación y coordinación entre los miembros del mismo. Establecer un plan maestro integrado.
Establecer claramente las funciones y responsabilidades de los equipos de desarrollo y pruebas Considerar las pruebas preventivas como parte de las especificaciones de trabajo.
Diseñar previamente los escenarios de prueba, dentro del desarrollo de software, y realizar revisiones para asegurarse de que lo que se está construyendo cumple con los requerimientos solicitados. Usar las pruebas como puntos de control y progreso.
Realizar pruebas y revisiones formales para verificar y demostrar que todos los productos claves del proyecto han sido realmente terminados. Inventario de los objetivos de pruebas y diseño para factibilidad.
Revisar la factibilidad en la realización de las pruebas. Probar pronto y frecuentemente.
Hay que probar lo antes y más frecuentemente posible; esto permitirá detectar los problemas tan pronto surjan, de esta manera el desarrollador será más eficiente en las correcciones. Diseñar y desarrollar el testware como el software.
Esto implica planear, analizar, diseñar, supervisar, controlar los cambios, administración; en suma, desarrollar el testware con la misma disciplina con que se desarrolla el software. Proporcionar una herramienta integrada de pruebas, evaluación y de soporte de infraestructura.
Proporcionar herramientas que incluyan: Base de datos o repositorio, Administración de pruebas, que permita documentar, ejecutar y clasificar pruebas, Soporte automático, Simuladores, Analizadores de software, Manejadores de pruebas, Herramientas de captura y repetición (playback) y utilerías. Medir el costo, el alcance, los resultados y la efectividad de las pruebas y evaluación.
Coleccionar información que permita conocer el costo, los resultados y los beneficios así como el alcance. Entrenar y administrar al equipo.
Proporcionar el liderazgo y administración al equipo con el fin de que sepa lo que se espera de él para que se tomen las pruebas seriamente. Definir los criterios de "mejores prácticas".

La razón principal para implementar esta práctica, es que finalmente todo el tiempo perdido, se convierte en costos que afecta los resultados de un proyecto, pues generalmente se usa más del tiempo planeado para las pruebas. Para los administradores de proyectos, la correcta administración es la que lleva a obtener buenos resultados..

Según el Reporte Global de Tecnologías de la Información, los países en desarrollo pueden transformarse, acelerar su desarrollo económico y social, utilizando las TIC. Además, existe un 85 % de correlación entre la adopción de TIC’s y la productividad.

 

Según el Reporte Global de Tecnologías de la Información, los países en desarrollo pueden transformarse, acelerar su desarrollo económico y social, utilizando las TIC. Además, existe un 85 % de correlación entre la adopción de TIC’s y la productividad.