Personally, I think the development model is a bit screwed up where I work. For each "part" I develop, there are 5 "phases": design spec, test plan, implementation design, coding, and test. The last four are fine, but the design spec is just wrong. The design spec is the definition of what we're making, but when the part is assigned to me I don't know what I'm making. Whoever created the design is the person who should be specifying the requirements of the design, not me. I tend to lose half a day each week because I have to re-do the design spec because the part I designed isn't the part they wanted designed. And since I after I finish the design spec I have to start working on the test plan et al, I tend to have to re-do parts of the test plan as well for the design spec changes.
That's what happened today. I lost a good half of the day to design spec "clarifications" and re-doing the test plan. Amazingly enough the implementation design, the goal for today, was still completed. Of course, that'll get review tomorrow and it might get changed a lot yet. Tomorrow I should just be coding everything. If it's over 1000 lines, it's acceptable for it to take more than a day. I think it's going to take more than 1000 lines. But we can't slip, and the 5-day estimate (that yields 1 day to code) can't really be changed. So what happens if it takes 2000 lines? Right now I'm really hoping that either (a) it takes less than 1000 lines or (b) I have a super-productive day tomorrow.
I really don't want this to be the first weekend where I have to work on Saturday. I would really like it if that day never comes... Gotta go Disneying tomorrow night or something to relax. ^_^