Monday, November 15, 2010

project management

I wanted to be a project manager. I'm the only real technical person on my team, comprised mostly of buyers and contract analysts, so when it came time for a raise, I had hit the ceiling of my job role - assigned as a "buyer", since my manager can't have other job roles assigned to him. To circumvent this bureaucratic idiocy, I was assigned a job role of "project manager", purely because the pay was better and that was the only other job role allowed. This meant that I know had to become a project manager, because you can apparently be assigned a job role if you actually qualify for it, or if you plan to qualify for it in the future. Yes, this is exactly like saying "I'm a certified astronaut because I'm applying for space camp."

I took the courses, and it seemed pretty neat at first. The whole idea of project management is that an hour of planning will save two in production. It's promoting efficiency and organization, two concepts high on my list. The courses went well, but one part of becoming a PM is that you have to be the manager on a project first (a little backwards as well, though not as much as the other example).

My team doesn't do projects, so I had absolutely no opportunity to be assigned to manage a project. Again, I'm not a PM so they won't assign me to a project, but since I'm labelled as a PM, I have to manage a project to be certified as a PM... yes, it is as stupid and circular as it sounds. But wait... there's more stupidity right around the corner...

I see an opportunity for a project, so I start to talk to some of my co-workers and manager to position myself as the PM. We go through a growth market supplier to develop a database and UI to store some of our supplier information. Development goes fairly well at first. It then becomes fairly obvious that the developers only have a loose grasp on the english language since once the bug reports start to come back it becomes impossible to communicate. Here is a (not really) made-up example:

Me: "So we're seeing an error on the second tab of the supplier input screen. Can this be fixed?"
Dev: "Mmmm.... yes?"
Me: "Is that a question? Can you fix it or not?"
Dev: "I think is possible."
Me: "Ok... so when do you think you can have it done by?"
Dev: "Is easy problem."
Me: "What does that mean? What about the existing records? Will they be fixed?"
Dev: "Mmm... may need agent. Maybe not so easy to fix."
Me: "So... do you have an estimate??"

This continues for 20-30 minutes, finally the dev tells me 2 days... in 2 days he sends a new version which doesn't fix anything at all. New errors pop up and my desk starts to make a sizable dent in my head. This whole process of bug reporting and semi-fixes continues for months until an executive takes interest in the project and it's decided that we should expand the application. Currently, it's a Lotus Notes database (yes, that just adds to the pain and misery of this whole saga), so we decide to make the data available to other apps by adding a DB2 backend.

Up until this point, this database was being served off of a workstation under someone's desk in Germany. Not exactly a standard practice for my company, but the whole dev process was contained within a group of 4-5 people so everything happened very quickly. Now that we needed the backend, we were required to serve this database off of a standard north american server. We also needed to connect to existing data warehouses and other such systems. This required an entirely new, officially sanctioned project. We were assigned a project manager (PM), a solutions project manager (SPM) a product delivery team leader (PDTL) and a few developers. We also are told that we'll be using the Agile project management method.

We have the first meeting and the PM describes Agile to us through a powerpoint lacking any type of detail whatsoever. It says Agile is a management method that is designed to work with a small team and produce results quickly. It uses sprints and planning poker and user stories and burndown charts. We'll be using some cool tools and everything should go smoothly the entire time. When I asked what planning poker was, what a burndown chart was and what a user story was... the PM said that he didn't really know and we'll be learning as we go along. I was new to this whole PM thing, especially in an official capacity, so I wasn't quite sure about how worried I should be. Is it really a big deal that the PM has never used the project management method before? Are we trying to drive a spaceship with someone who only has experience with gliders? Or is this trivial - like sending Bobby Flay into a indian curry throwdown... same cooking methods, different spices?

It's not trivial. We wasted 3 hours on the planning poker session our first meeting. The first part of an Agile project is to collect all of the user stories (fancy term for "requirements") and then have everyone estimate the difficulty of implementing each story. It's called planning poker because everyone has cards with numbers on them, the requirement pops up and everyone puts in the card that they think best represents the difficulty associated with the story. The first story was: "Develop an ETL between Notes and DB2". My cards are: 1, 5, 10, 20, 50, 100, Unknown. I ask, "What do these cards mean? Are these hours to complete? Days? Moon phases? How many trained monkeys with typewriters?" The response, "They're just subjective, enter in whichever one seems correct." I then ask, "So how the hell am I supposed to know how long an ETL takes to develop when I don't even know what ETL means?" The response, "Extract, transform, load. Just use your best guess." I click to submit the "Unknown" card. The others enter in anything from 1 to 100. No one has any fucking clue what is going on.

