I’ve got a question regarding putting together time estimates…
I’ve got a boss who is asking for time estimates for a project. She does want any technical specifications done because he’s in a hurry for the answer and she believes specs “take a lot of time”. Incidentally, she is not and has never been a software developer.
My problem is that I can’t put together an estimate on how much work it’s going to take before I have a clue about a design. Her advice on this topic, “Gimme a swag… what’s your gut say?”
Should I just throw together some bullshit to get her off my back?
Two things. First, given your manager has never ever been a developer, it’s fundamentally hard to communicate with her. I don’t mean she doesn’t speak English, she just has no context for much of what you do, right? She has no idea about the true value of a spec and while you can explain it to her until you are blue in the face, she’s not going to get it… because she hasn’t done it. Blah.
Second. There’s a basic disconnect between you and her about what she’s actually asking for… Yes, she’s saying “give me a work estimate” and you’re hearing those words, but what is actually going is this:
SHE IS SAYING: “Roughly tell me how long it’ll take to do this as quickly as possible.”
YOU ARE HEARING: “Commit to a schedule regarding implementing this specific feature.”
See the disconnect?
What I suggest is this. You want to be comfortable with your estimate because someone yells at you if you come in two months late. You also want to do what your boss says not because you like being told what to do, but she does effectively sign your checks. Also, you’re probably a team player otherwise you’d be asking about this in the first place. Go you.
There’s a huge amount of time difference between writing a full blown specification and just taking a few hours, hiding in a conference room, and whiteboarding your design. Even better, add another hour while you grab Frank the Brain and do a mini-design review looking for gaping holes in your thoughts.
These three hours of design time are 75% of the serious brain power you need to spend on the problem given you’re familiar with what the heck your doing. Yes, there will be some HUGE (read: expensive) flaws in your off-the-cuff design, so the more people you can review it the better.
I’ve found that if a bright person carves off a few hours to actually write something down, they end up with a solid gut feel about what they need to do. The gut feel, hopefully, gives you the ability to swag an estimate that you don’t believe to be complete bullshit. And, no, I’m not talking about the design an OS.. or a database… I’m talking about designing a feature in a product you know.