Saturday, December 31, 2016

brief summary / retrospective of this past year 2016


From a professional point of view, this is the summary of this past year 2016...

At the end of 2015 I decide to learn about scalability, distributed systems and cloud native systems to expand my professional comfort zone.

Following this decision, I decided to change from the great XP team at Alea Soluciones to TheMotion. I explain why in this blogpost http://www.eferro.net/2016/06/why-am-i-at-themotion.html


I walked 2752KM (5.50Km/hour) More or less, 225KM/month, 7.5KM/DAY usualy 10KM/day, but some days I skipped the walk due to bad weather.
I assisted to the following conferences:

I started to write blog posts in English and it seems to have a clear impact in the number of visits. It's true that my English is very bad, but "If you are not embarrassed by the first version of your product, you’ve launched too late." :-)   And the only way to improve, is to try, fail and learn (by doing).

I wrote my personal mission This personal mission come from several years of thinking about myself and my acts, but this was the first time that I decided to wrote and publish it. For me, this is an inflection point in my professional and personal career.

One year at TheMotion
  • To maintain
    • Lean development, Focus on flow, Continuous delivery
    • Cloud related learning (I should be very conscious of the Dunning Kruger effect)
    • Simplicity / systematic work against complexity.
    • Validation of high scalability designs (horizontal scalability, event sourcing, queues, simple design, evolutionary design...)
    • Great team (very capable and collaborating and improving all the time). Already with great habits (focus on flow, simplicity, good testing level...) http://www.themotion.com/about/
  • To improve
    • More code/design time.
    • More technical mentoring (using pairing and internal talks).
    • Help to simplify organization structure, improving collaboration, removing complexity, management, and command and control tendency.


New year's resolution list

This is my new years resolution list:
  • Create a new years resolution list with only one item and make it public.
Done!!! Yuhuu!!!! Great!!!
Less is more... less things to do, less anxiety, more enjoy, more time...




Thursday, December 29, 2016

Book Review: Designing data intensive applications

Designing data intensive applications 

The big ideas behind reliable scalable and maintable systems 
by Martin kleppmann


Important update: I am reading a more updated version, because this review is for a initial version with only 200 pages and the actual version that I am reading right now contains more than 500 pages, so take with a grain of salt.

Even if the title include the word applications, the book is focused in the different implementations of databases and other services/tools to maintain the state (cache, brokers, etc).
The book is very interesting to know the different implementations and the challenges faced by the developers implementing these kind of software (info distribution strategies, transactions, replication, and so on).
Personally, although the book helped me to remember certain concepts and learn new ones, it was not exactly the kind of content that I was expecting.

The book in general is interesting, but perhaps is more useful if you are working creating a database or something similar. For the enterprise application developer or for a system developer, although the book is interesting, it won’t add too much value.

In summary, good book if you are designing / developing infrastructure code to deal with state (distributed log, database, broker, etc).

Sunday, December 18, 2016

Book Review: Antifragile



Antifragile

Things that gain from disorder



This is the best book I read this year… It was eye-opening for me, it make me change my point of view regarding working or dealing with complex domains and connect the dots between some ideas coming from different sources that I have pending to connect.
This book sometimes is not very easy to read and sometime it have some repetitive examples, but in general make easy to understand concepts that initially are not so easy so is a great work. And as I commented I think that the content is great, full of insights, takeaways and new point of views to deal with complex adaptive systems.

I think is a fundamental book to understand evolutive systems, their emergent behaviors and their characteristics. It also allow to identify very easy systems that in the beginning seems efficient but in fact are fragile, without any margin or slack and are doomed to be failure.

As a computer science and professional developer in this book I have identified lot of ideas from this field… For example, Alan Kay talking about objects as a biological systems, the Cynefin framework, abstraction, federation and microservices as presented by Tom & Mary Poppendieck, or the failure injection to improve a system (as in chaos engineering, netflix simian army).

A great book and lot of wisdom for anyone interested in complex adaptive systems, system thinking, etc...

Thursday, December 15, 2016

Interesting talks I've seen during November


These are great talks that I've seen during November:



Friday, December 09, 2016

Mi CAS 2016... la reconciliación

