Modern Software Engineering by David Farley
Este libro presenta el desarrollo de software como una práctica de ingeniería en todos los niveles. Para dominar la ingeniería de software, debemos convertirnos en expertos en aprender y gestionar la complejidad.
Este libro presenta el desarrollo de software como una práctica de ingeniería en todos los niveles. Para dominar la ingeniería de software, debemos convertirnos en expertos en aprender y gestionar la complejidad.
Optimizar para aprender
Para optimizar el aprendizaje, el libro presenta cinco comportamientos a considerar:
- Trabajar iterativamente
- Retroalimentación
- Incrementalismo
- Empirismo
- Ser experimental
La idea principal es trabajar en pequeños pasos, recoger retroalimentación y ajustar.
Optimizar para gestionar la complejidad
El libro presenta otras cinco ideas para gestionar la complejidad:
- Modularidad
- Cohesión
- Separación de responsabilidades
- Ocultación de información y abstracción
- Gestión del acoplamiento
Necesitamos gestionar la complejidad de nuestros sistemas.
Herramientas para apoyar la ingeniería en software
Profundizando en algunas ideas que ya se discutieron en el libro, como:
- Testeabilidad
- Desplegabilidad
- Controlar las variables
- Entrega continua
Un gran video explicando las ideas principales detrás de este libro por su autor: