El documento discute las dificultades esenciales y accidentales de la ingeniería de software. Explica que la esencia del software es la construcción de conceptos interrelacionados, lo que lo hace inherentemente complejo. A pesar de que muchas dificultades accidentales se han reducido, la complejidad conceptual inherente siempre hará que construir software sea difícil. Se necesita un esfuerzo disciplinado a largo plazo enfocado en comprender y atacar esta esencia para lograr mejoras significativas.