Three Universal methods of reducing complexity

Reagarding software programming, it boils down to: Partitioning, Hierarchy and Independence.