Scrum is an Agile Software Development Process.
Scrum was specifically designed to deal with:
Ziv's law - specifications will never be fully understood.
Humphrey's law - the user will never know what they want until after the system is in production (maybe not even then)
Wegner's lemma - an interactive system can never be fully specified nor can it ever be fully tested. This is the software analogy to Godel's theorem.
Langdon's lemma - software evolves more rapidly as it approaches chaotic regions (taking care not to spill over into chaos)
Read more about the origins at Jeff Sutherland's Scrum Log