Blog de Antonio Manuel Muñiz

Desarrollo, Ingeniería y Calidad del Software

Archivos por Etiqueta: Agile

The Agile Quality Concept

Como todo, la calidad del software puede ser entendida y tratada de formas muy diferentes, que en teoría buscan el mismo objetivo. Estoy presenciando personalmente cómo chocan de frente dos enfoques, el ágil y el pesado, pero ¿qué caracteriza a cada uno de estos enfoques?.

Un enfoque pesado se caracteriza por seguir ciertas normas predefinidas y comunes para todos los proyectos, independientemente de la naturaleza de los mismos. En mi opinión, un enfoque ágil debe aportar valor en los aspectos que realmente son importantes para cada proyecto concreto.

Enfoque «ágil» de la calidad

  • Filosofía de aporte de valor. Como comentaba antes el aporte de valor a los aspectos realmente importantes de cada proyecto es la base de un enfoque ágil. No existen unas normas perfectamente definidas en un libro de 300 páginas, la norma es: si aporta valor al equipo de proyecto y al cliente, se hace (siempre dentro de los límites económicos del proyecto, porque como sabemos, la calidad cuesta dinero).
  • Documentación útil. La documentación es una tarea que consume mucho tiempo, y por tanto hay que dosificarla. Solamente se generará la documentación que realmente sea útil durante el desarollo y mantenimiento del proyecto, no tiene sentido la redacción de pesados documentos que en el mejor de los casos acaban en el cajón del cliente sin haber sido leídos. Es fundamental mantener la documentación, ya que es un entregable que evoluciona al mismo ritmo que el desarrollo en una metodología ágil, la perdida de coherencia en la documentación puede ser una gran fuente de errores (y por tanto de trabajo extra).
  • Software que funciona. Una medida de calidad será el software que funciona, y además funciona reflejando el catálogo de requisitos en la implementación, y por supuesto, siendo la implementación correcta a nivel técnico. La piedra angular para asegurar estos dos aspectos es el testing. Si se consigue todo lo anterior, posiblemente otra medida de calidad será la enhorabuena del cliente.
  • Calidad del código fuente. Este es uno de los aspectos que más se dejan de lado en las metodologías pesadas. Cuando uno se enfrenta a un proyecto cuyo código es de calidad, las cosas son más fáciles. La calidad del código comprende aspectos como el seguimiento de una guía de estilo y codificación, evitar el uso de formas de programación que pueden provocar errores potenciales, mantener un código usable, legible, extendible, eficiente, portable y correctamente versionado para su posterior mantenimiento.
  • Integración continua. En un enfoque ágil del aseguramiento de la calidad no puede faltar un sistema de integración continua. Con él automatizaremos las pruebas definidas para el proyecto, compilaremos el código integrando los cambios efectuados por lo desarrolladores, generaremos documentación periodicamente que puede ser consultada incluso por el cliente y mantendremos el código sano en todos los sentidos.

En mi opinión estos son los puntos fundamentales de un enfoque ágil del aseguramiento de la calidad.