Libro Recomendado: The Nature of Software Development

Finalmente terminé de leer uno de los libros del que hacía tiempo había leído muy buenas críticas y quería escribir este artículo contando mis impresiones.

The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece de Ron Jeffries
Me ha gustado mucho el libro, es de muy fácil lectura, ameno y con bastantes ilustraciones que agilizan la lectura.

El subtítulo resume muy bien el contenido del libro: "Mantenlo simple, Hazlo valioso, Constrúyelo pieza por pieza"

Autor

Ron Jeffries es uno de los tres fundadores de Extreme Programming, junto con Kent Beck y Ward Cunningham. También es uno de los 17 firmantes originales del Manifiesto Ágil.

Es el autor del libro Extreme Programming Installed, el segundo libro publicado sobre XP.

También ha escrito Extreme Programming Adventures in C#.

Como curiosidad os comparto este artículo suyo de 2018: Developers Should Abandon Agile, donde anima a los desarrolladores a abandonar el concepto Agile.

Lo que viene a decir es que el concepto Agile se ha convertido en un negocio para las empresas a través de certificaciones, coaches, scrum masters etc y están utilizando el concepto Agile de una forma muy alejada de la idea original del manifiesto, empeorando las vidas de los desarrolladores en lugar de mejorarlas.

Resumen del libro

Ron Jeffries desde el principio describe un modo 'natual' de construir software.

Si has estado trabajando con metodologías ágiles te resultará bastante familiar. Este enfoque consiste en desarrollo entregando pequeñas features que aportan valor de forma temprana y contínua.

A lo largo de esta primera parte va describiendo desde varios puntos de vista la forma 'natural' de construir sofware, como gestión del proyecto, gestión del equipo, planificación etc.. representándolo como una piramide.

The-Nature-of-Software-Development--Piramyd

El valor lo sitúa como la punta de la pirámide y sobre lo que tiene que girar todo lo demás, aportar valor.

Descrive el valor como 'lo que tú quieres' y esto puede ser desde algo económico, información, ahorro de tiempo etc...

Incide en que deberíamos priorizar las features que aportan màs valor y suponen menos esfuerzo.

Algo que me gustó, es que comenta que los equipos deberían estar organizados en base a features y no a tecnologías.

A lo largo del libro va tocando temas como el diseño, refactoring, desarrollo guiado por test de aceptación (ATDD), desarrollo guiado por test (TDD), siempre desde el foco de ir feature a feature entregando valor sin entrar en detalles técnicos.

Citas

Os dejo algunas citas de frases libro que me han gustado:

If our design is allowed to deteriorate, progress will slow. Features will cost more than they should. Unless we keep the design fresh, we’ll just get slower and slower.

Managing by looking at value works better than managing by dates or artifacts that don’t deliver value.

Estimate if you must. Selecting the work based on Yesterday’s Weather works better.

The most valuable thing you can do to speed up development is to build skill in the development team.

Conclusiones

Es un libro bastante ameno de leer, donde Ron Jeffries expone sus argumentos para defender el desarrollo basado en iteraciones cortas aportando valor.

Se lo recomiendo a cualquier persona relacionada con cualquier fase del desarrollo de software.

Sin duda puede ser una buena lectura para este verano.

The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece

Acabo con una frase del propio Ron Jeffries describiendo el libro:

“This book is an attempt at finding some essential simplicity inside the complex activity of building software products”