Este pasado 1 y 2 de diciembre, asistí a la CAS2016, la conferencia agile spain en Siberia-Gasteiz.
Agile Spain organiza dos eventos principales cada año, el AOS y la CAS, y tengo que reconocer que yo soy de esos a los que siempre le hace más ilusión el AOS, principalmente porque el ambiente suele ser más de reunión para compartir que de conferencia. Por otro lado, había tenido alguna experiencia algo regular con alguna de las CAS anteriores, en las que me parecía que una parte de las presentaciones eran “publicidad” y se había perdido la esencia de la agilidad como método de organización con el objetivo de desarrollar software.



Tengo que decir que está ocasión me ha reconciliado con esta conferencia y lo he disfrutado muchísimo. Así que tengo que dar las gracias a Luis Artola por “liarme” para presentar una sesión, puesto que si no llega a ser por él, no tenia pensado asistir…


He sentido que esta CAS ha recuperado ese balance entre desarrollo de software, organización, expansión de la agilidad a toda la empresa y coaching. Supongo que ese balance ha venido principalmente por la selección de las keynotes y de los speakers.

También he notado un discurso común en varias charlas en la que siendo el desarrollo del software lo principal, se entendía este como un medio para el éxito de la organización, no como un fin. Eso demuestra poco a poco que se va madurando. También he visto varias presentaciones que han mostrado ejemplos reales de culturas ágiles maduras, con equipos de desarrollo que se sienten uno más del negocio y que colaboran con el resto de la organización para conseguir el éxito.

Es verdad con la cantidad de presentaciones y talleres que hay en paralelo, cada uno tiene una experiencia distinta de la misma conferencia. Yo en esta ocasión, no he ido a charlas sobre coaching puesto que estoy un pelín saturado del tema, ni a charlas sobre  transformaciones en grandes organizaciones, puesto que cada vez me interesan más las organizaciones/grupos pequeños y autónomos organizados entre ellos en red.
Realmente entiendo que las transformaciones en grandes organizaciones, desde el punto de vista de dificultad, son un reto increíble pero muchas veces pienso si no es mejor simplemente dejar que se desmoronen y dedicar nuestros esfuerzos a otras organizaciones más pequeñas :)

