Una introducción al ciclo completo de desarrollo de software desde un enfoque ágil. Este libro reúne las prácticas más habituales de código limpio, refactoring, principios de diseño, testing y gestión de la configuración, junto con reflexiones acerca de la naturaleza creativa y artística del software y técnicas de productividad para desarrolladores. Si te gustó El Libro Negro del Programador, en este nuevo trabajo de Rafael Gómez Blanes, encontrarás las claves esenciales para cualquier programador profesional, con decenas de ejemplos extraídos de proyectos reales en C# y Javascript. Con presentación de Aurelio Gandarillas, experto en testing y calidad de software.

Si prefieres recibirlo por correo postal tradicional, te lo podemos enviar directamente a España y resto de países de Europa. ¡Escríbenos y nos lo pides!

O lee desde la app de Kindle en tu dispositivo Android o Mac.

Kindle App

Comienza a leer un fragmento de El Libro Práctico del Programador Ágil

Código sucio e ilegible, falta de organización, mal uso de herramientas de seguimiento, código excesivamente acoplado, ausencia total de documentación, redundancias chirriantes, soluciones con una organización en los assets del código desastrosa, falta de gestión de la configuración, correcciones en caliente en los sistemas en explotación, "hoy programo esto porque me gusta más y no hago lo que es prioritario para el proyecto..." y un largo etcétera.

Si esto te suena, entonces ya conoces el resultado: programadores frustrados, un negocio enfadado que gasta más recursos de los que debería y soluciones que hay que tirar a la basura tarde o temprano (o rehacerlas completamente llamándolas con un nuevo número de versión...). Pero, sobre todo, programadores a los que aún le faltan, en mi opinión, un salto de nivel para considerarse auténticos profesionales. No estoy hablando de crear un proyecto lúdico en GitHub en tu tiempo libre, sino de trabajar correctamente dentro de una compañía y como parte de un equipo con el objetivo de sacar adelante un proyecto software con calidad profesional.

¿Y por qué software ágil? Porque los mercados evolucionan cada vez más rápidos, el time-to-market es cada vez menor, porque a estas alturas de la industria del software debemos diseñar aplicaciones para que puedan evolucionar fácilmente y cuyo coste de mantenimiento sea menor. Lejos están los tiempos en que se creaban aplicaciones demasiado monolíticas (aunque las siga viendo muy a mi pesar en entornos profesionales).

Esto es precisamente lo que persigue el Libro Práctico del Programador Ágil, mostrarte las técnicas elementales para que tu aplicación sea modificable con facilidad y mantenible.

En estos años me han contratado para husmear en la forma de trabajo y la calidad del código que se escribe en diferentes organizaciones, de forma que he ido recopilando una gran cantidad de material y que ahora estoy utilizando para darle forma a El Libro Práctico del Programador Ágil. Esto, además, me ha permitido volver a repasar las referencias de cabecera del desarrollo ágil que todo programador debería tener en la mesilla de noche, profundizando aún más en esas prácticas.

Hechos:

#1 Programar puede ser hasta relativamente sencillo; abundan los libros que prometen a un neófito aprender php, python o javascript en 24 horas. 

#2 Implementar soluciones utilizando realmente la orientación a objetos de lenguajes de más alto nivel como C#, Java o incluso las últimas revisiones de los lenguajes anteriores, comienza a ser algo menos trivial, imposible de aprender en poco tiempo. En muchas ocasiones, apenas utilizamos la orientación a objetos correctamente.

#3 Programar una aplicación sin errores, soportado por pruebas, incluye además otro nivel de dificultad y otro enfoque de diseño totalmente diferente.

#4 Desarrollar software dentro de un equipo de trabajo, requiere otro tipo de consideraciones: metodología, uso de determinadas herramientas de colaboración o seguir algún tipo de estrategia ALM (application lifecycle management).

... y #5 Por último, desarrollar un proyecto para que acepte cambios, mejoras y nuevas características durante años sin errores, ese es otro tema.

Sin embargo, me temo que me encuentro habitualmente en proyectos de compañías serias y que dedicarn muchos recursos (€), mucho más de los primeros puntos que del último.

El Libro Práctico del Programador Ágil introduce las prácticas necesarias para asegurar la calidad del software en este último sentido, para garantizar la mantenibilidad del mismo, su futura evolución y que la introducción de nuevas caractarísticas se realicen con el mínimo esfuerzo, de modo que los desarrolladores pasen gran parte de su tiempo... programando, aportando valor, no corrigiendo errores, y mucho menos aguantando a los compañeros del negocio frustrados porque el software que utilizan falla o funciona mal.

Nada más y nada menos. Todo un reto, pero, en definitiva, son buenas prácticas que he vuelto a tener muy en cuenta reciemente desde Solid Stack cuando estamos a punto de lanzar la versión licenciada de un producto como Picly.

Lista de capítulos de El Libro Práctico del Programador Ágil:

  • Introducción
  • Presentación
  • Una pequeña historia
  • Sobre el autor
  • Qué es la calidad del software
  • Por qué el software se corrompe
  • Ideas contraintuitivas
  • Una visión holística sobre el desarrollo de software
  • Advertencia
  • Prácticas de código limpio
  • Nombres con significado
    • Clases
    • Funciones
    • Comentarios
    • Formateo
  • Buenas prácticas de diseño
  • Introducción al refactoring
    • Bad smells
    • Técnicas de refactoring
  • Desarrollo de Software Ágil
  • Principios S.O.L.I.D.
    • Single Responsability Principle (SRP)
    • Open/Close Principle (OCP)
    • Liskov Substitution Principle
    • Interface Segregation Principle (ISP)
    • Dependency Inversion Principle (DIP)
    • Dependency Inyection (DI)
    • Inversión de Control (IoC)
  • Testing
    • Técnicas de pruebas
    • Pruebas unitarias
    • Pruebas de integración
    • Pruebas de rendimiento
    • Pruebas de validación
  • La gestión de la configuración
  • Integración continua
  • Técnicas de productividad para desarrolladores
  • Para terminar
  • Bibliografía

Este nuevo trabajo va al grano, te muestra las técnicas básicas pero imprescindibles de código limpio y de refactoring, con innumerables ejemplos así como la aplicación práctica de principios imprescidibles con SOLID.

Los ejemplos están escritos en C# y Javascript, tratando en cada caso de elegir uno u otro lenguaje para que cada ejemplo sea más ilustrativo.

La calidad nuestro proyecto software avanzará a años luz tan solo aplicando todos y cada uno de los conceptos de El Libro Práctico del Programador Ágil.

Mis libros en todas las tiendas:

Amazon
Google Play
Apple
Kobo
Barnes and Noble
Scribd
Smashwords
Payhip
Gumroad