Agile Development
Agile Development is a software development model that includes a variety of development methodologies that can be followed to create adaptable software i.e. software that can easily meet changing customer requirements.
In agile development the entire project is broken down into a number of iterations. For each iteration, that typically lasts for not more than three weeks, the complete development process (i.e. planning, designing, coding and testing) is followed thereby minimizing the risk. On completion of each iteration, the software is released to the customer. The feedback received from the customer is then incorporated in the software.
Agile software development and PHP application development methods are ideally suited in cases where the requirements are constantly changing and where the project size is not large. Agile methods are best suited for projects that have small teams.
Principles
The principles of Agile Development as per the Agile Manifesto are as follows:
- Customer satisfaction through continuous delivery of valuable software
- Delivery of software in short iterations ranging upto six weeks
- Daily communication and collaboration between all concerned project members
- Providing for continuous changes in requirements
- Creation of a proper work environment and delegating work to specific project members
- Face to face communication is preferred over documentation
- A good design and attention to detail ensures the creation of adaptable or agile software
- Simplicity in design and coding should be maintained
- Self-organizing project teams work best
- Regular meetings to identify means to improve productivity
Agile Methods
A wide variety of agile software development methods are followed. Some of them are as follows:
- Extreme Programming
- Agile Modeling
- Scrum
- Adaptive Software Development
- Crystal Clear
- Agile Unified Process


