Software Complexity
- Learning and Discovery - Iteration, Feedback, Incrementalism, Experimentation and Empiricism
- Managing Complexity - Modularity, Information Hiring, Seperation of Concerns, Loose-Coupling, Cohesion
Making great software is more about managing complexity and thinking through details than it is about design or pretty pixels. One of the biggest misunderstandings of our era.
No Silver Bullet-- Essence and Accident in Software Engineering
"No Silver Bullet-- Essence and Accident in Software Engineering" is a widely discussed paper on software engineering written by Turing Award winner Fred Brooks in 1987.Brooks argues that "there is no single development, in either technology or management technique, which by itself promises even one order of magnitude (tenfold) improvement within a decade in productivity, in reliability, in simplicity." He also states that "we cannot expect ever to see two-fold gains every two years" in software development, as there is in hardware development (Moore's law).