Clever Humans


Clever Humans do the darnedest things!


21 October 2007

Clever Humans Estimate Software and so do they!

by Patrick

You probably don’t estimate software projects very well. No, not you. I mean my other reader. You, of course do it fine. But the other person reading most likely doesn’t do it very well at all. Estimating software is a rather complex task, after all. You can’t be expected to get it right all the time.


Besides, isn’t it a truism that you can’t really know how long a thing is going to take until after you do it? How come management doesn’t understand that? Why can’t they just tell you what to build and then give you all the time you want to build it? Why do they keep changing their minds? How come they ask you to estimate fifty different things, but then only actually choose to do one of them?

They must be a very indecisive bunch indeed! No doubt you would be much better at their jobs than they are. After all, the last time they wrote software it was called COBOL and done on something called a minicomputer – which you looked up on Wikipedia once and, despite the name, was fucking huge!

Those dinosaurs in management, they’ve probably never even heard of the Wu Tang Clan. Yet they tell you to estimate these incredibly complicated web pages they want you to build and then have the gall to hold you to the estimate at the end of the project! Obviously they are completely clueless. What do they think programming is, a science?

Also, at the end of the last project, there were all these things that needed to get done and those idiots didn’t even know that they should have planned for them. I mean, how come it isn’t obvious to them that they should have added extra time to the project for creating an installer, and upgrading the existing database, and writing the release documentation, and testing the flash launcher for the autorun on the CD? And for that matter, when you told them that you had only planned for one hundred simultaneous users and they wanted to put ten thousand on it, why didn’t they automatically increase the time allotted?

It’s a good thing I created this toolto help them plan software projects. Couldn’t have come a moment too soon. Really, I’m just saving them from themselves, that’s all I’m doing.

Though, when you use it, make sure not to estimate anything too big. Don’t put a task on the list that is more than a couple days. I know, in your head, you’ve no doubt already thought through all the steps involved in the month long task and you should be able to put month long tasks on there if you want. And truly, I’m not going to stop you from measuring time in months if you like. Or years, even. Surely you are so brilliant you could just put down a single number for the entire project and be done with it.

But like that filthy calculus teacher you had in university who you are sure was bumping uglies with the blonde from the second and first row (parts of her extended into the seat in front of her, you see), the bastard managers want you to show your work. So show your work! After all you’ve already thought it through, may as well type it up. Put only day long tasks on the list. Couple days at most. Divide a day in quarters even. Really give them what for! Make them have to read. They’ll see how valuable you are then!

Clever Humans Estimate Software and so do they!

tags: programming - software estimation