Calidad

Dentro del mundo del desarrollo y de la gestión de proyectos, se habla mucho del “triángulo de hierro”, de las tres dimensiones con las que podemos manejar en un proyecto: tiempo, alcance y coste. A menudo se habla también de otra dimensión oculta que es la calidad.

Desde algunos puntos de vista, la calidad es algo a lo que no se puede renunciar, porque a largo plazo se vuelve contra tuya. Si descuidas este aspecto, a largo plazo tu base de código se volverá difícil de interpretar y de extender, los errores se multiplicarán y serán más difíciles de solucionar… Lo sé porque he estado ahí muchas veces.

En Plain Concepts apostamos mucho por asegurar la calidad del software que escribimos, y estas son algunas cosas que hacemos para intentar mejorarla:

  • Trabajar en equipo (I). Eso significa que las decisiones importantes, las estructura de las soluciones, las arquitecturas, se deciden en común, dentro del equipo. Esto lleva a un debate que pensamos redunda en mejores soluciones que las que puedes pensar tú solo, por muy listo que sea.
  • Trabajar en equipo (II). Trabajar en equipo también significa que cuando tienes un problema, puedes recurrir al equipo para desatascarlo de la mejor manera posible (una vez más mejor solución que pensándola tú solo).
  • Pruebas automáticas. Una de las variables hablando de calidad son los errores; evidentemente cuantos menos mejor, y desde un punto de vista de sostenibilidad, esto no se puede hacer con pruebas manuales, porque llegaríamos a un punto de pasar más tiempo probando que desarrollando. Por eso apostamos por las pruebas automáticas, sin obsesionarnos con el 100% de cobertura.
  • Demo con cliente. Trabajamos en sprints, así que entregamos software funcionando al final de cada ciclo. Esto significa que el cliente puede y debe probarlo y reportar errores. Esto no es siempre así (y habría que mejorarlo) pero de todas maneras el sprint siempre culmina con una demo con cliente en la que enseñamos y probamos ese software funcionando.
  • Demos internas. Para asegurar (entre otras cosas) que esa demo con cliente va bien hacemos una demo interna anterior a la demo con el cliente, de manera que tenemos un pequeño margen de mejora por si algo no sale todo lo bien que debiera. En esta demo también se tratan y discuten otros aspectos del proyecto.
  • Desarrollar en pareja. El “Pair programming” es un mundo en sí mismo, y quizá no es para todo el mundo ni para todas las ocasiones, pero nos ayuda a tomar mejores decisiones.
  • Revisión de historias. Cada historia finalizada se valida con otro miembro del equipo y contra una “Definición de hecho” que repasamos para ver si todo está en orden. Esta lista incluye cosas como validar en un entorno de integración, revisión de código, pruebas automáticas…

En algunas ocasiones, nos hemos encontrado con proyectos que se desvían del estandar de calidad que consideramos apropiado, así que estamos barajando alguna medida más.

  • Revisiones de código. Las revisiones de código que hacemos centradas en una historia a veces no te dan una visión general del proyecto, o igual no es el momento de revisar cosas como la congruencia de las decisiones tomadas a lo largo del proyecto, con lo que necesitamos otros momentos en los que revisar estos aspectos. Le estamos dando forma como revisiones de proyecto, que se convocan periódicamente.
  • Evitar los proyectos “monopersona”. Es complicado en algunas situaciones con proyectos pequeños, pero en la medida de lo posible sería deseable evitar este tipo de proyectos, para poder contar con al menos otro punto de vista a la hora de tomar decisiones y evitar que sean demasiado individuales.

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: