Reading through wikipedia I came across the concept of Sprints in Agile development. From my understanding a Sprint is when a group of developers code a certain amount of features and once these features are programmed they are packaged and shipped of to the client, then the next sprint starts and another set of features are coded and shipped off and so on...
I would like to know how the client installs these features so that they become part of the software that contains previous features, does the compiled code get shipped in the form of a patch that the client installs? Does the entire application get recompiled and the client reinstall the application with the updated features? Is the application designed using some sort of framework were the new features can simply be plugged into the currently installed application? How does it all work?