This slide deck discusses options to reduce complexity in software development. It starts with a short rationale why complexity of IT systems has become a critical issue. It then discusses the difference between essential complexity (which we cannot reduce) and accidental complexity (which we should reduce) and states that the majority of IT system complexity is accidental complexity. Additionally, the slides briefly discuss how the ubiquitous fixation on efficiency reinforces the complexity problems.
The main part of the slide deck presents and discusses 10 basic ideas how to reduce complexity in software development – or to be more precise in the systems created during software development. The discussion of the 10 ideas does not provide fine-grained instructions as this would be way beyond the scope of this talk. Instead, it provides a different perspective on many widespread and "proven" practices that drive complexity and offers alternative approaches to address these topics.
As always, the voice track is missing. However, I still hope that these slides provide some food for thought and useful ideas.