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:


Sunday, November 27, 2016

My personal Mission

Eduardo Ferro Personal Mission

To be happy and make those around me happy starting with my family and friends, but without  limiting my circle of influence.

How I go about trying to achieve this:
  • Being responsible for my life and respecting others.
  • Looking for both personal and world balance.
  • Being myself in all aspects of my life (including professional ones).
  • Using my abilities to generate value, both intrinsic and economic, while remaining conscious of social and ethical concerns. (Looking for a positive balance with the world and humankind).
  • Always looking for a win-win scenario.
  • Learning continuously, both as a person and a professional.

This implies that I will not work for businesses wich I believe are not aligned with my personal mission, including:
  • Non-ethical financial business (high frequency trading, investment banking ...).
  • Weapon manufacturers, military.
  • Casinos and gambling.
  • Abuse or exploitation of human beings, animals or degradation of natural resources.
  • Businesses that make miserable the lives of others (customers, suppliers, partners, others).

I think we are at a time when  we can have a great impact on the planet both positively and negatively and it is our responsibility to keep this in mind at all times. We are facing a revolution combining collaboration, knowledge, and federation of power, so networks are the structures of the future and their  growth must not only be sustained but also sustainable.

I participate in this world, with passion and responsibility...

Wednesday, November 23, 2016

Books I have read in the last 12 months


