1. Una PYME se vuelve Ágil…
… la historía de un éxito con
Philippe Camacho
Agile & Lean Day – 14 de diciembre 2009
Santiago, Chile
2. ¿Quién soy?
Philippe Camacho
Master en Criptología y Seguridad Informática
Bordeaux – Francia 2004
Práctica en Chile (Acepta.com)
Conocí a con Agustín Villena
Humano2
Marijn Vriens
Microsystem
I+D con Agustín Villena
Alumno Doctorado de Universidad de Chile
Este año
Coach XP en NAMEACTION
4. Equipo
2 desarrolladores tiempo completo
Sergio, Miguel
1 desarrollador externo TODO: fotos de los
miembros del
Max equipo
A cargo de
Sitio Web
Sistema de Información
Clientes, Dominios, Pagos,…
Sistemas
Otros pequeños proyectos
5. Donde empieza la aventura
Enero 2009
Recibo un correo de NAMEACTION
Queremos implementar EPP
(Extended Provisionning Protocol)
No sabemos como…
Y se nos está acabando el tiempo…
7. ¿Porque EPP?
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. ¿Porque cuesta implementar EPP?
Tecnologías nuevas
XML, SSL
Proyecto involucra contraparte (NIC)
Problema de administración del conocimiento
Equipo desactualizado
No hay tiempo para aprender
Truck number = 1
9. Primer intento: NIC-MX
Subcontratar
Solución “fácil” pero…
Integración costosa
Ping-pong por correo electrónico
Malentendidos
Ritmo lento
No hay transferencia de conocimiento
Nameaction no es dueña de su plataforma
EPP pertenece al corazón del negocio
=> No es buena idea subcontratar
10. Segundo intento: NIC-BR
NIC-BR
Proyecto tecnicamente más complejo aún
Hay que usar una librería hecha en C++
O reinventar la rueda en Visual Basic 6…
Documentación no tan buena como para NIC-MX
Esta vez hacemos las cosas de manera distintas
El equipo va a desarrollar la plataforma EPP guiado por un
Coach XP
(eXtreme Programming)
11. Choque Cultural I
“¿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?”
14. Resultados
Muchos cambios en poco tiempo
(5 meses / 1 día a la semana ~ 20 días)
SIP
C++
15. Resultados
NIC-BR en producción desde el 16 de
noviembre
El equipo es capaz de
modificar el código
sin supervisión
Se reusa código
Separación ambiente Desarrollo/Producción
16. Resultados
#1
Primer Registrar a implementar
EPP en Latino America.
17. Resultados
Motivación
“Es un hecho que se avanza
mucho mas
rápido y que se utilizan los
“Uso Trac/Subversion en
variados conocimientos de la casa para mis
todos en el momento de proyectos personales.”
programar.”
“¡Que rápido pasa el
tiempo cuando se hacen
cosas interesantes!”
18. Lecciones
El desarrollo es una actividad humana
Lo que vale es el conocimiento compartido
(no las líneas de código)
XP cumple con su promesa
Entrega resultados rapidamente
Permite adaptarse al cambio
Potencia el capital humano
TODO:
Cambiar por foto equipo
Nameaction
20. Problemas encontrados
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
Notes de l'éditeur
Buenos días a todos. Mi nombre es Philippe Camacho y hoy quisiera hablarles de una empresa llamada Nameaction que decidió a mitad de año cambiar su forma de trabajar para lograr ser más competitiva y poder crecer. Yo estuve acompañando esa organización en esa gran aventura y les voy a contar como en mi poco tiempo Nameaction paso de ser un jugador más en el mercado a un líder en Latino America.
Bueno ya conocen mi nombre, y pueden adivinar de que país vengo… Mi experiencia con el mundo de la agilidad comenzó en 2004 cuando hice mi práctica de fin de estudios de mi master en Chile. Yo estaba trabajando en un proyecto relacionado con facturas electrónicas y ahí conocí a Agustín que estaba recién abriendo un camino en el mundo del desarrollo de software chileno con este tema que nos reúne hoy a todos: las metodologías ágiles y en particular en la epoca la programación extrema o “extreme programming”. Realmente me siento muy afortunado de haber podido empezar mi formación profesional con este mentor excepcional, que me enseño una multitud de cosas muy valiosas, en particular en el ámbito de la programación: programación de a pares, desarrollo guiado por tests, refactorización, evitar el sobrediseño etc… Esa experiencia después se ha ido fortaleciendo y enrequiciendo. Nuestros caminos con Agustín se separaron, yo me fui a trabajar en otra empresa llamada Humano2 y ahí también pude trabajar en un ambiente ágil con otro gringo (probablemente algunos lo conocen se llama Marijn Vriens). De forma muy extraña la historia se volvió a repetir, Marijn se fue a trabajar a otra empresa, y yo al poco tiempo decidí irme también y me volví a encontrar con Agustín! En este nuevo estuvimos a cargo del área Investigación y Desarrollo de una empresa llamada Microsystem. Aquí nuestro rol fue administrar el conocimiento de la empresa y agilizar el equipo. No fue tárea fácil al principio, y probablemente muchos dentro de ustedes deben sentir lo mismo que sentimos en la época: la extraña sensación de haber descubierto algo maravillosa pero estar enfrentando a la indiferencia, la resistencia activa, la incomprehensión etc… Sin embargo las ideas revolucionarias hicieron su camino y se pudieron lograr cosas bastante interesantes. El equipo siguió creciendo en particular pudimos contar con Marijn y yo por mi parte decidí volver a estudiar y me aleje por un tiempo del mundo del desarrollo del software. Entonces empecé un doctorado aquí en esa misma Universidad y pude seguir aprendiendo cosas muy valiosas aunque bastante distintas y crecer como persona. Sin embargo el destino me volvió a póner sobre la ruta de la agilidad a principio de año. Y de eso voy a seguir hablando. Me imagino que deben estar impaciente conocer lo que sigue y se preguntan quizás porque pasé tanto tiempo contando mi vida, pero quizé hacerlo porque creo que refleja una realidad importante del mundo del software: lo que vale son las personas. La amistad, el trabajo en equipo, el hecho de poder desarrollar su creatividad y crecer como personas son variables esenciales del proceso de desarrollo y a pesar de que no se pueden medir hacen una gran diferencia al final. Estoy convencido de que las empresas capaces de ver eso hoy día serán las ganadores de mañana. Y para ilustrar lo que acabo de decir les voy a hablar de lo que paso en Nameaction.
Nameaction es un registrar, es decir una empresa que permite manejar los nombres de dominios de una persona o organización. Por ejemplo si yo quiero tener los dominios midominio.cl, midominio.com.br, midominio.com.ar etc… tengo dos opciones. Contactarme con los distintos nic correspondientes a cada pais, o sí quiero simplificarme la vida puedo usar la plataforma de Nameaction y así manjejar todos sus dominios a través de un solo canal. Nameaction además de las operaciones básicas requeridas para manejar los dominios (consulta de disponibilidad, registro, renovación etc…) ofrece a sus clientes una variada gama de servicios adicionales: vigilencia de dominios por ejemplo para asegurarse que ninguna otra organizacion no esta tratando de comprar dominios parecidos, presencia local en el pais que evita al usuario muchos tramites administrativos, aviso cuando un dominio de la organización está a punto de vencer etc… Tantos las personas como las empresas pueden usar la plataforma de Nameaction a traves del sitio web o directamente comunicandose con ejecutivas por telefono o email. (quizás algunos numeros: cuantos clientes, cuantos dominios)
Mi encuentro con Nameaction empezó a principio de este año. Recibí un correo de parte de unos de los desarrolladores explicándome que había visto un tutorial mío en internet sobre el manejo de certificados digitales con la librería OpenSSL, y que tenían problema con eso. Además me cuenta que necesitan crear este certificado para luego poder implementar un protocolo llamado EPP, y que no saben como hacerlo y que obviamente están contra el tiempo. Es una situación realmente interesante creo (auque en la epoca fue mi estresante para el equipo a cargo del proyecto) porque muestra que el cambio siempre está. No existe ningún negocio (al menos en el ambito del software) que puede sobrevivir o crecer sin enfrentarse al cambio. En este caso el cambio vino por la tecnología (EPP) y fue un terremoto en la organización.
Ahora voy a explicar brevemente de que se trata EPP. EPP es un protocolo (una forma de conversar entre sistemas) que permite a un registrar y un NIC conversar mandandose mensaje con un formato especial llamado XML. Por ejemplo si quiero consultar la disponibilidad de los dominios ejemplo.com.mx, ejemplo.org.mx, mando este mensaje XML al sistema de NIC-Mexico y recibo otro mensaje xml con la respuesta. Si soy capaz de leer el xml puedo darme cuenta que el dominio ejemplo.com.mx está disponible y que el dominio ejemplo.org.mx no lo está. En resumen EPP permite manejar todas las transacciones entre los registrar y los NIC de forma automatica.
Los beneficios de implementar tal tecnología son obvios. Sin EPP, todas las transacciones (registrar, renovar, modificar) se requieren intervención humana, sea para mandar correos ingresar información en el sitio web del NIC y llamar por teléfono. Esto implica que los tiempos de respuestas son bastante grande y que la cantidad de dominios que se pueden administrar en un cierto tiempo es limitada. Con EPP todas esas restricciones desaparecen, y por consecuente todo el proceso de negocio se pueden manejar de forma automática. Con EPP los dominios se pueden comprar en tiempo real, y la cantidad de transacciones que se pueden manejar está solamente acotada por la velocidad de los servidores y el bando de ancha. Claramente se trata para Nameaction de una oportunidad de negocio sin precedentes, que promete transformar una PYME en gran registradora. Y no solamente se trata de crecer pero de dejar la compentencia atrás (o quedar en la carrera si otros lo implemetan). En resumen no hay realmente opción, hay que implementar EPP si o si.
El problema es que en el caso de Nameaction, implementar EPP no es tan fácil