Most agile development methods break product development work into small increments that minimize the amount of up-front planning and design. Iterations, or sprints, are short time frames (timeboxes) that typically last from one to four weeks. Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is demonstrated to stakeholders. This minimizes overall risk and allows the product to adapt to changes quickly.[24] An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration.[25] Through incremental development products have room to "fail often and early" throughout each iterative phase instead of drastically on a final release date.[26] Multiple iterations might be required to release a product or new features. Working software is the primary measure of progress.[23]
Sprint
Story
Sub-tasks