We are still fairly new to Agile/Scrum development and trying to work out better processes while still being unobtrusive. One of the key concepts of Agile development which we really don't do well yet is timeboxing. This can refer to meetings but in this context I'm referring more to timeboxing the sprint itself. At our company, we run two week sprints. In the past, we have been letting sprints run until everything is done, which totally ruins our velocity reports.
We'd like to start timeboxing sprints but I was wondering how other teams address the problem of partially completed stories. I'm thinking of creating a new story in the new sprint and moving over incomplete sub-tasks, but if we then mark the original story as complete, the velocity report will inaccurately show that we completed more points than we did. Do people update the original story's story point estimate to reflect how much of it was completed?
Another approach would be to say that you should never split up a story into two sprints, since a story should always result in working, shippable code. In that scenario, we would move the entire story into the next sprint and not consider it done until it was completely finished. However, this also misrepresents the velocity report since some of the stories in the new sprint have a "headstart" from the previous sprint.