Estas son las charlas/talleres a los que asistí:
  • Challenging Agile Chris Matts https://theitriskmanager.wordpress.com/2016/12/03/the-real-state-of-scaled-agile/ Video Me inspiró bastante y me gusto como planteaba la dicotomía entre comunidad de soluciones y de necesidades. También evidenció como no estamos ni de lejos preparados para escalar agile (en la mayoría de las ocasiones). Una gran charla. Luego estuve comentando con Chris acerca de si no tiene más sentido en vez de escalar, centrarnos en redes de equipos más independientes, un poco al estilo de lo que proponen Mary y Tom Poppendieck (federación del poder y autoorganización). Me comento que eso ahora mismo está funcionando bien en casos aislados, pero que no hay muchas experiencias reales que validen que es una buena idea para la mayoría de los casos.
  • Aprender a distinguir el problema de las soluciones Carlos Ble slides Video. Me encantó la charla y coincido a un 100% con el mensaje de Carlos. Es ciertamente fundamental entender el problema a resolver y no confundirlo con las soluciones. Además también comento la tendencia que tenemos, como "solucionologos", a centrarnos en las soluciones, sin entender realmente el problema y aportar alternativas. Tengo pendiente investigar algunas de las técnicas que comentó Carlos y que yo no conocía.
  • EventStorming: exploring your business domain Vicenç García-Altés http://ziobrando.blogspot.com.es/2013/11/introducing-event-storming.html Este fue un taller práctico de Event Storming. Esta técnica me parece genial para explorar dominios y conseguir en muy poco tiempo información de calidad del problema. Además tiene la ventaja adicional de conseguir centrarnos en los eventos que pasan y ir hacia atrás intentando identificar en que condiciones se generan. Si lo hacemos de la forma tradicional, hablando con la gente de negocio sobre los procesos que usan, normalmente obtenemos una mezcla incoherente, entre el proceso que hacen, el que desearían hacer y un montón de cosas que se hacen, pero que nadie sabe el motivo para hacerlas... Creo que Event Storming es una técnica muy potente.
  • Alineando valores y principios con prácticas técnicas Ruben Eguiluz, Alberto Pérez Alonso (apa), Isidro López (islomar) slides Video. Explicaron desde la humildad como trabajan en Alea Soluciones mezclando una cultura ágil consolidada, un gran peso en los valores y prácticas técnicas de XP. Como ex-miembro de ese equipo, tengo que decir que está charla me lleno de orgullo hasta un punto insospechado. También me encanto ver como la gente era consciente que la agilidad no es un sueño y que se puede trabajar feliz junto con compañeros con los que compartes valores en una empresa exitosa desde cualquier punto de vista. Grandes!
  • Transformación digital y metodologías ágiles: desde CEOs a equipos Roberto Canales Mora Video. La verdad es que no puede ver la charla completa, pero de lo que entendí, Roberto explicaba como colaboraban con grandes empresas para ayudarles a introducir agilidad, sobre todo desde el punto de vista de prácticas técnicas y de organización. Como he comentado antes, no es algo que me llame especialmente la atención así que no pude sacar demasiado de esta charla.  
  • El arte del patadón pa'lante / posponer decisiones eferro (yo mismo) Esta es la charla que presente yo, y tiene un post especifico con las slides, referencias, y feedback http://www.eferro.net/2016/12/el-arte-del-patadon-palante-posponer.html
  • Comunidades de Necesidad vs Comunidades de Soluciones: Un vistazo diferente al Crossing the Chasm Antonio de la Torre Fernández slides Video.  Esta charla es complemento y continuación de la keynote de Chris Matts Challenging Agile. Me gusto mucho y me pareció interesante, aunque ya la había visto en la Pamplona Software Craftmanship 2016   http://www.eferro.net/2016/07/pamplona-software-craftmanship-2016.html
  • Why everyone should care about Test-Driven Development Steve Freeman Video. Gran keynote acerca de la importancia del ciclo de TDD para generar de forma sostenida software de calidad. Me ha ampliado mi visión acerca de la práctica del TDD y tengo algunos detalles sobre los que reflexionar. Lo estuve comentando con otros compañeros y no a todos les gusto la keynote, pero supongo que es cuestión de gustos.
  • Devops: Desde la trincheras hasta los despachos Néstor Salceda Javi Rubio Video Creo que el mensaje sobre eliminar los silos entre la gente de sistemas y los desarrolladores no solo es muy potente, es además imprescindible, puesto que el software no disponible para los clientes aporta exactamente 0 valor. 
  • ¿Hacemos y elegimos las herramientas adecuadas, adecuadamente? Juan Ignacio Sánchez Lara Video Termine en esta charla un poco por casualidad, sin planteármelo demasiado, pero la verdad es que me gusto. En este mundillo tenemos una tendencia increíble a probar tecnología nueva sin cuestionarnos profundamente la necesidad, sin hacer un análisis y simplemente por un afán de probar cosas nuevas, y por supuesto sin considerar para nada el coste. Juan Ignacio rompió una lanza hacia mejorar nuestro dominio de las herramientas que ya han demostrado funcionar y hacia las tecnologías que aunque no son sexis cumplen su cometido permitiéndonos aportar valor al cliente, que es de lo que de verdad se trata. Un mensaje muy necesario en esta comunidad de adictos a los cambios y al uso superficial de herramientas y tecnologías.
  • Neurobollocks: el nuevo aceite de serpiente Pablo Garaizar (txipi) Marta Ferrero slides Video Esta charla me hizo salirme de mi zona de confort, pero fue una de las que más me gustaron. La presentación desmitifico muchas de las mensajes seudocientíficos que se han generado relacionados con la neuro ciencia y explicaron como podemos ser críticos con ese tipo de mensajes. Actualmente para la "venta" de la agilidad se están usando muchos de esos mensajes e incluso usando las mismas practicas "no científicas" que se usan para vender todo tipo de productos basados en pseudociencia. Lo cierto, es que existen casos concretos de éxitos de agile, pero no existe absolutamente ningún estudio científico sobre la validez de esta u otras metodología...  Además la presentación fue ciertamente de lo más divertida.
  • Modelos de evolución de equipos Israel Alcázar slides Video Esta charla fue bastante interesante y presento varios modelos de evolución de equipos que no conocía y también identifico algunos puntos flojos de algunos de los modelos que usamos normalmente. Muy instructiva la charla y me llevo algunas notas para profundizar más. 
  • No somos indies con flequillo (pero tenemos derecho a sonar en radio 3) Dani Latorre Slides Video. En esta sesión Dani nos explico como trabajan los CodingStones y los motivos que le han hecho a el trabajar en este formato. Claramente lo que describió es una cultura ágil solida y basada en hacer software de calidad de forma sostenible en el tiempo, enfocándose siempre en aportar valor real al cliente. Como firme creyente en la posibilidad de cambiar la industria del software mediante la calidad y redes de pequeñas empresas centradas en aportar soluciones, esta presentación me trajo esperanza. Creo que cualquier cliente que quede satisfecho con este tipo de empresas (Coding Stones, 540, No Flop Squad, Codesai, Karumi, etc), no creo que se plantee de nuevo trabajar en un modelo clásico de compra de horas a consultoras/charcuteras. :-)
  • User-Centered Analysis and Design in Agile. Fatma Urek Uludag, Nazli Ceren Binyldirim. Video. A esta charla me metí para salir de mi zona de confort, y vaya si salí, no me enteré de nada ;-) La verdad es que no puedo opinar, puesto que al cabo de un rato me salí.
  • So, I have all the answers. But are you ready to hear them? Bob Marshall https://flowchainsensei.wordpress.com/ Siento decirlo, pero no pille el punto a esta keynote, no me quedo claro que es lo que pretendía transmitir... Vamos, que para mi fue la keynote más flojilla, pero quizás fue por mi, que ya estaba cansado después de dos días de fiesta :-)

