Those who are involved in software development projects, either are working or have heard of Agile/Scrum methodology. Traditionally software development was done through waterfall method. Waterfall method demands a detail definition of requirements. In majority of cases the details and obstacles of developing a software are not known in advance.
The agile method takes the uncertainty principle into consideration. It recognizes the uncertainty in the requirements/obstacles/insights which are not thoroughly thought through. With this agile thinking a new method (Scrum) was developed by Ken Schawber. Scrum divides the team in three roles, the product owner who wants something, the development team which creates that something and the scrum master, who make sure that everything goes well in the process of wanting and creating of that something.
In Scrum short sprint of 30 days are defined, in which certain work according to the priority of the product owner must be realized. After each sprint demonstration of the developed work has to be given to the product owner.
Advantage of Scrum are short lines between the product owner and development team. New functionalities are delivered in every sprint, after each sprint new decisions can be made according to the result, need and the situation at that moment.