Blog >

SCRUM y QA, dos elementos fundamentales para la efectividad de los proyectos.


En un mercado tan competitivo y cambiante como en el que operamos actualmente, es necesaria la rapidez, adaptabilidad, compatibilidad, simplicidad, colaboración, compromiso, costes bajos y calidad. Todos ellos son términos asociados a metodologías SCRUM y QA.

En este artículo vamos a explicar el origen de los términos, su significado, y cómo compatibilizan en el desarrollo de software.

SCRUM

SCRUM no son siglas, significa melé, un tipo de jugada de fútbol americano en la cual, los jugadores de ambos equipos tienen el objetivo común de obtener el balón.

Esta metodología de origen japonés consiste en un conjunto de prácticas y roles para definir el proceso de desarrollo que se ejecutará durante un proyecto.

En SCRUM se desarrolla software casi desde el principio y provoca resultados para que el cliente este satisfecho con el ¿qué? y con el ¿cómo se está haciendo el desarrollo de software?.

Los actores intervinientes son:

  • El Product Owner: Define la funcionalidad con el usuario/cliente y establece las prioridades del proyecto.
  • El SCRUM Master o Facilitador: No es el líder del equipo, sino que se asegura de proteger al SCRUM Team ante cualquier interferencia y/o presión de factores externos que les distraiga. En términos generales se encarga del cumplimento de las metodologías y reglas de SCRUM mediante su guía en las reuniones y otros factores intervinientes para el alcance de los objetivos del Sprint.
  • El SCRUM Team: Son un grupo de analistas, desarrolladores y QA de entre 3 a 9 personas, encargados de llevar a cabo el proyecto con las funcionalidades seleccionadas por el Product Owner.
  • Los Usuarios o Cliente: Los que usan y/o los que solicitan el producto.  Durante el progreso aportan ideas, sugerencias o necesidades.

La metodología se basa en:

  • Sprints: Son el desarrollo incremental de los requisitos y objetivos del proyecto en bloques temporales cortos y fijos. Su duración oscila entre 2 y 4 semanas. Los intervinientes en la planificación de los Sprints suelen ser el Product Owner, el SCRUM Master y el SCRUM Team.
  • Prioridad: Se prioriza mediante el criterio de valor y/o importancia para el cliente.
  • Daily: El equipo se reúne diariamente para poner en común los avances y dificultades del proyecto de forma individual, el objetivo es seguir avanzando realizando ajustes si son necesarios.
  • Avance continuo: Tras cada Sprint se muestra al usuario/cliente el resultado obtenido, para su satisfacción y que exponga sus conclusiones e indicaciones sobre el resultado.SCRUM y QA BLOG

Una vez tenemos una idea básica, a continuación hablaremos de QA.

QA (Quality Assurance)

Los QA (Quality Assurance) son los que se aseguran de la calidad de un proyecto a nivel funcional y no funcional del software para la satisfacción del cliente.

Para llevar a cabo estas tareas enumeramos algunos de los procedimientos más importantes:

  • Generación de planes de prueba: Se elabora un plan de prueba paso a paso detallando cada paso a seguir en la aplicación según la funcionalidad deseada. Es necesario generar planes de pruebas de fallos, basados en las estadísticas teniendo siempre presente el alcance de la prueba a nivel de toda la aplicación.
  • Prueba de fallos de usabilidad: Referente a la funcionalidad deseada, posibles fallos por no contemplación de casos límite, recurrentes del lenguaje, conversiones de datos…
  • Eficiencia y carga: Con el fin de mejorar y optimizar la experiencia de usuario, se generan estadísticas de uso, de carga de usuarios, velocidad de respuesta…
  • Gestión de la calidad: Tener en cuenta los requisitos, el alcance, el lenguaje de desarrollo, el SO en que se va a ejecutar la aplicación, si tiene que ser multidispositivo, si es una aplicación web…
  • Automatización: Se realizan pruebas automatizadas implementadas conforme a errores conocidos de la plataforma en la que se desarrolla. Se trata de automatizar la detección de errores específicos y reiterativos en la aplicación para reducción de coste en tiempo.

Veremos más procedimientos y el valor añadido a nuestra empresa de un QA en el artículo La importancia del QA para cumplir con la garantía de calidad.

Ya sabemos que es SCRUM y que es un QA, hablemos a continuación de cómo trabaja y aporta valor añadido un QA en un proyecto gestionado con SCRUM.

QA en metodologías SCRUM

El QA no solo se limita a detectar fallos en el sistema. Se analizan comportamientos, se anticipan defectos y se verifica que el funcionamiento y la usabilidad de una solución sean correctos.

Su figura intermedia entre usuario/cliente y el SCRUM Team de desarrollo permite gestionar directamente el feedback del cliente en cada Sprint. Es decir, corregir posibles errores y encontrar soluciones de forma ágil e inmediata.

Las pruebas están orientadas al usuario final, aportando soluciones ante defectos de usabilidad o experiencia de usuario en fases tempranas.

El QA es una figura que tiene mucho conocimiento funcional de la aplicación, minimizando la incertidumbre que los desarrolladores suelen encontrar en su desarrollo. Además de ello, fomenta el análisis, la documentación, y la recopilación de información, lo que será de vital importancia en el desarrollo.

Con el manejo de herramientas de integración continua, el QA realiza la automatización de pruebas. Este proceso conlleva una agilización en las pruebas de calidad y rendimiento de la solución desarrollada.

Finalmente, tiene la responsabilidad de asegurar que el producto iguale e incluso supere las expectativas del cliente/usuario, lo cual es de importancia vital en el desarrollo de cualquier proyecto.

Si queréis comentarnos lo que sea podéis hacerlo en info@kabel.es
También podéis seguirnos en Twitter, LinkedIn, Facebook

Kabel

Suscríbete a nuestra newsletter para enterarte de las novedades más Geek

Newsletter Banner
RGPD

Contenido Relacionado