This paper shall discuss the basic process of requirements engineering, a sub field of software engineering. Requirements engineering holistically analyzes and manages the various elements of a system and assesses system requirements to prevent system failure. This paper pays close attention to systems failures and presents several high-profile incidents that could have been averted by applying the precepts of requirements engineering.