METODOLOGIAS AGILES SCRUM Cuando esta metodología empezó a surgir las pruebas tienden a desaparecer porque AGIL es ser rápido y ser Ágil no es ser rápido si no es hacer las cosas mejor en menos tiempo, el trabajo en equipo es fundamental. Que es un proyecto: Es un esfuerzo temporal que se lleva a cabo para crear un producto o un servicio con un resultado único. Tipos de proyectos: - Simples: Saber qué y cómo, hay acuerdos. Caóticos: Desconocimiento, no existe acuerdo. Complicados: Cierta incertidumbre, hay un cierto acuerdo. Complejos: Mucha incertidumbre, ya hay acuerdos. Proceso definido: Completamente entendido por todos los miembros del grupo esperando un mismo resultado. Proceso empírico: Es lo que no sabemos, pero debemos tener un fin, espera lo inesperado. Procesos iterativos: Son todas las fases de desarrollo, itera todo el tiempo Proceso incremental: Pasa por todas las fases de desarrollo el incremento mejora el proceso. MANIFIESTO AGILE No representa la invención de las metodologías agiles, sino si presentación en sociedad. Los 4 valores de manifiesto son: - Individuos e iteraciones. Software funcionando. Colaboración con el cliente. Respuesta ante el cambio. Los 12 principios del manifiesto AGIL: - Satisfacción del cliente. Bienvenidos los nuevos requisitos. Entregas por semana. Es posible medir el progreso. Desarrollo sostenible. Trabajo cercano. Dialogo cara a cara Motivación y confianza Excelencia técnica y buen diseño Simplicidad Autogestión de los equipos Adaptación circunstancias cambiantes. METODOLOGIAS AGILES MAS USADAS EXTREME PROGRAMMING XP: Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en el desarrollo de software. - El trabajo en equipo. Preocupándose por el aprendizaje de los desarrolladores. Un buen clima de trabajo. 4 fases de las metodologías XP: Planeación, diseño, codificación y pruebas. METODOLOGIA SCRUM Emplea un enfoque iterativo e incremental para optimizar la predictibilidad y el control del riesgo. MARCO DE TRABAJO: - Roles: Scrum master, Product Owner y Equipo de desarrollo. Ceremonias: Planeación del sprint, reunión diaria, retrospectiva del sprint. Artefactos: Pila del producto, pila del sprint, sprint, incremento. PILARES DEL SCRUM: Transparencia, Inspección, Revisión o retrospectivas. METODOLOGIA KANBAN En esta metodología se divide el proceso en fases y el pionero fue Toyota. - Roles: product Owner, scrum master, equipo. Reuniones: planeación, reunión diaria, planear entrega, reunión de estrategia, reunión de entrega, reunión de revisión (operacional), reunión de riesgos. Porque y para que testear: Es el “momento de la verdad” en el que mostramos al usuario lo que hemos diseñado para él. El final de un recorrido de generación de ideas, que han sido aterrizadas en forma de prototipo. FUNDAMENTOS DE TESTING Testing: Es la validación de un proyecto de software bajo la revisión de unos casos finitos de casos de prueba. Principales características del proceso de testing: es independiente del proceso de desarrollo, es funcional para los productos, es basado en los riesgos del producto, guiado por los ciclos de prueba, prueba a partir de los requisitos, se adapta a cualquier proyecto de prueba. Ciclo de vida de testing: Definición, diseño de solución, inicio del test, análisis de resultados, implantación de versión optima. Atributos de calidad funcionales: Precisión, idoneidad, interoperabilidad, conformidad, seguridad. Atributos de calidad no funcionales: Fiabilidad, usabilidad, eficiencia, mantenibilidad, portabilidad. NIVELES DE PRUEBAS - Unitario: detecta rores en los datos, lógica y algoritmos. Integración: detecta errores de interfaces. Sistema: detecta fallas en el cubrimiento de los requisitos. Aceptación: detecta fallas en la implementación del sistema. TIPOS DE PRUEBAS - Funcionales Pruebas de características de software no funcionales. Pruebas de la estructura o arquitectura del software. PRACTICAS RELACIONADAS CON AGILE TESTING - TDD: Deben escribir las pruebas antes que fallen. ATDD: El equipo visualiza y acepta los criterios de aceptación. BDD: Pruebas desde el inicio antes de desarrollarse. Testing exploratorio: enfoque para la realización de pruebas de software. Automatización de pruebas de regresión: permite incluir pruebas repetitivas y necesarias. Automatización de pruebas unitarias: Un proceso de desarrollo de software que necesita mejorar la calidad y reducir el número de defectos. CASO DE ESTUDIO Apple es una empresa donde su metodología fue basada en los procesos AGIL y su principal característica es la calidad y en cada proceso tiene personas designadas solamente a desarrollar el proyecto designado, realizando reuniones periódicas y se basan en la confianza que se tienen cada uno en su proceso.