During the iteration, we complete a unit of work that is deployable within a production environment.
This is what an iteration is made up of.
During this sit down, we come up with high level 'topics' in what we want to concentrate on during the iteration. We then develop user stories that support the high level topic. We won't discuss items that are out of scope.
These features are not simply text documents. They are executable code. They are not a collection of wasted Word documents but instead a starting point for top down development. In other words, they are useful for developers as well as customers.
Once these are developed, we pass them back to the stakeholders for review and get started with mocking up the features.
At this stage, we start to mock up the application. We may start with paper and pen to get an overall feel. Once we get an overall feel, we start to mock the application in HTML. We don't wire up the database nor the business logic. This step needs to be able to be thrown out if it doesn't work. It also needs to be used if we are on the right track. This is why we use HTML.
Once we have a good mockup, we take it back to the customer to get feedback. This is the most organized feedback of the iteration. We take the feedback and modify the features we created if necessary.
We break down the features into lower level tasks. We determine an estimate for each so we can get back to the customer on what we feel we can put into this iteration and what resources will be needed. We break out the work to individuals and we get started.
We are heads down during these few days but we do not have tunnel vision. We are still in constant communication with the customer.
Campfire ™ is the communication channel of choice. We throw questions, screenshots, and jokes into the room and our customers answer them at their leasure. They use it for questions to us. It's great and things are not lost in email chains.We love this step. Deploying great applications to happy customers is what we live for.
At the end of the show and tell, we determine priorities for the next iteration and repeat the process above.

Jamie runs Brilliant Fantastic and writes code every spare moment he has. He has over ten years of software development experience in Microsoft technologies and three years development experience in Ruby and Ruby on Rails.
He specializes in application architecture, design patterns, object-oriented design, and test driven development.
He lives in Toledo, OH with his wife, two children, and his dog who poops and pees everywhere but outside (The dog, not the children). He is currently seeking help for his gadget addiction.

Keith is a software fabricator extraordinaire for Brilliant Fantastic. He is very passionate about software and constantly seeking better ways to build and mold it.
He has a love for Python and other dynamic languages including Javascript and Ruby.
Keith is currently seeking a Computer Science degree from the University of Toledo but probably getting a better education building real world applications.