jueves, 28 de noviembre de 2013

La importancia de la usabilidad (y pequeña experiencia personal)

En muchas ocasiones se dice aquello de "el usuario no sabe lo que quiere". Steve Jobs también expresó esta idea pero introduciendo un matiz:
"La mayoría de las veces la gente no sabe lo que quiere hasta que se lo enseñas"
Yo opino que los usuarios sí saben lo que quieren, pero no siempre saben transmitirlo adecuadamente. Por esta razón resulta útil (como decía Jobs), enseñarle al usuario lo que quiere (o pensamos que quiere) mediante un prototipo de la aplicación, por ejemplo. De esta manera resulta mucho más sencillo obtener feedback útil para construir un mejor producto software final y así lograr una mayor satisfacción del usuario.



sábado, 23 de noviembre de 2013

I Jornada sobre Calidad del Producto Software (2/2)

La JCPS continuo con la charla de Javier García Guzmán titulada "El producto software y los modelos de desarrollo (ágil, iterativo y cascada)". Javier hizo un repaso por los diferentes tipos de modelos de desarrollo software, destacando las ventajas y los inconvenientes de cada uno de ellos. Cuando llegó el turno de las metodologías ágiles, realizó una afirmación tremendamente obvia pero que puede sorprender a más de uno:
Las metodologías ágiles no sirven para todo
¿Es que un desarrollo en cascada ya no sirve en ningún caso? ¿Deben todas las empresas aplicar metodologías ágiles tengan o no éxito con sus modelos actuales? Evidentemente, no. En mi oponión, las metodologías ágiles no sirven para todo... ni para todos. Las metodologías ágiles son muy útiles en proyectos que parten de requisitos cambiantes, cuando se cuenta con un equipo multidispciplinar y auto-organizado y cuando es especialmente importante contar con productos potencialmente entregables en un corto espacio de tiempo. Aquí enlazo con otro concepto ampliamente nombrado en estas jornadas: el time to market. En ocasiones es más importante tener un producto "imperfecto" en el mercado pronto (e ir perfeccionándolo en futuras versiones) que llegar después que tus competidores con un producto completamente terminado.

Otro punto que me pareció muy interesante en la charla de Javier es el del riesgo que supone realizar una incorrecta gestión de las expectativas del cliente. Por ejemplo, si en 15 días el equipo de desarrollo crea un prototipo para mostrar al cliente, éste puede pensar que en poco más tiempo tendrá el producto completo.

Precisamente la estimación de tiempos es uno de los principales escollos de las metodologías ágiles porque generalmente sólo se cuenta con una estimación de las próximas funcionalidades (o historias de usuario) que se van a desarrollar pero no se cuenta con la "foto completa" de funcionalidad de todo el proyecto.

El Big Data se presentó como una posible solución para mejorar las estimaciones ya que una fuente enorme de datos podría ayudarnos a obtener estimaciones por comparación con históricos de tareas similares de otros proyectos.

El diseño centrado en los usuarios (implicar al usuario en el desarrollo del software), la dualidad desarrollo en factorías vs. desarrollo artesanal fueron otros temas tratadas en esta charla. En el diseño centrado en los usuarios es necesario que tanto desarrolladores como usuarios cambien de mentalidad, busquen un lenguaje común y estén dispuestos a invertir parte de su tiempo en colaborar en la obtención de un producto software de alta calidad.

I Jornada sobre Calidad del Producto Software (1/2)

I Jornada sobre Calidad de Producto SoftwareDurante los días 21 y 22 de noviembre se ha celebrado la I Jornada sobre Calidad del Producto Software (JCPS) en el Salón de Grados del Campus de Leganés de la Universidad Carlos III de Madrid. En mi caso, por motivos de trabajo, sólo pude asistir el día 21.
Al llegar al campus, la organización entregó a todos los asistentes una identificación, un diploma de asistencia, una libreta, bolígrafos, y demás material publicitario de algunas de las empresas participantes. También facilitaron un vale para comer en la cafetería del campus y a media mañana sirvieron café y bollería. Este parón para coger fuerzas fue la excusa perfecta para saludar a antiguos compañeros, conocer a otros profesionales del sector y participar en interesantes debates con las charlas escuchadas como punto de partida. El famoso networking siempre es una de las partes más interesantes de este tipo de eventos.

La JCPS se inauguró con un breve discurso de 3 personas entre las que se encontraba Juan Andrés Pro Dios, CIO de El Corte Inglés. De sus palabras destacaría lo siguiente:
  • En primer lugar, subrayó los problemas que según él aparecen en un alto procentaje de proyectos de software:
    • Desviaciones de requisitos.
    • Larguísimas iteraciones de pruebas en las que se invierte hasta un 35% del tiempo y costes de un proyecto.
    • Aumento de los costes por la no calidad del software.

  • Posteriormente destacó que las medidas que se aplican en El Corte Inglés para paliar o eliminar estos problemas son:
    • Modelo de desarrollo nearshore porque las factorías de desarrollo en el extranjero no les han funcionado debido a la barrera del idioma y las diferencias culturales
    • Creación de una Oficina de Calidad que garantice que el proveedor de software sigue el proceso de desarrollo correcto y entrega un producto con la CALIDAD CONCERTADA previamente. El usuario final o promotor del proyecto no se implica en su desarrollo.
    • Buscar la calidad del producto asegurando la calidad del proceso de proceso (aplicando CMMI, ISO2000, Deming, etc.), para alcanzar la INDUSTRIALIZACIÓN Y REPETIBILIDAD del proceso de desarrollo de software, como si de la construcción de un coche se tratara.

Por tanto, en esta primera exposición aparecieron algunos términos y conceptos que todos hemos escuchado en más de una ocasión cuando se hala sobre calidad de software:
  • Industrialización
  • Calidad Concertada
  • Proyectos llave en mano

Compartir