The Nature of Software Development
summary
Argues that success comes from vertical slices, relentless testing, and small teams organized by feature rather than function, not from frameworks or big plans. Recommends TDD, automated unit and acceptance tests, continuous integration/delivery and incremental refactoring; uses slice until one acceptance test and staging work by yesterday’s weather for planning. Claims teams that adopt this cut defects dramatically — reduce bug injection by 10x–100x — and cites one continuous-release case: release continuously (18 months, 3 defects).
AI-written summary · about
chapters (23)
- 0:00Introduction by Ron Jeffries
- 1:48Software development as a universal force
- 3:57Why Agile projects fail to thrive
- 5:05Delivering value in small chunks
- 8:17Organizing work by value
- 10:45Why waterfall fails and Agile works
- 12:30Building teams that can ship software
- 15:41Planning feature by feature
- 19:33Status reports and hidden work
- 21:20High quality software every Sprint
- 24:29End-to-end vertical slices
- 26:11Quality and design in software
- 30:05Testing and bug prevention
- 32:10Refactoring and clean design
- 36:02Skills for sustainable development
- 37:49Demanding quality from stakeholders
- 41:21Building features while improving quality
- 44:31People and collaboration in Agile
- 47:42The people-driven nature of Agile
- 49:27Q&A: Slicing stories too small
- 51:31Q&A: Scaling Agile frameworks
- 54:19Q&A: Starting with testing
- 55:20Closing remarks
related talks
17mThe Way of The Software Craftsman
58mTechnical Practices that Take Time but Save Time
33mSoftware development practices for companies that want to make an impact
01h 04mBuilding on Success, Beyond the Obvious
34mBuilding a Culture For Developer Productivity
46mTowards Joyful Development
38mBuilding a high quality product
26mSoftware Delivery from First Principles
