Thursday, October 14, 2010 9:18 AM
So you may have noticed that my site template got cleaned up a bit. What can I say... being a software guy is sort of like being a cobler. Your children are often barefoot.
You may have also noticed this advertisement on the right side which I put up more than a week ago:
If you're interested in developing for Windows Phone 7, as I am, then you might want to think about attending one of these Developer Launch events. And as it turns out, putting that advertisment up will also give me a shot at winning a free Windows Phone 7. The odds are slim, but if you don't play, you can't win!
I've also added a link to my INETA Regional Speaker profile. As you've probably noticed, this year I've decided to venture into the realm of User Group speaking engagements. I've already done three this year, that have been fairly well received, and I'm hoping to expand on that. My first presentations were on "Application Instrumentation with WMI", but I have other presentations I'm interested in doing as well. I am currently developing presentations on "An Introduction to Umbraco" (a fairly well done open source .NET CMS package) and also another presentation on Software Estimation (no working title yet). If you are interested in having me come to speak on any of these topics, please feel free to contact me, or check out my INETA profile.
Friday, October 08, 2010 3:42 PM
Lately I've been doing a lot more project estimation, and scoping activities than I have in the past. Internally, we use a spreadsheet based off of Steve McConnell's great book, Software Estimation - Demystifying the Black Art. (You can read my review of it here.) For this last project, three of us performed the estimation separately, and then we compared our numbers after we were done. Two of the numbers matched reasonably close (for a high level estimate), and mine was significantly higher. As it turns out, I was simply more pessimistic in all my numbers because of the uncertainty in the project definition. There really weren't any requirements. We were simply being asked for a "gut feel" estimate for doing a project that did x, y and z. The other two members of the team were optimistic that the system wouldn't be more complicated once we knew more. I assumed otherwise, and it made all the difference in how we thought. Because really... how often does it ever turn out to be just that easy?
McConnell talks about the need for developers to resist the urge to "estimate in the hallway". We've all experienced this. A project manager grabs you in the hall and asks you how long it will take to do some vague task. Instead of telling him, "I don't know, but will get back to you in an hour after I researched it." most programmers will give a gut estimate. Of course, after you do research it further, you find out you were way off, and when you tell your manager, you're stuck. He's already committed to your original number.
One of the conversations that took place when my group was reviewing this particular estimate, centered on how one particular manager "always doubles my estimates anyway, he's been doing it for years". So does that cause you to be more optimistic than normal, since you know a safety factor will always be built in? Interestingly enough, later on we were talking about how the sales manager is going to cut those numbers in half to make the sale. And there's the rub.
The project manager doubles the developer's estimate and gives it to the sales manager, who proceeds to cut it in half before talking to the client. And so guess what number is left... your original estimate. So be happy with it, because it's the one you're going to be stuck with.