This continues for an hour or so as we move through the other user stories. For every story, there is really only one person who has any knowledge of the development time or effort, yet we are ALL responding. I express my discontent (which develops into blinding rage/frustration/hatred) with the process by replying "Unknown" to everything except the few items that I actually know. In summary, this entire process is a waste of time and it only takes the PM 3 hours to realize this and throw out all of the results. He then asks the relevant people to respond with their best estimates and we move forward. As far as the other parts of Agile are concerned... let's just say that they all make sense when you have someone competent explaining them to you. In the absence of someone educated in Agile the entire process becomes drenched in irony.

Next item on the list is to have the database moved to a standard server. I ask the PM what we should do here, he says he has no idea. Head meets desk. He tries a couple of contacts, they send him to various databases to fill in questionnaires. The first set of questions is to classify our project so that we know which database to go to to fill in the second list of questions. None of the questions make any sense to me so I make the mistake of asking the PM/SPM/PDTL. They all respond with "I have no idea". No one has ever done this before. About a week later, we finally scrape together enough information to complete the first list. We move to the second, which is a list that we need to fill out to apply for access to the third database. I think it's easier to pass new laws. In case you were wondering, the third database contains a completely separate set of questions which is then submitted to a review board. If they approve it, then they move us on to ANOTHER review board.

In case you're confused, here's the process:

Questionnaire 1: to determine next questionnaire ----> Questionnaire 2: to apply for next questionnaire ---> Questionnaire 3: review board 1's questions ---> Review Board 1 meeting ----> Questionnaire 4: review board 2's questions ---> Review Board 2 meeting.

This entire process takes 2 months. Once we're in the final review board meeting, someone gives us an estimate of the cost of deploying our database on the standard servers. Apparently it's 30,000 to deploy, then 900/month in maintenance. Mind you, our database is around 200mb and has 100 users. It is currently being served off of a cable-modem connected desktop in Germany that probably cost all of $500 IN TOTAL. Now they're telling us 30k. I'm worried and pissed off... then someone asks, "Wait a second, why are you applying for enterprise application support?" I ask the PM, "Yes, explain to us why we need this enterprise support, only applicable to applications with more than 10,000 users?" He says, "Oops, I didn't know." The review board says, "If you don't need enterprise support, then you can just submit a request here, no review necessary, and it costs $5/month to deploy." I wish I was sitting across from the PM and his family so I could murder his entire family and stab him to death with the sharpened bones of his children... but that would probably lead to lengthy legal battle... so since this is just a conference call I beat the shit out of my wall.

I really wish that this project improved in some way, but it didn't. At all. Ever. Instead of continuing to explain everything in minute detail, let's just touch on some of the more interesting (read: idiotic and retarded) occurrences. All of our information is stored on DB2 server A, so the obviously the DBA decides to put the DB2 backend on DB2 server B, which cannot talk to or connect in any way to server A. Every time something goes wrong with a sprint (2 weeks used to complete one set of items), the extra work is moved to the next sprint... and if the last sprint before deployment is fucked, then the extra work just isn't done. If it comes time for deployment and there are any leftover bugs, then deployment has to stop immediately and you have to apply for an ENTIRELY NEW PROJECT BUDGET TO FIX IT ALL. If you have leftover development budget at the end (which should have been used to fix the bugs, but we couldn't fix the bugs because the project ended) you CANNOT use it to fix anything left over, because now that it's deployed you need a MAINTENANCE budget and team to fix the problems.

Now that we're in maintenance mode, we were assigned a completely new set of PMs, SPMs, AOs, PDTLs, FPOCs and WTFLOLBBQs. Guess what? None of them know what the fuck they're doing either. The development team has left the project without transferring any knowledge at all and we have an entirely new tool to submit CRs which no one knows how to use. Our application works... but the DB2 backend is completely useless because we have no way to join it to our other information. The leftover CRs will never be fixed because no one knows how to enter them into the tool and even if we do manage to figure it out, no one knows how the backend works to actually fix anything at all.

Summary: I do NOT want to be a project manager anymore. I would rather ram my head into my desk until it disintegrates into a pile of brain, bone and blood than spend another minute trying to sift through the massive shitpile of bureaucracy that is project management at my company. You could replace every single word that I've written here with HATE, written over and over, and it wouldn't even come close to adequately describing my feelings toward this demonic cesspit of flesh-dissolving acid and soul-devouring despair. I've just been informed that I'll be helping out on a new project in 2011. I want a shotgun to the face for christmas.

Tuesday, November 9, 2010

continued random

i want george lopez to go away forever. i don't want him dead, i just never want to see him or hear about him ever again. if he died - since he's a celebrity and whenever someone even mildly important dies there's all sorts of hoopla about it - then i'd still have to see him all over the place and hear "oh man, i can't believe he's dead". I don't want that, i just want him gone. *poof* "Wow, the world just feels, better somehow, but I just can't think of why. I'm just happy."

