Nuestra metodología

Nuestra metodología

Nuestra propuesta

Esta entrada forma parte de una serie en la que explicamos todos los aspectos relacionados con nuestra propuesta, un sistema diseñado para aportar el máximo valor y transparencia a la vez que nos ayuda a automatizar en gran parte la generación de una propuesta.


Si lo deseas puedes ver el resto de entradas de la serie: Nuestra propuesta

Una buena metodología de trabajo puede suponer la diferencia entre un proyecto exitoso y un completo desastre. En esta entrada queremos explicar cómo es nuestra metodología de trabajo que hemos desarrollado, así como justificar las diferentes decisiones que hemos tomado.

Metodologías ágiles

Chaos Report

El Chaos Report es un informe publicado anualmente por el standish group en el se que analizan decenas de miles de proyectos de desarrollo de software concluyendo que tan sólo el 10% de los proyectos realizados con metodologías tradicionales cumplen sus objetivos en términos de alcance, tiempo y coste. El porcentaje asciende hasta el 40% cuando los proyectos se gestionan a través de metodologías ágiles.

Si ya has participado en proyectos de desarrollo de software estarás muy familiarizado con las llamadas metodologías ágiles. Si no es así, es posible que todo esto te suene a chino, por lo que vamos a tratar de explicarte en detalle los aspectos más importantes.

Se conocen como metodologías ágiles una serie de metodologías de gestión de proyectos de desarrollo de software que nacen en contraposición a las metodologías tradicionales en el sentido de que anteponen la entrega de un software que funciona sobre una planificación excesiva.

¿Cuando funcionan bien este tipo de metodologías?

El enfoque de las metodologías ágiles puede resultar contraintuitivo, ¿cómo puede ser negativo invertir una cantidad importante de esfuerzo en una realizar una buena planificación?. Efectivamente una buena planificación puede resultar muy útil en algonos casos, sin embargo, este tipo de metodologías se adaptan muy bien a situaciones de alta incertidumbre como son los proyectos de desarrollo de software. Estos son algunos ejemplos donde las metodologías ágiles tienen sentido:

  1. El cliente tiene una idea más o menos clara de su proyecto, pero no ha realizado un análisis de requisitos y lo ha plasmado en un documento de análisis funcional.
  2. El alcance del proyecto puede sufrir variaciones o pueden detectarse y añadirse nuevos requisitos durante el desarrollo.
  3. El cliente desea implicarse en el proceso de diseño y toma de decisiones de la solución.
  4. El equipo de desarrollo no domina el área de conocimiento del proyecto o negocio.

Como puedes ver estas situaciones son habituales cuando se comienza un proyecto de desarrollo de software y es por esto que se adaptan tan bien a este tipo de proyectos.

Enfoque DEVTIA

Existen multitud de metodologías ágiles, pero lo habitual es estás estén pensadas para un equipo que permanece constante en el tiempo y que trabaja centrado en el desarrollo de un único proyecto. Al tratarse DEVTIA de una agencia que desarrolla proyectos para otras empresas, ninguna metodología se adapta al 100% a nuestra situación, por lo que hemos tomado las partes más interesantes de cada una de ellas para formar nuestra propia metodología. A continuación te presentamos los aspectos más relevantes de nuestra metodología.

Iterativo incremental

El desarrollo iterativo incremental es una metodología en la que se realizan entregas constantes de una forma más o menos periodica. En cada entrega o iteración se proporciona un incremento, es decir una funcionalidad adicional o una mejora en una funcionalidad existente. Cuando desarrollamos un proyecto no firmamos el contrato y desaparecemos hasta la finalización del mismo. En lugar de eso, a los pocos días estaremos de vuelta para enseñarte el trabajo que hemos realizado, y de esta forma recibirás continuaremos presentando una pequeña entrega cada poco tiempo.

Una sóla cosa a la vez

Muchas agencias se ven obligadas a simultanear varios proyectos a la vez. Un mismo desarrollador tiene que atender una incidencia por la mañana del proyecto "futbol", escribir un informe al medio día del proyecto "baloncesto" y programar toda la tarde en el proyecto "running". Al final del día tiene la cabeza a punto de explotar y lo esperable es que las cosas no salgan como a todo el mundo le gustaría que salieran.

Nosotros tomamos la decisión de comprometernos en que cada desarrolllador sólo pueda atender un proyecto al mismo tiempo. Cuando trabajes con nosotros, coordinaremos contigo unas fechas en el calendario de uno de nuestros desarrolladores y puedes estar seguro de que ese tiempo es para ti, da igual quien venga y lo que necesite, que tendrá que esperar hasta que tengamos un hueco disponible en el calendario.

