• No se han encontrado resultados

Planteamiento del Trabajo de Investigación

Capítulo 1 Introducción

1.5 Planteamiento del Trabajo de Investigación

Las metodologías ágiles representan una innovación exitosa en la IS. El usuario puede palpar constante y continuamente resultados valiosos durante el proceso de construcción del software. Sin embargo, resulta fundamental que el resultado final sea funcional y fácil de usar.

Con entregas continuas y un timeboxing definido el equipo requiere una alta dedicación al desarrollo de las iteraciones. Esto implica limitar al máximo actividades que puedan “interferir” o retrasar las tareas necesarias para el desarrollo del producto software correspondiente. La incorporación de técnicas HCI implica incrementar tiempo de desarrollo por lo que el uso de éstas debe realizarse de manera ordenada sin ocasionar sobrecarga en el entorno ágil. Esto incluye no sólo la posible adaptación de las técnicas HCI sino también un estudio detallado del momento en que dichas técnicas han de incorporarse dentro del proceso de ágil.

La organización del equipo ágil al incorporar las técnicas HCI y el perfil de sus miembros son también características que se han visto afectadas en pro de integrar un mayor nivel de usabilidad en los desarrollos ágiles. Originariamente, la disciplina HCI establecía que las técnicas y métodos derivados de esta filosofía únicamente debían ser aplicados por los expertos en la materia (Dumas et al., 1999)(Seffah et al., 2004)(Memmel et al., 2007) (Ritter et al., 2014). Conforme la IS ha ido evolucionando, esta postura se ha flexibilizado al identificar la necesidad de que personal no experto en HCI aplique determinadas técnicas durante el desarrollo.

1.5.1 ProblemadeInvestigación

Más allá de la cuestión “tiempo” uno de los factores que se identifica en la literatura HCI como un posible obstáculo para la incorporación de un buen nivel de usabilidad en el software es la falta de conocimiento de los desarrolladores sobre el tema. Este factor se observa en proyectos de software desarrollados con metodologías tradicionales o ágiles. (Dayton et al., 2009) señala, dentro de sus recomendaciones para agilizar los métodos de usabilidad, que se debe educar al equipo de desarrollo sobre cómo incorporar procesos y técnicas HCI. En particular el autor menciona proporcionar formación al equipo para crear historias de usuario, persona y pruebas de usabilidad iterativas.

Actualmente se cuenta con suficiente evidencia que respalda el hecho de que la integración de filosofías HCI-Ágil es posible y, al realizarse minimiza con éxito la falta de un buen nivel de usabilidad en el

software desarrollado dentro del contexto ágil. Procesos como UCD comparten importantes similitudes con el entorno ágil. Por ejemplo, procesos de desarrollo iterativos y énfasis en la participación del usuario durante todo el proceso de desarrollo (Chamberlain et al., 2006) (Fox et al., 2008)(Salah et al., 2009). Esta similitud ha permitido identificar factores para alcanzar y potenciar los beneficios de una integración entre estas dos disciplinas.

Tal como se detallará en el capítulo del Estado del Arte, hasta el momento los esfuerzos han estado dirigidos principalmente a verificar y confirmar que es posible integrar herramientas HCI dentro del proceso de desarrollo ágil. Se han identificado, entre otras cuestiones relevantes, cuáles son las metodologías ágiles en las que más han sido utilizadas técnicas de usabilidad y cuáles son las técnicas HCI más utilizadas dentro de un entorno ágil. Además, se ha estudiado la forma en la que éstas son aplicadas en dicho contexto. También se han definido diferentes procesos que pueden ser utilizados como marcos de trabajo para lograr esta combinación de métodos ágiles y HCI. Aunque son aportaciones significativas no resuelven por completo el problema de falta de usabilidad en proyectos ágiles de software. Tampoco resulta evidente y trivial identificar la mejor manera de tratar la usabilidad al integrar las filosofías ágil y HCI durante el proceso de desarrollo de software ya que dicha integración involucra diversos aspectos de cada una.

