There are a number of models that can be applied to software development project management and each has its own advantages and disadvantages. In recent years, agile software development has emerged as one of the most popular methodologies used in software projects.
Technically, "agile" refers to a number of development methodologies, but there are certain features and principles that define the model. Basically, agile methods focus on developing software in short amounts of time, anywhere between one and four weeks. These are known as iterations with a full project consisting of several hundred iterations. However, the chief aim is that each iteration produces a functional, usable piece of software.