La contraparte es que contigo haremos lo mismo, por mucha urgencia que tengas, deberás esperar a la primera fecha disponible para que nos hagamos cargo de lo que necesites. Por esto solemos sugerir a nuestros clientes que intenten preveer con tiempo la disponibilidad que necesitan para que esta se quede reservada.

A producción lo antes posible

Nuestro objetivo es poner tu proyecto en producción lo antes posible, incluso antes de que esté terminado. De esta forma vamos a obtener feedback del usuario final en un entorno de fuego real.

¿Cómo se pone en producción un proyecto no terminado? Por ejemplo, imagina un sistema de contabilidad. Podríamos poner en producción un sistema que solamente permita emitir facturas, así como adjuntar las facturas recibidas. Faltaría mucho trabajo por delante, pero ya podríamos ver cómo los usuarios interactúan con la plataforma, a la vez que ya estamos aportando valor al negocio, y “poblando” una base de datos, que será muy útil para el resto del desarrollo.

Clientes comprometidos

Toda la metodología que te presentamos funciona especialmente bien cuando nuestros clientes están comprometidos con su propio proyecto. Estos son los clientes con los que nos gusta trabajar y con los que se puede exprimir al máximo la metodología.

Vamos a pedirte que reserves un tiempo diario para revisar nuestro trabajo, responder nuestras dudas, presentar tus ideas y sugerencias, y en general estar disponible para colaborar en aquello que necesitemos.

Trabajamos codo con codo con nuestros clientes. Creemos que el éxito del proyecto depende en gran medida de cómo te impliques en la toma de decisiones. En este ciclo de feedback y comunicación vamos a entender mucho mejor cómo son tus necesidades y vamos poder tomar mejores decisiones, así como tener más capacidad para realizarte sugerencias. Si cuando te lanzamos una pregunta vas a tardar varias semanas en responder, lo mejor es que dejes de leer esto y busques otro proveedor, por que toda nuestra metodología se basa en mantener una relación fluida contigo.

Kanban

Trabajamos con JIRA un gestor de tareas muy utilizado en esta industria. Nosotros configuramos este gestor de tareas con un modelo Kanban donde las tareas son tarjetas que se van desplazando por un tablero para representar los diferentes estados. Dependiendo del proyecto podemos definir más o menos columnas en ese tablero. Como cliente tendrás acceso a este sistema y podrás ver en tiempo real en qué estamos trabajando, crear y priorizar las tareas e interactuar con nosotros cuando sea necesario.

Habitualmente planificamos una o dos reuniones a la semana de todo el equipo junto con el cliente, para repasar el tablero, y proponer junto contigo soluciones a tus necesidades.

Entornos

Trabajamos con tres entornos de trabajo, pero como cliente sólo tendrás acceso a dos de ellos. En el entorno de preproducción vamos a ir subiendo el trabajo que vamos realizando. Deberás acceder periodicamente a este entorno, para ir validando nuestro trabajo, así como proponiendo los cambios que necesites.

Una vez que tenemos un grupo de cambios aprobados en el entorno de preproducción, estos son aplicados en el entorno de producción. Este es el entorno real, publicado en internet al que acceden tus clientes y empleados.

Ventajas

Estas son algunas de las ventajas que tiene nuestra metodología.

Feedback temprano

La principal ventaja de la metodología. En un enfoque tradicional, tardarás mucho en tener tu proyecto en una situación de uso real. Cualquier decisión no óptima o incluso incorrecta no será detectada hasta que sea demasiado tarde. Con nuestra metodología vas a tener tu proyecto en producción muy pronto y vas a empezar a tomar decisiones no basadas en suponsiciones si no en datos reales de tu proyecto en producción.

Control del proyecto

Otra ventaja importantísima de la metodología, es que tienes el control total de lo que sucede en tu proyecto, cada decisión que se toma es validada por tu parte, e independiente de la planificación, vamos a dedicar a cada módulo tanto tiempo cómo sea necesario.

Flexibilidad

No todos los proyectos son iguales. En DEVTIA hacemos proyectos de una o dos semanas, y proyectos en los que empleamos varios años con varias personas implicadas. Tampoco todos los clientes son iguales. Algunos tienen mucha disponibilidad para dedicarnos y tienen muy claro lo que quieren y otros exactamente lo contrario.

Por eso apostamos por la flexibilidad, adoptando nuestra metodología a cada proyecto y a cada cliente, pero sin perder la esencia detrás de la misma.