In order to succeed in an uncertain and turbulent environment Agile provides an ability to create and respond to change.
It refers to a set of practices and methods based on values and principles, including things like self-organization, collaboration and cross functionality of teams.
A Scrum is framework that handle simple, complex and complicated software development which are based on Agile Principles. It works very well for a complex project, though it was originally formalized to work on software projects.
Scrum ensures that there is continuous improvement in product and process. It helps to showcase the hidden problems in the system development and deliver software frequently (Value).