A sprint is a set period of time during which specific work has to be completed and made ready for review. The duration of the sprint is decided by the scrum team and is fixed. The delivery of the sprint is a deployable product. **Important note:** This tag is ONLY for questions about code; questions on methodology or project management should be directed to Software Engineering SE or Project Management SE.
A sprint (or iteration) is the basic unit of development in Scrum. The sprint is a "timeboxed" effort; that is, it is restricted to a specific duration. The duration is fixed in advance for each sprint and is normally between one week and one month, although two weeks is typical.
Each sprint is started by a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made, and ended by a sprint review-and-retrospective meeting, where the progress is reviewed and lessons for the next sprint are identified.
Scrum emphasizes working product at the end of the Sprint that is really "done"; in the case of software, this means a system that is integrated, fully tested, end-user documented, and potentially shippable.