$Software Complexity & Practice Evolution
This hub explores why software is fundamentally complex (not complicated), how this shapes effective practices, and why methodologies evolved the way they did.
Understanding Complexity
The nature of software work:
- Software development is complex, not complicated
- Software development is knowledge management
- The correct response to complexity is probe, sense, respond
- There are no best practices in complex systems
Why Modern Practices Work
Understanding the "why" behind agile, TDD, CI, and small batches:
- Agile practices only make sense when iteration is cheap
- Slow feedback loops and expensive computing forced optimization for machines over people
- The increase in uncertainty drove each era of software development practices
- Methods, methodologies and mindset
Working in Complex Domains
Practical implications:
Related
- [[ZETTELKASTEN/MAIN NOTES/HUB NOTES/
Evolution of roles in software engineering]] - How complexity understanding shaped roles - [[ZETTELKASTEN/MAIN NOTES/HUB NOTES/
Building software products with AI]] - Complexity response in AI-assisted development