Tuesday, June 17, 2008

Project Speed - Rule of Thumb



I'm on a project right now where I have a lead dev who's very picky with his own style on how things should be done. I don't fault him at all -- I'm picky too and understand the importance of being picky. He and I report to a project manager who pretty much is hands off and just keeps tabs on us in a casual, jovial way. He doesn't understand the technical detail of the work we do. Now, the PM has a boss who writes the checks, and he's very picky, very formal, not jovial, and he's all about results.

Now, going into this project, they knew I didn't know Zend Framework and were still willing to work with me in learning it as I go. I've made great strides in learning it, and I have to give myself a pat on the back for that because I dislike it's awkward nature.

However, the guy writing the checks is now seeming a bit taken aback by my first invoice when he sees I only completed a login form, a registration form, and a password retrieval form in the span of two weeks. He's wondering where all the time was spent.

I hate when that happens. This doesn't sound like this contract is going to go well. The guy has like no clue what one has to go through when starting a project fresh, or when the team lead is unavailable to respond except once a day, or when you have to completely learn a new framework super fast. Plus, when you start new projects that are very strict in their design, a lot of discussion needs to take place to iron out things that will impact the rest of the application. So heck yeah, it may take 2 weeks to knock out a login form, a registration form, and a password retrieval form. But there's much more going on than that. We're learning how to do things the ZF way, making decisions on how the project will proceed going forward, trying proofs of concepts, failing, and rewriting code, and understanding policies on how work is to be performed and problems are to be solved.

But bosses in these sorts of companies just don't understand and have to get tough with you, even if you're only billing out for peanuts.

So, as a general rule of thumb for you when you pick up a picky project, please remember that they don't care how much trouble you're having learning something, or getting answers from the team lead, or how half-assed something is. All they want are results super fast. They want to see like 2 forms created a day, not a week. They want to see you complete two major tasks a week, if not more.

Therefore, my recommendation is to get as many questions answered as soon as possible, starting out, and ask several questions a week, but then slap the code together just as fast and as logical as you think you can get it out, sticking to a goal of:
  • minimum, 2 forms a day, not a week
  • minimum, 2 major tasks a week, not every two or three weeks
  • Knock out a bunch of work super fast, then take your breaks, but report this work slowly such that it looks like you only did 2 forms a day, or two major tasks a week
Let's pray that I did a good job of convincing the big boss to keep me and not cut me. I'm nervous about that right now. And let's hope that I can deliver faster results.

UPDATE (June 17): Got good news today. My client thinks ZF is the problem, not me. We're going to ditch ZF and start a rewrite again. Yay! I'm glad I learned ZF, but I'm going to decline every one of these projects in the future. ZF sux!!!

No comments:

Post a Comment