기술시스템의 복잡성은 기술실패에 주요한 원인의 하나로 인식되기 시작하였다. 복잡성은 시스템의 설계 및 운영을 더욱 어렵게 만드는 제약요소로 작용하는데, 과 학기술이 발전되고 이에 시스템의 복잡성이 증가한 이후 기술실패는 일상적인 현상 이 되었다. 증가되는 실패비용으로 인해 시스템에 대한 통제를 더욱 요구하게 되는 데, 아이러니하게도 이러한 시스템 통제의 증가는 시스템 복잡성을 더욱 증가시키 는 요인으로 작용하게 된다. 안전예방은 어떤 행위의 결과에 대한 예측을 기반으로 확보될 수 있는데, 복잡성의 증가는 그러한 예측을 더욱 불확실하고, 어렵게 만드는 제한요소로 기능한다 (Wahlström, 1992).
기술시스템이 복잡해지면 기술실패를 야기한다. 과학이 발전하면서 복잡성은 더 요구되고 실패도 늘어난다. 결과 예측으로 안전예방을 확보하려할 때 증가한 복잡성이 제한요소가 되고 있다.