POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Corporaciones en piel de start ups
1. Corporaciones en
piel de Start-ups
Cómo cambiar la cultura
empresarial para adaptarse
en tiempos de extrema
velocidad
2. @dlapiduz
Diego Lapiduz
• Arquitecto de soluciones para cloud en
Pivotal
• Fundador de cloud.gov (EEUU)
• Trabajando con global 2000 en
DevOps, cloud y puesta en marcha de
software
8. @dlapiduz
Corporaciones
❖ Desarrollo
❖ Compras
❖ Redes, servidores,
configuración
❖ Políticas IT
❖ Seguridad
❖ Operaciones
❖ Puesta en linea
Start-ups
❖ Desarrollo
❖ Puesta en linea
❖ Ping-pong
11. @dlapiduz
¿Cuál es el problema?
“Hicimos un análisis de cientos de
proyectos en un periodo de varios años.
Los que se terminaron en menos de un
trimestre fueron exitosos el 80% de
las veces, mientras que los que
demoraron más de un año fallaron en
esa proporción. Siendo realistas no
somos buenos haciendo esfuerzos de
gran tamaño.”
Institución financiera
Fuentes: “Good Software is a Series of Little Failures,” Coté, April 2016; The Lean Startup, Eric Ries, 2011. The Lean Enterprise, Barry O'Reilly, Jez Humble, and Joanne Molesky. See also overview of this
approach at the IRS from Dec 2015. "Application Modernization, Service By Microservice," Kurt Bittner and Randy Heffner, Forrester, Dec 2015; "Best Practices For Agile-Plus- Architecture," Randy Heffner,
Forrester February, 2015.
12. @dlapiduz
“Las organizaciones dedicadas al diseño de
sistemas [...] están abocadas a producir
diseños que son copias de las estructuras de
comunicación de dichas organizaciones”
- Melvin Conway
13. @dlapiduz
El cambio no es fácil
Fuentes: “Digital transformation: the what, the why and the how,” Nick Patience, 451 Research, Aug 2016.
19. @dlapiduz
¿Qué podemos hacer para
cambiar?
❖ Desenredar compras,
seguridad y operaciones
❖ Establecer canales de
comunicación para que los
ciclos sean más cortos
❖ Automatizar y reusar
❖ DevOps
20.
21. @dlapiduz
Plataforma para
desarrolladores
❖ Fácil de usar
❖ Seguridad y compliance
❖ Elasticidad para crecer
❖ Servicios comunes como bases de
datos y caches están incluidos
❖ No hay necesidad de hablar con nadie
31. @dlapiduz
DevOps mejora la calidad de nuestros productos,
hace que podamos tener ciclos más cortos, y enfoca a
nuestro equipo
Ver más: “What Is DevOps?,” The Agile Admin, Dec 2011, 2016 DevOps Study, y charlas de Nicole Forsgren.
50. @dlapiduz
• Equipo balanceado
• Pairing
• Centrado en los
usuario
• Enfocado en producto
• Sentido de ser dueños
• Equipo por función
• Reuniones “Sync”
• Basado en requisitos
• Proyecto
• Todo de fáses
No se puede cambiar “organizaciones” solo
pueden ser creadas
52. @dlapiduz
Resultados
40%+ productividad/costo, recrearon las
aplicaciones para miembros
30% programando a 90%
3+ semanas a 3 días, 50% menos incidentes
Actividad paso de 3% a 30%+
100% visibilidad de las aplicaciones
Pusieron 3x nuevas funciones en línea al año
53. @dlapiduz
Resultados
❖ > 500 aplicaciones
❖ ~ 15 agencias distintas
❖ Tiempo de puesta en línea < 1
semana
❖ Inversión a largo plazo del
gobierno
❖ Autorización (FedRAMP) para
ser usada para sistemas de
categoría media
Global 2000 son las compañias mas grandes del mundo
En particular Fortune 500
Usuarios
Los usuarios son lo mas importante del software.
De que sirve un programa que no hace nada para usuarios?
Si lo mas importante es servir a los usuarios cuanto tiempo nos lleva acceder a ellos?
Cuanto tiempo le lleva a una start up poner en linea el software que desarrollaron para que sus usuarios lo empiecen a usar.
1 dia? 1 semana? un par de semanas como mucho…
Las corporaciones tienden a demorarse mucho mas y el gobierno ni les cuento.
Dependiendo si es un cambio o un programa totalmente nuevo las empresas grandes se pueden demorar meses o más de un año
Ford y GM tienen que responder a Uber y Lyft. Pero hacerlo no es solo un cambio de software sino un cambio de la cultura de la empresa
Renombrando como empresas de mobilidad
No hay una herramienta mágica que pueda hacer que su empresa sea ágil. Es una cuestion de cultura y estrategia como la empresa va evolucionando. Sin un cambio de cultura no hay cambios en el largo plazo
Queremos llegar rapido a la validacion y poder generar nuevas ideas pero como hacemos para que el ciclo sea rápido
Muchas empresas estan recien pensando en como cambiar
Si estar congelados le funciona a su empresa entonces quedense congelados. Cambiar o la supervivencia no es un requisito.
Pero si quieren cambiar de verdad tienen que quererlo.
Cada situación es un poco distinta. Dejenme que les cuente un poco de mi historia de devops
Como dibujar una lechuza?
Dibujamos unos circulos y despues todo el resto :)
Fui a trabajar a el gobierno como desarrollador. Buenisimo vamos a reformar el gobierno y hacer q todo sea mejor!
Grupo de ~ 20 programadores y diseñadores
https://unsplash.com/search/white-house?photo=igCBFrMd11I
El problema fue que cada vez que queria hacer algo habia q hacer montones de burocracia y papelerio. Esperando dias/semanas/meses hasta tener resultados.
Todo por los mismos motivos de los que hablaba antes, seguridad, compliance, compras etc.
No deberiamos tener que esperar para tener servidores
Operaciones puede tener las cosas listas
Podemos hacer cosas en paralelo y comunicarnos mas
Y si empezamos a automatizar podemos reusar las cosas de una forma que es más consistente
https://unsplash.com/search/trains?photo=Exq6e9gH4Ag
Todo esto esta barbaro pero hacerlo con servidores tradicionales es horrible y demorado. Como podemos usar proveedores cloud para mejorar esto
Creamos la plataforma usando herramientas de Código libre = Cloud Foundry
La plataforma resulto bastante exitosa desde el principio porque los programadores estaban cansados de tantas vueltas que tenian que dar. Ahora le pregunta es como hacer para que más agencias adopten esta solución.
Como podemos dejar de hacer puesta en linea “artesana” y usar mas automatización. No solo para que sea más facil o consistente. Sino que sea más seguro y de acuerdo a las regulaciones.
Y lo peor es como podemos hacer para que los líderes confien en los robots.
Probablemente haya habido un momento en donde la gente no queria usar autos hechos por robots ya que les generaba desconfianza.
Además tenemos el problema que los seres humanos tendemos a no ser particularmente confiables.
Todo automatizado
Configuracion
Incrementar las instancias
Puesta en lina del código nuevo
La documentación de seguridad y compliance también va a ser automatizada.
Siendo honestos no fue un cambio fácil y todavía no esta completo
Decoupling de ops y dev y seguridad con las garantías de la plataforma
http://unsplash.com/photos/Kw_zQBAChws/download?force=true
Hay muchas definiciones de DevOps y cada uno tiene la suya pero todos estamos de acuerdo que la colaboración es muy importante
Si pueden usar un hosted PaaS usen un hosted PaaS
Estamos hablando de DevOps, hay que decir algo de docker.
A mucha gente le gusta para desarrollar y piensan que es fácil poner sistemas distribuidos en linea asi pero en realidad se complica mucho.
Hay que diferenciar Docker la imagen de docker el runtime. Alguien aca corre docker?
IaaS o cloud
No solo para hacer testing pero hacer la puesta en linea
Es importante hacer testing pero tambien es importante promover cosas a production fácilmente
Herramientas ayudan pero sin cultura no son nada
Menos tiempo en reuniones
Menos tiempo planeando
Más tiempo programando basado en el feedback de los usuarios
2 semanas haciendo una función que nuestros usuarios no usaron => no pasa nada. Tenemos que aprender de eso
Fallar más seguido para ser exitosos en el futuro
No van a alcanzar las personas para manejar todos los sitemas que necesitamos.
Si necesitamos 10 personas para tener 20 aplicaciones en linea, como vamos a hacer con 50/100/200 aplicaciones? Necesitamos procesos, políticas y herramientas para ayudar a nuestros equipos.
Pero el cambio no es fácil, especialmente para aquellos que tienen miedo por su trabajo.
Como podemos crear politicas para fomentar DevOps y mejorar la calidad de nuestro software en linea
Que podemos hacer para que la cultura mejore y tengamos mejores herramientas
Crear un espacio donde este bien visto la colaboración y la comunicación
Generar oportunidades para que los equipos se comuniquen entre si
Reunión de administración de cambios?
Cada proceso manual que pone un freno en el desarrollo es algo que hay que automatizar o cancelar.
Algunos dicen en vez de hacer administracion de cambios hago IT Bimodal
Legacy - lento
Cosas nuevas - rapido
Y todo eso son falacias.
Legacy puede usar procesos nuevos, solo hay que aplicarse - no es facil
Si hubo un problema (downtime o un derrame de información) en los sistemas no tenemos que ponerle pausa al continuous delivery, hay que preguntarse que paso y dejar que se arreglen las cosas más rápido. (blameless postmortem)