</> CodeBooks
    ← Volver a Arquitectura de software (página 1)
    Portada de Modern Software Engineering

    Modern Software Engineering

    David Farley

    Editorial
    Addison Wesley
    Año
    2021
    Páginas
    ~277
    Nivel
    Intermedio

    De qué trata

    Tratado formativo y conceptual escrito por David Farley (pionero del movimiento de Continuous Delivery) con el objetivo de elevar el desarrollo de software a una auténtica disciplina de ingeniería, fundamentada en el método científico, el empirismo y principios duraderos en lugar de modas o dogmas tecnológicos. Al ser una obra enfocada en principios perennes, no depende de versiones de tecnologías específicas. Está destinada a programadores, arquitectos de software, líderes técnicos y directores de ingeniería de nivel intermedio a avanzado que buscan una base metodológica rigurosa para crear software de mayor calidad con rapidez y previsibilidad.

    Farley articula la ingeniería de software moderna en torno a dos actividades esenciales: la optimización para el aprendizaje y la gestión de la complejidad. En el primer bloque profundiza en el trabajo iterativo, la retroalimentación rápida, la entrega incremental, el enfoque experimental y la práctica disciplinada de Test-Driven Development (TDD) y Continuous Delivery (CD) como mecanismos de validación empírica. En el segundo bloque desgrana los principios de diseño que mantienen el software gobernable a medida que escala: modularidad estricta, alta cohesión, separación de responsabilidades (Separation of Concerns), ocultamiento de información (information hiding), abstracción y control riguroso del acoplamiento.

    El libro no propone la construcción paso a paso de un proyecto de código comercial ni incluye baterías de ejercicios prácticos; en su lugar, recurre a ejemplos conceptuales, diagramas y analogías de la ingeniería aeroespacial y científica para ilustrar cómo medir y gobernar sistemas complejos. Su mayor aporte reside en desmitificar mitos de la industria y dotar al profesional de una filosofía sólida para evaluar arquitecturas y procesos; deja fuera configuraciones de herramientas específicas, sintaxis de lenguajes o manuales de despliegue. Resulta indispensable que el lector cuente con experiencia previa construyendo software en equipo para apreciar el impacto práctico de sus principios.

    • Ingeniería de software
    • Continuous Delivery (CD)
    • Test-Driven Development (TDD)
    • Modularidad
    • Cohesión
    • Acoplamiento
    • Separación de responsabilidades
    • Gestión de la complejidad
    • Empirismo
    • Diseño de software
    • Entrega incremental

    ¿Cómo enseña?

    TeóricoPráctico

    Teórico

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Intermedio