Yo, yo, yo! Listen up, Enterprise Software Developers. Yeah, you!
The news: The Cranky Product Manager knows that there is a certain percentage of you that doesn’t really care for her or her PM brethren.
And why? Because the Cranky Product Manager is a pain in your ass. Because, YES, she totally cramps your style.
For one thing, the Cranky PM always prioritizes the boring projects higher than creating super-cool new products, or rewriting existing products from scratch. In other words, she wants you to FIX (not completely rewrite) Joe Idiot’s effed-up code so it can handle multiple users. Instead of doing that WICKED COOL feature — the one you pet-named “Extreme E” — that 64-bit, Web 2.0-ish, open source, DRM-defeating wet dream (based on an SOA architecture and Ruby on Rails, of course). You know, the idea that occurred to you in between that mega-bong hit at Softwarehaus’s annual Geekapalooza party and 4am, when you started drunk dialing all your ex-girlfriends.
The other thing the Cranky PM does that is TOTALLY annoying is always say things like “we’re not seeing market demand for Extreme E.” And whenever you try to shoot down her proposed projects as being stupid or irrelevant, she always starts reciting a list of customers who want it or need it, explains the new markets her beloved project would help DysfunctoSoft attack, and then she starts explaining use cases. Ugh. If that wasn’t bad enough, if you persist, she’ll bore you to death with a frakin’ slideshow containing revenue projections for her stupid, dumb-ass project.
Doesn’t she realize that her projects are frakin’ BORING? No technical challenge. And who wants to sully his hands fixing some other engineer’s code? Disgusting — like sharing his toothbrush. None for you, thank you. You need excitement in your life. You need to create something cool, something from scratch, something you can brag about or at least put on your resume. Her project does not qualify.
But the thing that REALLY pisses you off about the Cranky Product Manager is when you try to shoot down a project with the “it’s technically impossible” bullet. This jujitsu move is supposed to be a winner, that’s-it, end-of-discussion type of pronouncement. It works all the time, especially with the Marketing weenies. They all run and hide under their desks, shivering with fear.
But it doesn’t work with her. The Cranky Product Manager always says something like “Can you explain why not in more detail? Because I’m not sure I understand how <Competitor X>, <Competitor Y> and <Related Software Product Z> can do something that is VERY similar. How were THEY able to do it?” And then when you spew some crap about multi-threading, messaging protocol design patterns as a confuse-the-enemy tactic, she starts talking about possible approaches to prove you wrong.
Bitch. Doesn’t she understand that it is technically impossible because her project is so BORING it is not technically possible for you to stay awake to work on it?
If only you could get rid of product management, life would be so much easier. What do you need them for, anyway? You talk to 2 or 3 customers (out of 2500) a year, and you know at least two of them would totally LOVE Extreme E. And you pretty much know what the customers and market need, anyway, at least if they are SANE. Because it’s not that complicated. It’s OBVIOUS what the product needs to a SANE person. Fortunately, you are sane.
And THEN, you read about this thing called “Agile Product Development.” And you learn about Scrum and Extreme Programming, etc… And you think, “AHA! At last! This is the solution! Who needs the Cranky Product Manager and her ilk when I have this awesome methodology?!? Instead of having that old school, waterfall-worshiping PM prioritize me to death, I’m going to code blissfully for two weeks and then get feedback directly from the customers!”
Well, nice fantasy, Code Boy. But the Cranky Product Manager says, Not. So. Fast.
Realize why the purest form of Scrum and other agile methods do not provide for a Product Manager: because they were designed for CUSTOM SOFTWARE DEVELOPMENT. As in, there is just ONE customer. This is typical of IT projects in big companies, or even consulting engagements. And guess what, if there is, in fact, just ONE customer, then Hell Yeah, the Cranky Product Manager agrees with you. Product Management is not needed. Get a PROJECT manager (aka ScrumMaster) and a customer project owners (aka Product Owner) and go to town.
But what if you are at a commercial software vendor, where your software has to meet the needs of MANY customers, maybe thousands? And where your software has to not just meet the needs of those many CURRENT customers, but also attract new customers in the future? New customers whom you haven’t met yet. New customers in different industries who are solving problems you never even knew about.
Are you, Code Boy, going to show ALL the customers the result of your latest sprint cycle, every 2-4 weeks? And are you going to gather up a good representative panel of all future customers and get their direct feedback every 2 weeks as well?? And how are you going to decide which customer has the final word? Oh wait, that sounds like a lot of work, doesn’t it? Maybe it isn’t even “technically possible.” If you had to get the feedback from all those customers and prospective customers every 2 weeks, well you wouldn’t have any time to code. And neither would any of the other developers.
In fact, getting all this customer feedback sounds like a full-time job, as does identifying who the prospective customers are and what they are likely to require. And sifting through the contradictory wants and needs of such a wide customer population, well, it will be time consuming. You can’t do everything that every customer wants or thinks is vitally important. You need to prioritize. You need to come up with the feature set that would make the company the most money. But that kind of analysis needs extensive research and familiarity with the current (and future) customer base. It will take time. A lot of time. Time you don’t have.
Then a solution occurs to you. Maybe you should hire someone to be the “Voice of the Customer” for your Scrum team.
And when you do, the Cranky Product Manager or one of her colleagues would be glad to help you out. Call the role “Voice of the Customer”, “Product Manager,” “Product Owner”, “My Enemy” or whatever… Whatever title floats your boat. They all mean same thing.
And then, the Cranky Product Manager (or someone just like her) will be back to cramping your style once again.