Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos drupal
DESCRIPTION
Sesión realizada en la Drupal Camp Spain 2013 sobre la gestión de proyectos ágiles con Drupal.TRANSCRIPT
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos Drupal
Siddharta Navarro - 26 de octubre de 2013
www.ateneatech.com
Un poco de Background
Siddharta NavarroCo-fundador de Atenea tech
@sidddi Foto de perfil (es literal)
www.ateneatech.com
Un poco de Background (II)
• Desarrollamos webs con Drupal en Barcelona desde 2007• Desde 2012 intentamos aplicar metodologías ágiles• Somos una pequeña empresa de desarrollo formada por:
– 2 desarrolladores– 1 responsable técnico y desarrollador– 1 responsable comercial
• Ofrecemos servicios con Drupal, trabajamos para clientes y no tenemos proyectos propios.
• Nos gusta jugar al Carcassone
www.ateneatech.com
Pero.. ¿qué significa ser ágil?
(o al menos que significa para mí)• Centrarse en el valor aportado al cliente• Trabajar en iteraciones cortas• Entregar trabajo real en cada iteración• Aceptar los cambios de requisitos como algo normal• Trabajar con transparencia y honestidad
www.ateneatech.com
Todo esto está muy bien, pero… ¿Cómo es vuestro día a día agilista?
www.ateneatech.com
Antes..
www.ateneatech.com
Ahora..Dentro de todas las metodologías ágiles que hay, nosotros usamos Scrum –o al menos nuestra versión de Scrum-.
www.ateneatech.com
Todo empezó un soleado día de primavera..• Charla de Emma López de beCode en la Drupal Day Valencia• Empezamos a seguir a algunos Agilistas “famosos”• Leímos artículos, blogs y libros
www.ateneatech.com
¿Porqué ser ágil?
• Teníamos problemas con la planificación de muchos proyectos:– Casi siempre tardábamos más de lo acordado
• El cliente se olvidaba del proyecto y después había sorpresas– Al acabar el proyecto teníamos que rehacer funcionalidades y
perder tiempo
www.ateneatech.com
¿Por dónde empezamos?
Lo primero y más importante es creérselo.
En AT tuvimos disputas internas. Yo no creía que un cliente iba a aceptar un proyecto ágil y nunca me atrevía a plantearlo.
Yo no me lo creía.
www.ateneatech.com
Pero.. ¿Cómo es un presupuesto ágil?
• La propuesta se basa en tiempo, no en funcionalidades.• Cuando hacemos un presupuesto ágil, lo que hacemos es una estimación del
tiempo total del proyecto a realizar. Este tiempo se divide en Sprints –de 2 a 3 semanas según el cliente-.
• No nos comprometemos a realizar ciertas funcionalidades, sino a trabajar un número determinado de Sprints –tiempo- un número determinado de personas.
• Los Sprints se pagan por adelantado, pudiendo cancelar un proyecto al final de un Sprint.
www.ateneatech.com
¿Y porqué un cliente va a aceptar un presupuesto que no es cerrado?
• El compromiso con nosotros es limitado. Si ven que el proyecto no se realiza correctamente, pueden dejar el proyecto realizado sólo el primer Sprint.
• Cada vez que se hace una entrega, se tiene una visión nueva del proyecto, pudiendo añadir/quitar funcionalidades pensadas inicialmente.
• Se tiene una visión del desarrollo del proyecto en todo momento. Nosotros damos acceso a nuestro desarrollo.
www.ateneatech.com
¡Magia potagia!
¡Planteamos por primera vez un proyecto ágilmente y nos lo aceptan!
MOLA :)
www.ateneatech.com
Expectativa…
Planteamos Sprints y un calendario muy marcado de entregas, revisiones, etc.
Sprint 1 –funcionalidad
Sprint 2 –funcionalidad Sprint 3 –tema-
Entrega finalRevisión Sprint 1 Revisión Sprint 2
www.ateneatech.com
…Realidad
• Desde el 1er Sprint empezamos a fallar en nuestros compromisos:
• Por culpa del cliente no cumplimos plazos• Se alarga la primera entrega• No se sigue el calendario pactado de revisiones
Sprint 1 –funcionalidad Sprint 2 –funcionalidad
Revisión Sprint 1
www.ateneatech.com
Y la bola se va haciendo cada vez más grande
Seguimos haciendo el 2do Sprint, los plazos se van alargando.
Para el 3er Sprint necesitábamos el diseño gráfico que no nos entregan pero aún así continuamos adelante.
Sprint 1 –funcionalidad
Sprint 2 –funcionalidad Sprint 3 –tema-
Revisión Sprint 1 Revisión Sprint 2
www.ateneatech.com
Resultado final: FRACASO
Al final tuvimos que realizar más horas de las que estaban pactadas y aún así el cliente no estaba satisfecho con el resultado final.
www.ateneatech.com
Cosas que hicimos mal
• Fuimos laxos con los tiempos de entrega• No nos plantamos cuando no nos entregaron el material
antes de empezar un nuevo Sprint• No fuimos lo suficientemente comunicativos con el cliente.
En definitiva, no lo implicamos.
www.ateneatech.com
!Arriba esos ánimos, que después no nos ha ido tan mal!
Aún habiendo tenido una mala experiencia, seguimos intentándolo.
Esta vez se trataba de una empresa que trabajaba internamente con metodologías ágiles, cosa que nos ayudó muchísimo.
www.ateneatech.com
Cosas que cambiamos
1. Confiaban en nosotros como equipo de desarrollo.2. Éramos mucho más comunicativos. Utilizamos herramientas
para que la comunicación fluyera -Google Drive, no hace falta ninguna cosa extraña..-
www.ateneatech.com
Cosas que cambiamos (II)
3. Si teníamos algún problema, lo comunicamos rápido4. Entregamos todo a tiempo y fuimos muy pesados con el
material que nos tenía que pasar el cliente
www.ateneatech.com
Resultado final: ÉXITO
El cliente que en un principio nos contrató para un pequeño proyecto aún hoy sigue confiando en nosotros.
www.ateneatech.com
¿Porqué Drupal y Agilismo es una buena mezcla?
Drupal es ideal para la creación de prototipos rápidos con funcionalidad real.
www.ateneatech.com
¿Porqué Drupal y Agilismo es una buena mezcla? (II)
Olvida los detalles y crea una prueba de concepto en sólo unas horas.
Este prototipo generará nuevas ideas para obtener los objetivos finales sin tener que preocuparse demasiado del diseño.
www.ateneatech.com
¿Porqué Drupal y Agilismo es una buena mezcla? (III)
Podemos tener un plan general y cambiarlo durante el desarrollo.
Drupal nos permite crear nuevas funcionalidades en cada Sprint y analizar si lo que hemos hecho realmente ha funcionado.
www.ateneatech.com
y.. ¿Qué cosas no me gustan del Agilismo y Drupal?
• La creación de un tema con Drupal es quizás la parte más difícil.
• Normalmente es algo que se deja para el último Sprint, una vez las funcionalidades están terminadas.
• Da la sensación que la Web no está acabada.
www.ateneatech.com
Consejos vendo… y para mí no tengo!
• Sé valiente con tus propuestas. Quizás tus clientes no saben qué es eso del agilismo, pero seguro que les pica la curiosidad.
• Si tienes algún problema, cuanto antes lo sepa tu cliente, MEJOR!
• Si puedes, elige a tus clientes. Es bueno perder ciertos clientes.
www.ateneatech.com
Y ahora, como buenos hermanos...
Os invito a compartir vuestros éxitos y fracasos agilistas.