Sunday, June 18, 2017

Pamplona Software Craftmanship 2017




Este pasado 2 y 3 de Junio tuvo lugar la Pamplona Software Craftmanship 2017... Este blog post es mi crónica de la mitad del evento, puesto que el colegio de mi hija decidió que el 2 de junio era buen día para hacer la graduación del ciclo de infantil... así que la primera sesión a la que pude llegar fue la última del primer día.



Bueno, vamos al tema...

Sesiones:

Estas son las sesiones a las que puede asistir:
  • Los programadores no tienen que ser malos diseñadores de interfaces (Sebastian Hermida) (Video). Me aporto mucho puesto me permitió entender las diferentes practicas relacionadas a la experiencia de usuario y al diseño y las explico contraponiendolas a conceptos de desarrollo.
  • Arquitecturas, arquitectos y otros animales mitológicos. (Vicenç García-Altés) (Video) De esta charla me he quedado con algunas herramientas, reuniones, y artefactos a investigar para identificar capacidades del sistema y conceptos del negocio que afectan a la arquitectura. 
  • Speed Dating (Sebastian Hermida) (Open Space) Interesante dinámica para conocer gente, que es uno de los puntos fuertes de una conferencia de craftmanship.... conocer otros profesionales interesantes e intercambiar conocimiento. 
  • Onboarding (Angélica). No pude estar en toda la sesión así que solo pude escuchar parte. Se genero una especie de mesa redonda explicando como hacían en diversas empresas el onboarding de nuevos compañeros... me quede con algunas ideas para implementar.
  • El arte del patadon pa'lante / Libro de recetas (artolamola & eferro (yo mismo)) (Video) En la charla intente dar ejemplos prácticos de cómo podemos posponer decisiones y evitar trabajo innecesario, teniendo así la oportunidad de atacar más problemas. Cualquier feedback en referencia a la charla será más que bienvenido.
  • Cuentame tu stack  (Vicenç García-Altés) (Open Space) Minipresentaciones de distintas arquitecturas y stacks tecnológicos. Un formato de sesión muy interesante y que invita a la conversación sobre arquitectura partiendo de ejemplos reales.
  • Power point karaoke (Laura Morillo). Sin duda una de las sesiones más divertidas. Para el que no lo conozca, el power point karaoke, consiste en que  se eligen presentaciones cortas y se saca a gente que no ha visto jamas esas presentaciones a que las presenten... Un descojone.
  • Building a transactional function pipeline (with TDD and Elixir) (https://twitter.com/jacegu) (Video) Interesante presentación de Javi, en la que mostró como usar de forma casi mecánica una practica como TDD le permitió avanzar en un contexto desconocido para el. Muchas veces nos olvidamos de como una practica nos puede ayudar dando estrategias para solventar nuevos problemas. Muy interesante.

Como siempre, además de las charlas en las que estuve, lo mejor de un open space son las conversaciones que se producen en todo momento... dentro y fuera de la conferencia... Poder compartir con compañeros profesionales y amigos nuestra pasión, es lo más valioso de una conferencia de este tipo. Por otro lado,  con cada conferencia que pasa, se amplia el número de compañeros a los que puedo considerar amigos :-)



Charlas grabadas que he visto

Por otro lado, y gracias a la inestimable ayuda de Autentia,  algunas de las charlas a las que no pude asistir fueron grabadas así que me las estoy viendo poco a poco.... De ellas, las que más me han impactado de momento son:



Hay otras que también están muy bien, pero que no me han impactado tanto (en algunos casos porque el tema ya lo conocía):



Tenéis el post de Autentia con todas las grabaciones en:
https://www.autentia.com/2017/06/13/pamplona-software-craftsmanship-2017/

Resumen y agradecimientos


Como resumen general, puedo decir que la organización de la conferencia es de lo mejor que he visto. La gente de 540, los organizadores, son unos cracks y no solo están atentos a todos los detalles y desarrollan como campeones sino que además son unos genios del marketing.
La verdad es que me extraño que no terminase por venir Martin Fowler a la conferencia, puesto que si alguien lo puede conseguir son ellos...

Me encanta el formato, me encanta el contenido, me encanta reencontrarme con amigos, me encanta que pongan Kalimotxo y me parecen que los amigos de 540 son lo más TOP!!!

Thursday, June 15, 2017

Kent Beck 3x (Great idea that deserves our time)




The life of a product, a tech company, and a software system is a continuous process of decision making... and the best answer for each of these decisions is always "it depends". It always depends on the context and the phase of the product/company/system...
Lately, Kent Beck is presenting a framework to better understand and define this "needed" context information. This great proposal, which he calls 3x (explore, expand, extract), helps us to understand the trade-offs and make better decisions.

We can read as an introduction:
And for the original notes:
And there are some talks about this matter at:
Any comment or discussion about this interesting concept is more than welcome :)


Saturday, June 10, 2017

Quotes about software architecture

Interesting quotes that can inspire you as software developer or at least make you think :)

"In most successful software projects, the expert developers working on that project have a shared understanding of the system design. This shared understanding is called ‘architecture.’ This understanding includes how the system is divided into components and how the components interact through interfaces. These components are usually composed of smaller components, but the architecture only includes the components and interfaces that are understood by all the developers."  Ralph Johnson
"A complex system that works is invariably found to have evolved from a simple system that worked." John Gall
 "Architecture is the decisions that you wish you could get right early in a project." Ralph Johnson
"So you might end up defining architecture as things that people perceive as hard to change." Martin Fowler
"I think that one of an architect's most important tasks is to remove architecture by finding ways to eliminate irreversibility in software designs." Martin Fowler
"Complexity is what makes software hard to change. That, and duplication." Ralph Johnson
"irreversibility was one of the prime drivers of complexity" Enrico Zaninotto

"If you don’t actively fight for simplicity in software, complexity will win…and it will suck." - @HenrikJoreteg

References about Evolutionary Architectures

After my talk El arte del patadon pa'lante / Libro de recetas (Spanish) at the Pamplona Software Craftmanship 2017, some colleagues ask me about references for evolutionary architectures. This post tries to give the best references I know about this concept...

To have context for the other references, I find the following resources essential:


As general resources:

You also need techniques to make changes to things that traditionally are "hard to change"... For this Martin Fowler bliki is a gold mine:

To document all the decisions you make to gain the sharing understanding of the design:



We also need a lot of tricks for our bag of tricks to have different approaches for different problems... Related with this, I think is important to have knowledge about: