web counter

Posts tagged as:

product managers

WTF Refactoring

by The Cranky Product Manager on November 5, 2008

in Development

Scene: War Room. 2 days until Code Freeze.

LEAD DEVELOPER:
So, unfortunately, we’re going to have to pull FavoriteFeature out of the release in order to meet the schedule.

THE CRANKY PRODUCT MANAGER:
Huh? That feature’s been in the product for 3 releases now. Customers love it. Why do we have to pull it?

LEAD DEVELOPER:
Well, we had to refactor the code, but unfortunately we just don’t have the time to write unit tests.

THE CRANKY PRODUCT MANAGER:
Why do you need new unit tests? Can’t you just use the old ones?

LEAD DEVELOPER:
We can’t. We don’t have them.

THE CRANKY PRODUCT MANAGER:
Why?

LEAD DEVELOPER:
Because they weren’t working with the new code.

THE CRANKY PRODUCT MANAGER:
(pause)
Refactoring means cleaning up the code while preserving existing functionality, right?

LEAD DEVELOPER:
Yes…

THE CRANKY PRODUCT MANAGER:
(pause)
So, if we’re preserving existing functionality, why did all the old unit tests fail?

LEAD DEVELOPER:
Well, I, uh…. Well, …while the guys were in there modifying, you know, the CODE, well, they, uh, figured they could, uh…, well…, add some stuff to create some WICKED cool Hologram broadcasting stuff. It affected the old tests.

THE CRANKY PRODUCT MANAGER:
(pause)
First, Hologram what? That’s not in the backlog!

LEAD DEVELOPER:
We thought it would be cool.

THE CRANKY PRODUCT MANAGER:
No one agreed to it or even discussed it! Seriously, dude, what the effing eff!?

LEAD DEVELOPER:
 (looks at his shoes)

THE CRANKY PRODUCT MANAGER:
Second, how can you look me in the eye and call this refactoring when you SO did NOT preserve existing functionality? The Cranky Product Manager calls BULLSHIT. You did a rewrite or rearchitecture or whatever, in a risky piece of code without telling anyone, and then you try to claim it’s a “refactor”. How the FRAK is the Cranky Product Manager ever to believe you again when you tell her you’re refactoring something for readability and ease of future maintenance?!? Do we need group reviews of your code on a daily basis to make sure you’re not slipping Warp Drive into the product?

LEAD DEVELOPER:
(looks at someone else’s feet)

THE CRANKY PRODUCT MANAGER:
Third, can you tell me what the POINT of even having unit tests IS, if all you do is DELETE them when they fail?

LEAD DEVELOPER:
(Looks at watch)

THE CRANKY PRODUCT MANAGER:
(Sweet smile)
And forgive me for pressing on this point, but you’ve said, and I quote, ‘John McCain will reform the way Wall Street does business….’  Can you give us any more examples of McCain’s leading the charge for more oversight? … Specific examples in his 26 years of pushing for more regulation?

LEAD DEVELOPER:
Well, I’ll try to find you some and I’ll bring them to ya!

CPM smiles genially, then slowly pulls every single last hair from her head.

{ Comments on this entry are closed }