We have real users actually using our site now, so what's live on beta must always be awesome.
At the beginning of a typical day, a developer will pick an unstarted story in the current iteration and click its start button (thereby becoming its owner unless it already has one).
When work on the story is complete, the developer will click the finish button. The "deliver" button will appear; when the product is ready for acceptance testing/evaluation, a team member will click the "deliver" button. This will indicate to the story requester (visually in Tracker and via email) that they can now provide feedback on the story by accepting or rejecting it.
If the story requester (or someone else representing the customer) accepts the story, the story will turn green and move to the top of the current iteration. At the end of the iteration, accepted stories move to the done panel.
If the story is rejected, it will move to the end of the list of stories that are currently in progress. It's state will be set to "rejected", and a "restart" button will appear. This indicates to the owner of the story that more work is needed. When a story is rejected, Tracker prompts the rejector for a reason, which subsequently appears as a comment in the story. The owner of the story is notified by email.
--