random

tom hanks is on conan and he's not all that funny. he's acting the same way that he always has... but he's just not as funny as he used to be. it seems old and dated. or maybe i just don't think tom hanks is funny. conan is, though... so i'm entertained.

Tuesday, January 26, 2010

control freak

I played Mass Effect 2 through already and it's a great game. I wanted to play it through again, since there are several different choices you can make during the game that will affect various outcomes. There are also choices you can make BEFORE you start the game, via Mass Effect 1. There's an option to import your old character, but unfortunately I don't have that save game anymore, so tough luck for me.

When you start up ME2 without importing, the game uses a predetermined set of results from the first game. These are static, not randomly generated. So the ONLY way that you can find out what happens if, for example, you chose to save the council in the first game and not let them die (as is assumed by ME2), you have to play through the ENTIRE ME1 game again, and save the council, and then import that character. Seriously, why??

Why don't you let me play the game as I want? It is MY game, right? I buy a copy of a game, and the only way I can play portions of it is to buy ANOTHER game, spend 20-30 hours on it and THEN I can actually play all of my game. Oh wait... there are multiple choices in some parts, so it looks like I'll have to play through ME1 more than once, then import all of those characters into ME2. Why not just let us pick what happened in the previous game? What harm does that do? One of the developers even made a mistake when talking to Penny Arcade, saying you could go through a list and pick various options when creating a new character. He didn't realize that this option didn't make it into the final game, and it was only the pre-release version that he was talking about.

I'm bored as shit lately, and I really would love the opportunity to play through ME2 again, but this time with different starting conditions. Why not let me? Great game, Bioware, but come on... the whole idea of a sandbox type game is that you can replay it over and over, making different choices every time, increasing replay value. Why block out this pregame setup, specifically limiting the way I"ll be able to play? Fuckers.

Monday, January 11, 2010

diversity

I've seen multiculturalism and diversity discussed in two different ways. Intelligent, objective-minded people are aware of various cultural idiosyncrasies and behaviors and use them to their advantage. For example, the Japanese put a very high weight on respect for seniors and traditionally avoid direct confrontation. The French, on the other hand, tend to love intelligent, witty debates. These observations aren't racially motivated, they're based on the climate where a "French" person was raised and taught how to act. You may draw the same conclusions about someone born and raised on a mid-west farm as opposed to someone who grew up in Beverly Hills... their world views will most likely be very different. The only time this pushes over into the realm of "racism" is when you start making accusations like "You're from a farm? You must be stupid and not know what a cell phone is!" or "Oh, he's Japanese, he'll do whatever someone older tells him to do." I've taken project management classes where we were given country based generalizations of populations in order to better manage multi-cultural groups. This wasn't to make us into racist PMs, saying the Indians couldn't be trusted because they'll agree to anything a superior says... it was to make us understand that it goes against Indian culture to disagree with a superior... so if you have someone on your team, constantly agreeing with you, you may want to step back for a minute. Does he really agree with me, or does he just not want to disagree?

