# Ingeniería de Software Moderna

*Haciendo lo que funciona para construir mejor software más rápido*

2022-06-29 | `software-design` `testing` `architecture` `agile`

> El desarrollo de software como práctica de ingeniería real. Para dominarlo hay que ser experto en aprender y gestionar la complejidad.

---



El libro presenta el desarrollo de software como una práctica de ingeniería real. Para dominarlo hay que ser experto en aprender y gestionar la complejidad.

### Optimizar para aprender

El libro presenta cinco comportamientos clave para aprender mejor:

- Trabajar de forma iterativa
- Buscar feedback
- Incrementalismo
- Empirismo
- Ser experimental

La idea central: trabajar en pasos pequeños, recoger feedback y ajustar.

### Optimizar para gestionar la complejidad

Cinco ideas para manejar la complejidad:

- Modularidad
- Cohesión
- Separación de responsabilidades
- Ocultación de información y abstracción
- Gestión del acoplamiento

Gestionar la complejidad de nuestros sistemas es fundamental.

### Herramientas para apoyar la ingeniería

El libro profundiza en ideas como:

- Testeabilidad
- Desplegabilidad
- Control de variables
- Entrega continua

---

Un vídeo donde el autor explica las ideas principales del libro:

{{ youtube(id="TRqYQnCfgH8") }}
