archivo

Archivos diarios: agosto 5, 2011

David (Dave) Lorge Parnas es un profesional canadiense pionero en el campo de la ingeniería del software de la cual ha sido un ferviente defensor a lo largo de su carrera. Ha recibido numerosos premios a lo largo de su carrera y ha sido profesor en universidades de diferentes países del mundo.

El desarrollo de software se realiza para organizaciones que están en continuo movimiento: puede cambiar el mercado, los procesos, los usuarios, los responsables técnicos, etc…, a lo que hay que sumar que se intentan abstraer procesos que se realizan en el mundo real a un programa de ordenador y no es nada fácil ese proceso porque los que definen el sistema no tienen claro, por regla general, lo que quieren realmente (tienen una idea, pero hasta que no la ven reflejada, no terminan por matizarla).

La naturaleza del software es adaptativa, mediante aproximaciones y evoluciones se consiguen alcanzar productos que satisfacen las necesidades del usuario, a través del feedback que se obtiene de los mismos una vez que hacen uso del sistema. Los principios ágiles definen ese marco (que también se tiene en cuenta en metodologías del proceso unificado como RUP), si bien, nuestra propia experiencia personal nos dirigirá de alguna u otra forma y de forma paulatina hacia enfoques iterativos e incrementales en lugar de ciclos de vida clásico o en cascada.

Dave Parnas, sobre este tema realiza la siguiente reflexión (traducción libre): “Por regla general, los sistemas software no funcionan adecuadamente hasta que han sido utilizados y han fallado repetidamente en entornos reales”.

Elisabeth Hendrickson es fundadora de la empresa Quality Tree especializada en consultoría y coaching en calidad del software y testing. Su trayectoria profesional, desde 1984, ha estado centrada en ambas materias además de en la programación, si bien en los últimos años se ha centrado en las metodologías ágiles, concretamente la Programación Extrema.

La gran especialidad de Elisabeth Hendrickson es el testing, por lo que hay que tener muy en cuenta su siguiente reflexión (traducción libre): “He tenido exitos y fracasos con la automatización del testing. Mis mayores éxitos proceden de la aplicación de una estrategia efectiva en la utilización de las herramientas e instrumentos que se encontraban a mi disposición. Mis mayores fracasos son el resultado de la creencia en la necesidad de automatizar todo”.

Esta idea, válida en el mundo de la automatización de las pruebas, es perfectamente aplicable al desarrollo de software (adaptándola convenientemente). En demasiadas ocasiones se realizan sistemas pensando en que el usuario no tiene ni idea del negocio y se le trata de guiar en todo, implementándose unas restricciones que restan flexibilidad y añaden complejidad, provocando en muchos casos una reducción en la productividad en el uso de la herramienta y en otros el fracaso de la aplicación.