One year ago I started to work at TheMotion and at the same time I decided to recover my previous reading habit. I also discovered the audio books that are a very good choice for me, because I go for a walk (1-2h) every day... The only problem is that not all the books that I like are in this format....
In any case, these are the books I have read / heard during this time at TheMotion...
  • The Power of Habit: Why We Do What We Do in Life and Business. Charles Duhigg   (Pending review)
  • Delivering Happiness: A Path to Profits, Passion, and Purpose. Tony Hsieh   (Pending review)
  • Drive. Daniel Pink   (Pending review)
  • Designing data intensive applications. Martin kleppmann   (Pending review)
  • Soft Skills: The software developer's life manual. John Sonmez   (Pending review)
  • Antifragile: Things That Gain from Disorder. Nassim Nicholas Taleb   (Pending review)
  • The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers. Ben Horowitz   (Pending review)
  • Start-Up Nation: The story of Isreal’s Economic Miracle.  Dan Senor, Saul Singer   (Pending review)
  • Por Un Scrum Popular: Notas para una Revolución Ágile. Tobias Mayer, Alan Cyment (Review)
  • Cómo vivimos y cómo podríamos vivir. William Morris (Review)
  • Un nuevo estilo de relaciones. Koldo Saratxaga (Review)
  • The Nature of Software Development. Ron Jeffries (Review)
  • I Heart Logs: Event Data, Stream Processing, and Data Integration. Jay Kreps (Review)
  • How to Win Friends and Influence People. Dale Carnegie (Review)
  • The Agile Samurai: How Agile Masters Deliver Great Software. Jonathan Rasmusson (Review)
  • The Amazon Way: 14 Leadership Principles Behind the World's Most Disruptive Company. Rossman, John * (Review)
  • The Lean CEO: Leading the Way to World-Class Excellence: Leading the Way to World-Class Excellence. Stoller, Jacob (Review)
  • The Goal: A Process of Ongoing Improvement. Eliyahu M. Goldratt  (Review)
  • Zero to One: Notes on Startups, or How to Build the Future. Peter Thiel (Review)
  • The Lean Enterprise: How Corporations Can Innovate Like Startups. Trevor Owens (Review)
  • Thinking, Fast and Slow. Daniel Kahneman (Review)
  • Lean Thinking: Banish Waste and Create Wealth in Your Corporation. James P. Womack (Pending review
  • Peopleware: Productive Projects and Teams. Tom DeMarco (Pending review) (Second Read)
  • Growing Object-Oriented Software, Guided by Tests. Steve Freeman (Pending review)
  • Inceptions. Enrique Comba (Review)
  • The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Eric Ries (Review)
  • The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win. Gene Kim (Review)
  • How Google Works. Schmidt, Eric (Review)
  • The Innovator's Dilemma: The Revolutionary Book that Will Change the Way You Do Business. Clayton M. Christensen (Review)


For me, the most interesting books of this list are:

Thinking, Fast and Slow
Daniel Kahneman (Review)

    The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
    Gene Kim (Review)



    Antifragile: Things That Gain from Disorder. 
    Nassim Nicholas Taleb   (Pending review)
    The Nature of Software Development. 
    Ron Jeffries (Review)



    This books made me think, change some of my point of view, or inspired me...

    I will continue to enjoy my habit...
    And, of course, if anyone want to have a discussion about the topics in these books, I will be more than pleased... :)



    Sunday, November 20, 2016

    Book Review: The Innovator's dilemma



    Interesting book that highlights the importance of "growth/experimentation" mindset for creating products/services in a very fast changing environment.

    It is part of the base of other books as "The Lean Startup" from Eric Ries.

    It explains very clearly the difference between incremental improvements to a product and disruptive products or technology. Giving real examples and explaining the different approaches we can use to create disruptive products from diferent points of view (economic, management, motivation, etc)

    Good reading for managers trying to enter the world of innovation and startups. If you are already convinced that the "classic management" is not useful to create innovation, perhaps other readings can be more interesting (ex: The Lean Mindset or The Lean Startup).

    Anyway a great book.

    Tuesday, November 01, 2016

    Monday, October 24, 2016

    Global code retreat Madrid 2016/10/22


    This Saturday I participated in the Global day of Code Retreat event organized by Madrid Software Craftsmanship community. This was the first time I went to the a Code Retreat and I can say I like a lot very much the format.



    During all the day, we was resolving the game of life, in pairs, with different restrictions and deleting all the code in each iteration... It is a very interesting deliberate practice to improve our skills, and using the same problem all the time allow us to approach using different techniques.

    The best part is that in each iteration we change pairs so during the day you have the opportunity to discuss and solve the same problem with different people using very different point of view.
    I think that this promiscuous pairing is the most effective way for trying new techniques and learn new insights.

    Lot of thanks, the facilitator Juan D Vega, Luis Rovirosa and all the rest of the organizers from Idealista



    Thanks a lot to all of my pairs: Alvaro FidalgoRuben ChavarriaOscar PernasJavier del Saz, Guillermo Domingez, Angel Sanz... Sorry but I don't remember the name of another person that work with Angel Sanz and me in the last iteration.

    The constrains that  Juan D Vega introduced were:

    1. Iteration. Ping-Pong pairing
    2. Iteration. No naked primitives
    3. Iteration. No Mouse + 3 minutes limit discussion
    4. Iteration. No conditional statements
    5. Iteration. Mute Session (impossible for me :-) )
    6. Iteration. Code swap (with another pair) in the middle of the iteration. Very funny and interesting.

    The most difficult one for me was the 5 iteration, because I worked with Java (and I have no idea) and not talking is very, very difficult.
    The most funny and interesting iteration for me was the code swap.

    For sure the next year I will repeat :)

    P.D. I am happy with the code retreat, but I am very happy that two colleagues from TheMotion join me at the event (Cesar Ortiz, Ludo), and even more happy with the post-coderetreat conversations, learning, insights, etc.

    References:



    Sunday, October 23, 2016

    Great technical talks I've seen this month


    These are great talks that I've seen this month:

    Saturday, October 15, 2016

    Book Review: Cómo Vivimos Y Cómo Podríamos Vivir

    This post is in Spanish because I read this book in Spanish. I also think that there is no english version of this book (even if the content is from some original speeches in English).


    William Morris

    Inspirador libro sobre al trabajo y el arte entendido como esencia del esfuerzo humano en un contexto en el que la productividad, el “crecimiento” y el consumo desbocado parece la medida del éxito. Podría parecer el mensaje de alguien abrumado por el ritmo de la sociedad actual, pero lo más gracioso es que es el mensaje de un diseñador textil, artista y revolucionario socialista en pleno apogeo de la revolución industrial.

    El libro me ha resultado curioso, muy inspirador, y con algunas ideas sobre las que merece la pena reflexionar. El contenido del libro son transcripciones de discursos que luego fueron publicados en diversas revistas socialistas de la época. Hay que tener muy en cuenta el contexto histórico y el formato de los escritos para que no nos impida ver el trasfondo del mensaje.
    En mi caso me ha impactado esa idea de crecimiento sostenible (no artificial) y arte como parte inherente del trabajo. Con estas premisas William Morris presenta la posibilidad de crear una sociedad en la que el trabajo sea parte intrínseca del desarrollo de cada persona en vez de un mal necesario para conseguir “cosas” cuya necesidad nos hemos creado artificialmente.

    El mensaje de Morris ha sentado las bases ideológicas para el renacer del movimiento de artesanía que se ve en varias disciplinas actuales (diseño, software, makers, etc). Por supuesto que no se ha alcanzado nada parecido a su propuesta, lo que no invalida la aportación de sus ideas y la necesidad de tenerlas en cuenta en esta “acelerada” sociedad actual.

    Hacia tiempo te no tenia este tipo de lecturas y aunque al principio me encontré un poco fuera de juego por falta de costumbre, enseguida conseguí sumergirme en su lectura y en una profunda reflexión. Finalmente lo he disfrutado mucho.

    Gracias Saski por la recomendación y el préstamo…

    Tuesday, September 20, 2016

    Development teams / No Rockstars

    Post previously published in Spanish Equipos de desarrollo / No Rockstars

    The "Solo Developer" does not work anymore. "Is a good developer, but... he can't work in a team..." is no longer good enough. Even I think, that the practices that works well for you but are not shared among the team are not good practices anymore.

    Nowadays there are no development efforts for one person. Programming has become a team effort, so the collaboration, communication and empathy are much important for the final result than the individual capabilities of each team member.

    Given this premise, it surprises me that there are lot of discussions about if the technical practices works for each one of us. This is doesn't matter... What matters is whether the practices work well for the team. Each one should have the expertise, the capability, or the eager to learn the practices, but only to use the practices as a team.

    Lot of the XP (extreme programming) practices are oriented toward the creation of high performance teams that share the knowledge about the business and the system. Specially the "Collective Ownership", the "Pair Programming" or nowadays the "Mob Programming", force the collaboration, the communication and the empathy. And for sure without this soft skills these practices won't work well.

    IMHO this profession don't require neither Rock Stars, nor Ninjas, nor wizards... Require professional teams (a minimum of two), that know the tools and the practices and that continuously try to improve (learning new ways of using the tools, improving the practices or even discovering new ways of work).


    Friday, September 16, 2016

    Interesting technical talks...


    I've just watched these interesting technical talks / podcasts / presentations:


    Thursday, September 15, 2016

    Book Review: Un nuevo estilo de relaciones: para el cambio organizacional pendiente

    This post is in Spanish because the book is in Spanish and I think that there is no translation to English


    Un nuevo estilo de relaciones: para el cambio organizacional pendiente 

    Koldo Saratxaga 


    El libro, aunque interesante y fácil de leer no me ha aportado mucho más que las charlas/presentaciones que he visto de Koldo. Tiene algunos detalles y algunos ejemplos más, pero muchos de ellos son pequeñas anecdotas, que no aportan más detalle a las prácticas que promulga.

    Por supuesto el mensaje de Koldo Saratxaga acerca del Nuevo Estilo de Relaciones es muy interesante y merece la pena conocerlo, asi que se puede empezar por este libro o por alguna de sus charlas (como la keynote que dio en la CAS del 2013)


    Referencias y más bibliografía:




    Tuesday, September 13, 2016

    Book Review: Por Un Scrum Popular: Notas para una Revolución Ágil

    This post is in Spanish because the book is in Spanish and is not exactly a translation, it have a different content than the original.

    Por Un Scrum Popular: Notas para una Revolución Ágil

    Tobias Mayer (Autor), Alan Cyment  (Autor, Traductor)



    La lectura de este libro me ha resultado de lo más sorprendente. El libro está compuesto de una serie de ensayos cortos de Tobias Mayer complementados por anexos creados por Alan Cyment. Con este formato se ha generado una especie de diálogo entre los dos autores, Tobias, como el autor original de los ensayos y Alan (de cierta manera uno de sus discípulos), como coautor y traductor.

    Para cada ensayo Alan amplia la idea original, la pone al día o aporta nuevas ideas y en algunos casos incluso la enfrenta de forma constructiva.
    Debido a este formato, el resultado es excelente, es muchísimo más que una traducción. Una gran idea.

    En cuanto al contenido, para mi, este Scrum que describen es el esencial, el basado fuertemente en valores y cultura, el que habla de una forma distinta de trabajar a nivel de toda la empresa y no describe/prescribe un método de organización y gestión para equipos de desarrolladores.

    Ni que decir tiene que estoy completamente alineado con el Scrum descrito por Tobias o por ese Scrum (orgánico) descrito por Alan en el que la reflexión en las retrospectivas y el timeboxing generan un marco para permitir que lo que sea necesario brote.
    Cada uno de los ensayos nos puede aportar una profunda reflexión sobre cómo trabajamos y cómo nos relacionamos como organización.

    Si buscas un libro que describa la mecánica de Scrum, este NO es el libro. Pero si conoces Scrum, consideras que somos personas incluso mientras trabajamos, este libro te puede hacer reflexionar, abrirte nuevas vías…

    Un gran libro...

    Saturday, September 10, 2016

    Recordando el descubrimiento de Scrum Orgánico


    Después de interesarme por XP y por muchas de las prácticas técnicas, comencé a interesarme por Scrum, pero lo entendía como un método para organizar el equipo, con sus artefactos, y algunos principios pero secundarios. Pero no fue hasta que asistí al curso de Scrum Master impartido por Alan Cyment y Ariel Ber (Madrid Nov 2010) que mi mente no hizo el “Click” y comencé a entender el profundo cambio que requiere Scrum en la forma de trabajo. Cristalice todas estas ideas mientras Ariel nos ayudaba a introducir agilidad en el equipo de desarrollo de Scrum en Alea Soluciones.

    Comencé a ver el trabajo como interaciones y relaciones entre personas y Scrum como un marco en el que de forma orgánica se podía mejorar esa forma de trabajar mediante el coraje, la comunicación y otros valores que nos reconociesen como personas completas y no como máquinas…





    Con la lectura de “Por Un Scrum Popular: Notas para una Revolución Ágil” he recordado / revivido parte de los cambios en mi forma de trabajar e incluso de vivir que he ido realizando desde el 2010… poco a poco, experimentando, arriesgándome…
    También me ha recordado que equivocado es olvidarse de las bases y la cultura y hacer cambios superficiales que no estén completamente alineados con lo que creemos.
    Así que, no olvidemos, cada poco tiempo, revisitar nuestras convicciones de base, nuestro sistema operativo como comentan en Drive, experimentar, mejorarlo y continuar. :)


    Gracias Alan, Ariel y tantos otros que me hacen pensar…


    Relacionado



    Referencias:




    Monday, August 29, 2016

    Book Review: Understanding the Four Rules of Simple Design

    Understanding the Four Rules of Simple Design

    by Corey Haines

    Great technical book with tons of distilled advice about software design. It is mainly focused design at a class level, but some of the advice can be extrapolated to a macro design level.
    I enjoy a lot the book and it is easy to read and to understand, but it requires at least a medium level of OO design experience to learn from the content. Definitively not a entry level book.

    The contents of the book come from the experience of Corey Haines hosting many code retreats. At this code retreats, the problem to solve is always the same (Conway's Game of Life), so Corey show lots of different designs for the same problem. Using this problem and code as a base, he explains the four rules of simple design proposed by Kent Beck in the initial XP book…

    This book can help any developer to improve his designs skills and interiorize how to implement elegant and simple designs in his programs. Lot of wisdom.

    Even the foreword from Kent Beck contains advices that are pure gold

    Sunday, August 21, 2016

    Agile is not a recipe for success...

    Post previously published in Spanish agilidad no es una receta para el exito


    Agile is not a recipe for success, is a recipe for failure...
    Fail fast, cheap and learning during the process... Agile will not avoid the failure, but it will help to avoid failing in the same way, at the same problem or using a ton of resources.

    Agile assume the following:
    • We will fail estimating.
    • We will fail understanding the customers requests.
    • We will fail selecting technologies.
    • The requirements will change (always).
    So agile proposed:
    • Estimate very small chunks (or no estimate at all).
    • Deliver running systems to obtain feedback and adapt the system to the real need of the customer.
    • Use agile practices to have under control the technical debt and to allow maintenance/evolution of the system with a reasonable cost.
    • Maximize the amount of work not done.
    • Create code with good quality to make very easy to adapt it to future changes.
    And all of this using very fast/small cycles (timeboxing, iterations, continuous delivery), so even if we fail is very difficult that this failure generate a great problem.

    And all this process reforced with a continuous improvement process (with retrospectives and team improvements).

    Embrace Failure
    Embrace Change
    Embrace Chaos

    Sunday, August 14, 2016

    Why I use the term "software craftsman"

    I like to think that I can consider myself a professional software developer after 20 years or working on it. Since some years ago I feel very aligned with agile software development movement and lately with the software craftmanship movement. I started to be interested in agile in 2002-2003 and in the software craftsmanship in 2012.
    Currently when I try to describe myself I use the words “software craftsman” as an equivalent to “software developer, continuously trying to improve his skills and craft”.



    Let me explain what I mean by “software craftsman”:
    • I mean being professional as software developer
      • Trying not only to create working code, trying to create simple, easy to maintain code.
      • Trying not only to create the code that the business required, also trying to help the business to growth (with different solutions, even without using code). Adding steadily value to the business.
    • In order to be a good professional there is a strong need to learn and improve our skills, tools and practices. Or even look for new ones.
    • IMHO a good process for learning or improving ours skills is participating in the community of professional software developers. In this process the mentor / apprentice format works very well to improve our skills.
    Why not using the “agile software developer” denomination?
    In fact, for my, this definition can be a good option, but currently, the term agile is even more confuse that craftsmanship.

    For me, at least in my experience, the development of applications and systems has more in common with a craft than with an engineering. Engineering is the application of mathematics, empirical evidence and scientific knowledge, so it is possible to plan, predict and control. IMHO software development for non trivial systems requires sense and respond and other approaches can derive in a false sense of control.

    Some kind of software efforts are more adapted to a engineering approach (algorithms, compilers, software for science), but in my case, this is the exception, not the norm.

    So, currently in my linkedin profile I indicate that I work as Software Craftsman… I also indicate that I work as a Shaman, but this is different history :-)

    References:

    aws-sdk-go spikes and small examples

    I am developing the initial support for aws checks for the library https://github.com/aleasoluciones/gochecks

    gochecks library allow us at TheMotion and at AleaSoluciones to create programmatically highly concurrent monitoring apps.

    This post is an autonote with the initial spikes created using the aws-sdk-go

    aws_golang_examples