You’ve read about agile development, BDD/ATDD, agile architecture, and many of the other facets of agile. Many articles tend to discuss individual aspects, rather than putting them in a perspective of a whole development picture. Over the past year and a half, I’ve been coalescing ideas on software development. This view has emerged from my interactions with students, agile enthusiasts, and agile coaches, trainers, and authors. I’ve listed at the end many of the people from whom I’ve gathered different perspectives and feedback. This article merges in ideas that have appeared in my books on BDD/ATDD, software development, programming, and interface-oriented design. The PDF is here; HTML version is here.