One of the things I never fully understood until my first week at Arcurve is how the agile software development lifecycle model works. With a traditional waterfall model, each phase of the development cycle including user story collection, coding, quality assurance, and user acceptance testing is done in sequence until the project is complete. Using an agile method, this entire waterfall process is compressed into many 1–2-week timeframes called sprints.