Por supuesto, me quede con muchas ganas de haber asistido a otras presentaciones, pero claro, teniendo que dar una charla y no teniendo el don de la ubicuidad es imposible asistir a todo lo que me hubiese gustado. Eche de menos poder acercarme a las charlas de kiniziracoamaliahernRonnyModesto, y muchos, muchos más...

Por suerte creo que la organización ha conseguido que se graben todas las charlas, así que según vayan saliendo me tocará ver al resto de las que no pude ir... 


Según consiga mas referencias de las slides y los vídeos, actualizaré el post... de momento, podéis echar un vistazo al canal de youtube de agile-spain y al post resumen de autentia 

Muchísimas gracias a la Organización por este GRAN evento... En mi caso concreto, gracias adicionales a Luis Artola y a Vicenç García-Altés a los que abrasé con un montón de preguntas para preparar mi presentación...

Gracias

Sunday, December 04, 2016

El arte del patadon pa'lante / posponer decisiones CAS 2016

Dentro de la CAS2016 en Vitoria, presente El arte del patadon pa'lante / posponer decisiones. Esta presentación viene de algunas ideas sobre agilidad que llevo llevando a la práctica en los últimos 5 años, tanto en Alea Soluciones como el último año en TheMotion.

Dejo en este post, la presentación, las referencias y el feedback que me han dado al respecto...

Video


Muchisimas gracias a Autentia por el Video (AutentiaMedia youtube channel)

Presentación (versión original con Notas)

El Arte del Patadon pa'lante / Posponer decisiones

Presentación en Slideshare
http://www.slideshare.net/DrTrucho/cas2016-el-arte-del-patadon-palante-posponer-decisiones

Sketchnotes

Sketchnote by @Aitortxu


Sketchnote by @oyabun


Entrevista posterior




Una vez más, gracias a Autentia

Referencias y Notas

Feedback

El feedback que hasta ahora ya me he apuntado es:
  • A mejorar:
    • No hable para el publico, miraba para todos lados en plan random.
    • No me prepare el escenario, asi que termine mirando las notas, la pantalla gigante que estaba detrás muy alta y el ordenador, vamos un poco lío.
    • Me quede arrinconado en un lado del escenario (desde el principio debería haber ido al centro).
    • Mejorar ritmo de delivery, era como si dejase ideas muy buenas, pero sin remarcarlas.
  • Positivo
    • Mensaje muy claro y contenido interesante
    • Ideas potentes
    • No se noto que estaba nervioso (y puedo asegurar que lo estaba) (Fake it, until you make it)
Para dar feedback siempre podéis dejarme comentarios por aquí o usar el formulario de feedback de la CAS  https://confagilespain.typeform.com/to/ndqp0S

Muchas gracias por el feedback

En un par de días un post acerca de mi experiencia en la CAS2016... Puedo resumir en:



Relacionado: