The â€œagileâ€ model for software development and IT project management is more about principles and practice than policy and process. In contrast to more traditional approaches, agile is predicated on an iterative approach in which requirements and solutions emerge as stakeholders articulate need, often during the development process itself. In agile, solutions are continuously delivered, tested, and refined. Functionality is delivered in relatively short time frames, or iterations. The goal is to provide continuous improvement based on rapid feedback, rather than rigidly adhering to a predetermined plan. This model enables developers to adapt readily as new information is available or environmental changes warrant a shift in direction, making development fundamentally nimble, responsive, and fast. Moreover, the process helps clients better understand, refine, and communicate their own needs, resulting in faster access to solutions that more closely align with their needs.