Al momento de la revisión de la literatura que se expone en el capítulo 2, no se identificaron propuestas orientadas a proporcionar una guía que sirva de apoyo específicamente para incorporar técnicas de usabilidad en un entorno ágil reutilizando buenas prácticas. Debido a lo anterior el estudio y definición de guías que proporcionen a los equipos ágiles la información necesaria para incorporar técnicas que aporten usabilidad en sus desarrollos se presenta como un área abierta de investigación.

1.5.2 ObjetivodelaTesis

Aunado al obstáculo que representa la falta de conocimiento de los desarrolladores sobre usabilidad, se percibe la necesidad de contar con guías que permitan utilizar técnicas HCI en el software sin afectar el dinamismo del proceso ágil. El planteamiento de Kane (Kane, 2003), expresado hace más de una década, que destaca la necesidad de patrones de interfaz de usuario para proporcionar una manera útil a los desarrolladores agiles para considerar factores de usabilidad fue pionero en este sentido. Sin embargo, más recientemente autores como (Sohaib et al., 2010) señalan que es complicado para las organizaciones software mantener prácticas HCI cuando adoptan el desarrollo ágil debido a la falta de tácticas y prácticas en las que apoyarse. Los autores indican que los métodos empleados en las metodologías ágiles no son suficientes para la perspectiva de usabilidad.

Como aportación a la solución del problema planteado previamente, este trabajo tiene por objetivo:

Proponer patrones que sirvan a los equipos ágiles como guías de apoyo para incorporar técnicas de usabilidad en diferentes momentos de su proceso de desarrollo.

Concretamente, este trabajo se centra en la incorporación en el entorno ágil de dos técnicas HCI: persona y pruebas de usabilidad.

1.5.3 Estrategiadelainvestigación

Nuestra investigación se desarrolló a través de las diferentes fases que se muestran en la figura C1-3 y que describimos a continuación. Inicialmente se desarrolla una revisión de literatura con el objetivo de identificar aquellas técnicas HCI más utilizadas en desarrollos de software realizados siguiendo una metodología ágil. También se identifican las adaptaciones que éstas han tenido para poder ser utilizadas así como las buenas prácticas al integrarlas en dicho ambiente de desarrollo. Como hemos mencionado previamente, las técnicas pueden utilizarse en diferentes momentos, algunas en particular durante la etapa exploratoria del proyecto buscando obtener un panorama general del proyecto, mientras que otras se utilizan principalmente en la etapa de refinamiento para mejorar la interacción. Posteriormente se procede a identificar los patrones de integración de estas técnicas en el entorno ágil, proceso que implica analizar

las buenas prácticas reportadas en base a quién, cómo y cuándo se aplican las técnicas HCI durante este desarrollo del software.

  Figura C1-3 Fases del proyecto de investigación

Con el objetivo de proporcionar un medio para reutilizar buenas prácticas y obtener resultados tangibles dentro de un contexto en particular, una vez identificados los posibles patrones de las técnicas objeto de nuestro estudio, se procede con la descripción de éstos. Para ello se utilizó el formato de patrón propuesto como parte del modelo arquitectónico descrito en (Sanchez-Segura et al., 2010). Para verificar que la información documentada en el patrón es la necesaria y lo suficientemente clara para los elementos del equipo de desarrollo, se aplica la evaluación académica sobre uno de los patrones trabajando con un proyecto piloto y una evaluación por parte de un grupo académico. La validación académica se efectuó con grupos de estudiantes para obtener retroalimentación sobre la claridad del contenido de la información reunida en los productos patrón. Una vez aplicada la evaluación académica y actualizada la información del patrón de acuerdo a lo observado en esta etapa se procede al proceso de evaluación de los patrones en proyectos reales. Para esto se utilizó el método de casos de estudio que resultó adecuado ya que los patrones fueron validados en proyectos reales desarrollados en un contexto universitario y en la industria.. Esta validación se llevó a cabo en un contexto de desarrollo real de proyectos ágiles para verificar la efectividad de las soluciones propuestas como guías para implementar técnicas de usabilidad en el proceso ágil. La validación se complementa con el uso de entrevistas y encuestas como artefactos de investigación que nos permitan evaluar los resultados del uso de los patrones por parte de los equipos ágiles. Una vez obtenida la información de retroalimentación se analizan los resultados aplicando las mejoras pertinentes en los patrones de acuerdo a las observaciones obtenidas de la retroalimentación.