1. Una PYME se vuelve AGIL…
… la historia de un éxito con
Philippe Camacho
14 de diciembre 2009
Santiago, Chile
2. Philippe Camacho
Master en Criptología y Seguridad Informática
◦ Bordeaux – Francia 2004
◦ Práctica en Chile (Acepta.com)
Conocí a Agustín Villena
Humano2
◦ Marijn Vriens, Sebastián Vera
Microsystem
◦ I+D con Agustín Villena
Alumno Doctorado de Universidad de Chile
Este año
◦ Coach XP en NAMEACTION
◦ Socio Fundador de LeanSight Consulting S.P.A. (http://www.leansight.com)
4. 2 desarrolladores tiempo completo
◦ Sergio, Miguel
1 desarrollador externo
◦ Max
A cargo de
◦ Sitio Web
◦ Sistema de Información
Clientes, Dominios, Pagos,…
◦ Sistemas
◦ Otros pequeños proyectos
5. Enero 2009
◦ Recibo un correo de NAMEACTION
“Queremos implementar EPP
(Extended Provisionning Protocol)”
“No sabemos como…”
“Y se nos está acabando el tiempo…”
7. Con EPP
+
◦ Se puede automatizar
todo el proceso
◦ Transacciones en tiempo
real
◦ Negocio puede crecer
mucho
Sin EPP
◦ Muchos procedimientos
manuales
◦ Tiempo de respuesta
- lentos
◦ No escala
8. Proyecto involucra contraparte (NIC)
Problema de administración del conocimiento
◦ Equipo desactualizado
Windows 2000, VB6,
No hay dominio de XML/SSL
◦ No hay tiempo para aprender
◦ Truck number = 1
9. Subcontratar
◦ Solución “fácil” pero…
Integración costosa
Ping-pong por correo electrónico
Malentendidos
Ritmo lento Módulo
No hay transferencia de EPP
conocimiento
Nameaction no es dueña de su
plataforma
EPP pertenece al corazón del
negocio
◦ => No es buena idea subcontratar
Integración lenta
10. NIC-BR
◦ Proyecto tecnicamente más complejo aún
Hay que usar una librería hecha en C++ o reinventar la rueda
Documentación no tan buena como para NIC-MX
Esta vez hacemos las cosas de manera distinta
◦ El equipo va a desarrollar la plataforma EPP guiado por un
Coach XP (eXtreme Programming)
11. “¿Contempla XP la gestión
de un sistema de
especificaciones de
módulos en donde
cualquier programador
pueda interiorizase de las
características de nuestros
desarrollos previos sin la
necesidad de sentarse a
trabajar con otro
programador entendido?”
12.
13. Aportar el conocimiento técnico
necesario, y buenas prácticas en
general
◦ XML, Python, C++
◦ Subversion
◦ Separar ambiente
desarrollo/producción
Implementar algunas prácticas
◦ Reunión de pie
◦ Programación de a pares
◦ Desarrollo guiado por tests
◦ Integración continua
“Disciplina” Extreme Programming Explained
Kent Beck, 1999
14. Muchos cambios en poco tiempo
(6 meses / 1 día a la semana ~ 25 días)
SIP
15. El equipo es capaz de
modificar el código
sin supervisión
Se reutiliza código
Separación de los ambientes Desarrollo/Producción
NIC-BR en
producción desde el 16 de noviembre 2009
17. “Uso Trac/Subversion en la casa
para mis proyectos personales.”
“¡Que rápido pasa el tiempo
cuando se hacen cosas
Motivación interesantes!”
Sergio,
Desarrollador
“Es un hecho que se
avanza mucho mas
rápido y que se utilizan los
variados conocimientos de
todos en el momento de
programar.” “Parece que es muy
Miguel, chistoso desarrollar EPP,
Desarrollador pues escucho muchas risas
por ahí…”
Juan Enrique,
Gerente General
18. El equipo progresó mucho en poco tiempo
◦ Se pudo validar la utilidad de ciertas prácticas
Programación de a pares, desarrollo guiado por test
Sin embargo no se puede descansar en los laureles todavía
Cambiar hábitos toma tiempo y
esfuerzo
Hay que seguir mejorándose
continuamente (Kaizen)
◦ “¡Hoy mejor que ayer, mañana mejor que hoy!”
19. Trabajar de forma más autónoma sin perder
los nuevos hábitos (Tests por ejemplo)
Otras prácticas
◦ Planning Game, Propiedad colectiva del código,
Estándares de código, Diseño “just in time”,
Refactorización, etc.
Aprender nuevos lenguajes, herramientas
para construir software
◦ Aspect Oriented Programming, Patrones de diseño, CRC cards, etc.
Controlar mejor el flujo de trabajo
◦ Priorizar, Kanban
◦ Evitar sobre tiempos (40 horas semanales)
◦ Evitar el “Multitasking”
20. ¡GRACIAS!
(a ustedes y a ellos)
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Kent Beck James Grenning Robert C. Martin
Mike Beedle Jim Highsmith Steve Mellor
Arie van Bennekum Andrew Hunt Ken Schwaber
Alistair Cockburn Ron Jeffries Jeff Sutherland
Ward Cunningham Jon Kern Dave Thomas
Martin Fowler Brian Marick
21. Programación de a pares de a 3…
Desarrollo guiado por test
◦ Es muy dificil entender y poner en práctica
◦ ¡Pero se puede! ¡Y da muy buenos resultados!
Planificación / Priorización
◦ Problema con la parte administrativa