AGILE AND ITS IMPORTANCE
The Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software’s. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.
There are many models in software development life cycle that are as following:-
1. Waterfall model
2. Iterative model
3. Spiral Model
5. Big Bang Model,
Agile software development is one of SDLC model, which describes a set of values and principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.
It is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas like −
Unit Testing and
The agile has manifesto principles which are as following: −
Individuals and interactions − In Agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.
Working software − Demo working software is considered the best means of communication with the customers to understand their requirements, instead of just depending on documentation.
Customer collaboration − As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements.
Responding to change − Agile Development is focused on quick responses to change and continuous development.
The importance of agile model:-
It saves a lot of time and money.
If any change request or new enhancements comes during the development phase, it can be implemented without considering the budget constraint.
We can determine the issues in advance as there is daily meetings and discussions and therefore able to work on it accordingly.
Quick development and testing helps to recognize the gaps existing in either requirements or technology used and can try to find the workaround.
Working software is delivered frequently (weeks rather than months).
Face-to-face conversation is the best form of communication.
Close, daily cooperation between business people and developers. Continuous attention to technical excellence and good design.
Regular adaptation to changing circumstances.
Even late changes in requirements are welcomed