We heard about a lot of software life cycles such as water fall model, spiral model etc. These all are for simplifying the steps in a software development process going through , requirement analysic, design, coding , testing, delivary , maintance etc. But the thing is different in the case of fast and repid application development.
When the requirement of client changes week by week or day by day, The development by taking all the requirement (fixing) is not that much simple. In that case another model of development process is needed . Agile software Development sometimes do this.
Agile software development is agile in two main ways: the infrastructure for software development is agile (the poeple, processes and technologies); and the software itself is agile, enabling the accommodaton of changing client requirements till the very end.
Development of software happens in small chunks- one or a few functioanlities at a time. Ecah of these chunks is a project in itself, and goes through all stages lime design, development, testing, etc. This chunk can even be delivered completely to client, so the client is also happy !
Once a chunk is over, then work on another chunk begins- and its like starting on a clean slate; work is not affected if requirements or even the process itself changes in the meanwhile ! So, its completely ‘agile’. An important aspect of agile development is the feedback.
ThoughWorks Studios has developed Mingle- a software project management platform that supports agile software development.