An agile software development team can add features in any order and can release a working version of the product at any iteration.

Adding Features in Any Order
In most software development teams, developers create and add features in the order that seems best to them. Unfortunately, this is almost never the order that makes sense to the business or your customers.

Since features always get thrown overboard at the end of a project, a team interested in building a killer application must build and fully incorporate the most important features first.An agile team understands the real business trade-offs that are being made as each new feature is added.

Releasing at Any Iteration
An agile team is capable of releasing the software to end users every 10 business days. Yes, we mean releasing. Wrap it up. Put a bow on it. Mail it off.

The ability to have new releases come out every two weeks have additional benefits to the business as well. If the business is in a year long product development cycle, the business now has clear choices to make every two weeks. Options include continuing to add more features on the current plan, prioritizing the features differently, or to stop adding features altogether.The business now can decide halfway through the year if all of the key features are present. They can stop development, ship the product, and save half of the development costs! Yes, this really does happen!

The ability to release a version of the product at each iteration also makes the developers far better software engineers. Issues such as integration and installation that previously were deferred to the end of a project must now be addressed consistently throughout the entire development life cycle. Software built in this manner is of consistently higher quality.