The other type of discussion says that everyone is a racist. EVERYONE. We need to promote diversity because when people are given the chance, they WILL be racist and do everything they can to cater to a certain skin color/religion/background/foot size (or something else just as ridiculous). So obviously we need to make sure everyone falls over backwards in order to accommodate anyone who is currently considered a minority. Actually... let's be more specific. I believe the current politically correct term is "marginalized"... since most "minorities" aren't the minority anymore. Anyone falling into this school of thought is too busy running around calling everyone racist and making sure every group of people out there has every marginalized population accounted for (and not caring if there aren't any non-marginalized populations included) to even begin to think of what they can do to actually STOP racism.

If you think about it... what is currently perpetuating racism? Obviously there is a correlation between the intensity of major incidents and the knee-jerk racism against the perpetrators of said incident (terrorist attacks = I hate Muslims, France doesn't like our war = I hate the French) that will always exist, but what else is currently going on that labels people based on their skin color or backgrounds? Cultural awareness. How exactly are we supposed to move beyond race, when a bunch of insane crusaders are making absolutely-fucking-sure that we make sure we notice skin color FIRST, and the actual person second. Take my company, for example. We have mandates for our diversity spending. We have to make sure that of every company we contract out to, at least 30-40% of them are either minority owned (obviously this directive is outdated... they use "minority" instead of "marginalized"), women owned or owned by a female minority (which, unfortunately, does not count twice). Right from the start of an engagement, we have to split up each subcontracting company into groups based on their sex and color of their skin. How is that not racist?

Oh, you think that is completely fair? That we need to give those marginalized populations a shot at business they otherwise wouldn't get? Won't giving business to a MWB (minority or women owned business) that doesn't deserve it based on merit just marginalize that population even more? What about the white owned company (since what else is really non-marginalized at this point) who scored better than the MWB, but doesn't receive the business award because (and only because) it's owned by a white male?

Let's go into a little example. An African-American child grows up in a poor household and goes to a really shitty school. She doesn't have textbooks, doesn't have good teachers and can't really learn in such an environment. She studies hard, does comparably well in said school, and then fares decently well on whatever college entrance exam she decides to take. She then applies to colleges. They look at the sheet, see the "minority female" boxes are checked, and she goes into a smaller pile, where they will take into account the fact that she had a substandard education and deserves a shot against the other children who had every opportunity in the world. That seems fair, right? Now let's say her next door neighbor does the exact same thing. He goes to the shitty school, shares textbooks, etc etc and does just as well (but not that great) on his exams. He applies to the same schools, but... Oh look! The "Caucasian male" boxes are checked! He goes in the main pile and obviously will NOT be getting any special treatment since he's white, and he therefore must have had racial advantages that all those children in the small list did not. Fuck. That. Shit.

If you really want to put some affirmative action bullshit in place, base it on socio-economic background... base it on the level of education the person received... base it on something that ACTUALLY MATTERS. Don't base it on skin color - that makes you racist, you hypocritical fuckhead. If anyone was actually reading this, they are probably thinking "OH SHIT... WHAT A RACIST!!!" What if I told you I was a black female? Or a Muslim paraplegic? Or an Argentinian mongoose? Would that matter to you? Would my skin color change your stupid opinion, you fucking racist???

Friday, January 8, 2010

exercise

I want to be in great shape... I want to put on about 20 more pounds of muscle and get rid of 5-10 pounds of fat. I'm not in bad shape now... I'm 6'4", so it takes a massive amount of eating to put on weight... either fat or muscle. If I really wanted to put on 20 lbs of muscle, I'd have to eat 3-4000 calories a day. That may not seem like alot, considering most fast food combos are 1000-1200 calories themselves, but it would have to be 3-4k of good, vitamin/protein rich calories. Oh, and did I mention I'd need around 200+ grams of protein a day? Even with 2 protein shakes a day, that still leaves 100+ grams. The pure cost of all this food is enough to make me want to quit even before I start.

Then there's the highly annoying body chemistry flaw that I seem to have. It's a well-known fact that exercise releases endorphins, and endorphins make you feel good. Simple. Yes, the workout is painful, but you have a steady stream of endorphins pumping through your veins and once that workout is over... you feel exhausted and completely satisfied. When I say "you", I mean everyone else but me. And a very minor percentage of others out there. Exercising feels good for me, but only in the sense that I know I'm improving myself, and that's a good thing. Otherwise, I don't receive any sort of "high" at all. I ran cross-country for 6 years in school and hit the "runner's high" twice. Twice... in six years. I have finished exercise routines feeling angry, irritable, miserable and ready to destroy everything in sight.

I boxed for a little over a year to the point where I could have been in actual amateur competitions, but it never made me feel all that great. I liked knowing that I was becoming stronger and more able-bodied (I've never thrown a punch in a fight, but know that I could seriously damage someone if it came down to it), but I never felt the "Wow... that boxing class ruled!! I love training!!! All my stress and anxiety are gone!!!" I only felt tired and beat up. I think the only reason that I kept going almost every day was because the class was offered every day, and I just felt like I shouldn't miss a class. Eventually I got to the point where I stopped seeing improvements in my skills, lost interest and never went back.

I have a home gym now that I try to use regularly and try to do some yoga to improve flexibility... but there have been times where I've been 5-10 minutes into a workout and have to stop, not because I'm in pain or can't make it through, but because of a slow swelling sense of anger and hate starts to build up inside me. It's not so simple as "Man, I hate this instructor, they make it look so easy" or "I hate this pain in my arms/legs/body"... it's "I fucking hate EVERYTHING and want to watch it all crash and burn in a maelstrom of pain and anguish." Clearly I have rage issues.

I also have depression issues, to which everyone has told me "Start exercising!!! It's the best way to help fight those depressive feelings!!" Unfortunately I've gone into a workout feeling great, and left it feeling like the world sucks and there's no point in continuing. Maybe it's blood sugar, maybe it's brain chemistry... if there's an easy fix out there, I'd love to know what it is. I seriously think that if I was one-on-one with one of those "in your face" trainers, yelling at me to push through the pain... I'd punch the shit out of them. I'm not 500lbs, I have no problem running a mile or two and I don't have any health problems whatsoever. I would like a better physique, more stamina and greater flexibility, but at this point in my life, it's just not fucking worth the aggravation.