Agile in essence is an iterative, lightweight software design and development methodology. Now day’s software development is expanding. Software has merged into many fields, and is becoming more complex. Changing requirements from customers is making it even more difficult. Old software development approaches are not able to satisfy the new requirements of the market in the best way, anymore. As a result, new software development approaches are evolved, as agile methodologies, mainly to solve such problem. The new methodologies include modifications to software development processes, to make them more productive and flexible.
The process of development using SCRUM divides the project into phases. In each phase, one feature is fully developed, tested, and become ready to go to production. The team does not move to a new phase until the current phase is completed
This agile methodology improves software development in four ways. Firstly, high communications between the developers and their customers. Second, the simplicity of design. Third, the continuous modification according customer’s feedback, by delivering a large number of working software to the customer. Fourth, encouraging the customer and developers to get to the correct requirements by the develop-feedback cycle.
Agile methodologies are not suitable for green field engineering, and also not suitable for maintains. Agile methodology is heavily depend on the user involvement. That’s why the success of project is depend on cooperation and communication of the user. Miscommunication is one cause of the requirements, is the miscommunication between developers and customers. Agile methodology concentrate work quality on skill and behaviour of the developer.
Agile methodology is come into existence after a need of a light way to do software development, Agile methodology provide some practice and facilitate communication between the developer and customer. Agile methodologies include a set of software development approaches. They have some variations, but still they share the same basic concepts. Agile methodologies are not suited for all projects. When communication between the developer and the customer is difficult, then agile methodologies will not give the best results.