Scrum is one of several techniques for managing product development, under the broad category of Agile Software Development. Agile methodology is designed to support iterative and flexible methods for running a product.
Among the diverse agile methodology, Scrum is well defined for the types of organizations that develop products such as software, websites and Information Technology tools. Scrum encourages a team to work in a focused way for limited period of time on a definite amount of work. It also allows the team to build and improve ability to estimate how much effort it will take to develop a new feature and the lesson learnt are documented in a system.
At the time, the most suitable approach for software development was the Waterfall Model. Under the waterfall model, product development happens in stages- Design, Implementation, and Release.
In the late 1990s, the electronic media and the Internet emerged. To support these, software development organizations had to incorporate more flexibility to adapt to changing variety of platforms with different requirements. Soon after that, the development of large software applications that lived on desktop computers gave way to smaller, more flexible apps that were delivered through mobile devices. An identical approach was needed for developing these. Scrum came into picture to work together in a sustainable and productive way, instead of waiting until the entire cycle has completed.