Agilidad y Calidad - tg-tatiana

Anuncio
Defining Agile Software Quality Assurance
.
E. Mnkandla, Member, IEEE,
.
B. Dwolatzky, Member, IEEE
2006
Agilidad y Calidad
Esta parte comienza por resumir la definición de calidad y presenta un resumen del trabajo que
se ha hecho en el área de la calidad versus la agilidad.
Calidad según la ISO 9000 esta definida como “la totalidad de características de una entidad la
cuales se encargan de satisfacer lo pactado o las necesidades implícitas de su usuario. En la
literatura ágil existente, no se ha dado una definición clara de cuales características de calidad
de software son mejoradas por el uso de los procesos agiles en el desarrollo de este. En este
papel una innovadora técnica es introducida para la evaluación de metodologías con el fin de
determinar cuales factores de la calidad de software hay para mejorar.
Si hablamos y tratamos de abordar, la calidad de los procesos y su agilidad al momento de
gestarlo, vamos a encontrarnos, con que uno no se hace independiente de otro, ya que esto se
encarga de definir la eficacia y eficiencia, que las guía metodológicas proporcionan a los
procesos y de cómo estos pueden responder a las necesidades implícitas que los clientes
tienen al igual que el tiempo a medida que transcurre nos exige mayor velocidad en la
producción de una actividad y una mejor calidad en los resultados que proporcione.
Desarrollo ágil y factores de Calidad
Las practicas agiles que aseguran costo-efectividad de un sistema incluyen lo siguiente: control
de los ámbitos de influencia Utilizando sistemas de iteración que permitan hacer cambios en
los requerimientos de los clientes.
Compatibilidad. Las practicas agiles que aseguran correcciones en un sistema incluyen lo
siguiente: Una característica general de todos los objetos orientados al desarrollo de
aplicaciones. Posibles mejoras en el enfoque de la agilidad incluyen consideraciones de diseño
y arquitectura que apuntan a la independencia de la plataforma.
Costo Efectividad. Las practicas que posean esta característica incluyen lo siguiente: Control
de los ámbitos de trabajo. Esta técnica es usada para prevenir la introducción de cambios en
los requerimientos hasta el fin de la iteración. Posibles mejoras son evitar que esos ámbitos de
trabajo tengan cierres o bloqueos en los cambios de requerimientos; es generalmente difícil
convencer a un cliente de firmar un contrato para un proyecto en el cual su costo esta basado
en el costo de cada iteración, por otra parte, la ventaja de esto es que teniendo en cuenta que
las iteraciones se generan por periodos de tiempo cortos, el costo del proyecto también
obtendrá frecuentes comentarios que sustentaran los costos de inversión.
Correcciones. Las prácticas agiles que aseguran correcciones en un sistema incluyen lo
siguiente como provocación de los principios genéricos que guían los desarrollos agiles:
Inscripción codificada de requerimientos mininos; especificaciones, las cuales son obtenidas
por la comunicación constante y directa con el cliente, permitiendo al cliente hacer cambios en
los requerimientos, historial de usuarios y pruebas de desarrollo. Desde que todos el desarrollo
en practicas agiles este hecho iterativamente, estas tecnicas aseguraran las correcciones en
los niveles de iteración antes tomar desiciones a cerca de continuar o cancelar el proyecto.
Estas practicas agiles puenden ser mejoradas a partir de lo siguiente: considerar la posibilidad
de el uso de especificaciones en el desarrollo agila si como también la posibilidad de uso de
escenarios generales que permiten definir requerimientos.
Facilidad de uso. Las tecnicas agiles que aseguran la facilidad de uso de los sistemas deben:
hacer al cliente parte del equipo de trabajo y clientes que proporcionen comentarios
frecuentemente, ya que ellos probablemente recomendaran un sistema de fácil utilización. Los
frecuentes comentarios visuales que obtengan los clientes durante la distribución de una
iteración les permitirá proporcionar comentarios utiles para mejorar la utilización del sistema.
Eficiencia. Las tecnicas que posean esta característica deben inlcuir lo siguiente: la aplicación
buenos códigos normativos. Para mejorar en las tecnicas hay que fomentar los diseños
basados en los algoritmos mas eficientes
Integridad. Este característica esta basa en el nivel del sistema operativo y también el nivel del
la plataforma de desarrollo. Mejorando la integridad de las tencicas que definen el producto
mejoraría la integridad del sistema.
Mantenimiento. La aplicación de los principios de Objetos Orientados al diseño conduce al
mantenimiento informatico. Desarrollar que mejoren las interfaces entre los diferentes modulos
de objetos pueden tener un impacto positivo en el mantenimiento.
Portabilidad. Originalmente definida como la parte mas importante de los objetos orientados al
diseño. Y ahora promovido por los conceptos de sistemas distribuidos y web service, este
factor de calidad es generalmente implementado a través del concepto de los Objetos
Orientados al diseño.
Reutilidad. Este factor de calidad es generalmente implementado a través del concepto de los
Objetos Orientados a la tecnología. Mas agilidad en el trabajo y la arquitectura de Software, asi
como patrones que pueden mejorar la reutilización de los productos agiles.
Puntualidad. Las tencicas agiles que posean esta característica deben incluir lo siguiente:
Desarrollo iterativo, rápida distribución y ciclos cortos. Esto puede ser mejorado en la reducción
del tiempo para el despliegue de procesos.
Verificación y Validacion. Las técnicas agiles que manejen esta característica deben incluir:
Desarrollo Basado en Pruebas, unidades de prueba y frecuente integración. Para mejorar en
estas técnicas, mas herramientas podrían ser desarrolladas para vincular las pruebas
existentes a cerca de los conceptos basados en el Desarrollo Basado en Pruebas.
Descargar