My definition of small is between half a day and a week's worth of work. Anything longer than a week probably has a surprise or two hiding in it. You haven't decomposed that feature down far enough and when you encounter this hidden surprise it might blow up in your face. Anything shorter than half a day is too small. And you can't do anything in half a day anyway... try it sometime and see the interruptions appear from out of thin air.
It's simply easier to estimate smaller chunks of work. It also minimizes the code collisions between you and other developers. It makes your integration tests more effective as well. If your integration test covers 150 classes, you need to use small code commits and continuous integration to isolate what code was broken.
So where are you? Still working on figuring out how to estimate? Start with small units of work and be sure to look back and see how you're performing over time. Fast feedback leads to fast fixes. Be sure to work in smaller amounts of work, commit often, and look back over what you've done as often as possible, whether it's your continuous integration system providing the feedback or the estimate errors.
But remember....
Smaller estimates lead to smaller code changes.
Category: Agile
(Apr 21)
Jeff Brown is a great speaker and we're lucky to have him coming in locally. If you're tinkering with Groovy or Grails, or thinking about it, I strongly encourage you to come out tonight and pick Jeff's brain.
In addition, since this is a NFJS sponsored trip, a free pass to the Research Triangle Software Symposium will be raffled off.
You'll find more info about the meeting and directions at The Triangle Java User's Group web site.
Category: Java
(Apr 17)
Several of my fellow NFJS speakers started a blog months ago with OS X tips and tricks, mainly with a developer and power user focus. I've been meaning to post the URL for a while. Here it is.
PragMactic OS-Xer
Enjoy!
Category: Misc
(Apr 17)
Agile ITX will be in DC this June.
I was fortunate enough to be involved with the organization of this conference and I think it'll be a great one. The speaker list is out of this world.
The topics were selected to help both the developer and their managers. I'm constantly hearing from managers who just don't know how to manage or introduce Agile practices. In addition, we selected topics that hit the entire software development life cycle, not just the execution phase.
We're featuring three awesome books as a part of the conference. One of my favorites, Ship It! as well as Release It! and Manage It! Every attendee will get a copy of all three books.