I just realized that with everything going on I haven't updated the blog in a LONG time, so I'll just do a rapid-fire list of what's been happening the last month or so. Lots of various contract gigs coming in, I'm finishing up class #7 on my MSCIS degree at the University of Phoenix (this puts me officially one class past the half-way point!), and next week I'm at i2 Planet, i2's annual supply chain software conference. Specifically concerning my outside gigs I've been doing lately, in combination with my project management course I'm finishing up, I thought this made for a good opportunity to discuss bad project management.
On the programming side of my world, I've actually been finishing up some "Classic ASP" projects, which annoys me to no end. I don't mind the extra work, but I really, really, really despise Classic ASP for a host of reasons. There's still demand out there for it and since it's all I did for a couple of years, I still know my way around it fairly well. I hope to steer clear of it before long, particularly since Microsoft has more or less abandoned it at this point. If nothing else working with ASP again has made me appreciate ColdFusion all that much more.
The project I completed most recently (URL withheld to protect the innocent) was a complete nightmare from start to finish, and it was interesting that I was in a project management course during this project, because practically every one of the "classic mistakes" we discussed and read about in this course were part and parcel of this project. I also want to recommend a fantastic book I just finished that I think ALL project managers involved with IT projects should read: Steve McConnell's "Rapid Development". From the title it might sound like this is a book for developers, which it is although there isn't a single line of code in the book, but it's equally as valuable for IT PMs.
After thinking and reading about project management in great detail for 6 weeks now, I can honestly say that the vast majority of PMs I've worked with simply don't know what they're doing, so it's no real surprise so many projects are such a disaster. People should not just be thrown into the PM role. To do it well takes a host of seemingly disparate skills, not the least of which is a decent knowledge of how application development works, which is SERIOUSLY lacking in the case of many PMs I've worked with. I'm not saying PMs have to be expert programmers to be good PMs, but they darn well better know enough about development to know what goes on and MOST importantly to ask questions when they aren't sure about something. One too many times during the project I mentioned above promises were made to the client, budgets were set, and THEN the developers were told about all of this. Sorry, but when the PM doesn't know anything about development, they shouldn't be promising the client anything until they consult with the developers first.
Sorry if this sounds like a rant, but between that project and another one that has dragged on for OVER A YEAR (this is something that my original proposal slated to take 90 days), I just think there is so much wrong with IT projects that many of the people involved should be ashamed of themselves. This hits on another one of my pet peeves, namely people who don't care about their jobs enough to do them well. This may come off as sounding very arrogant, but I just have very little tolerance for people who are ostensibly professionals at what they do, but are extremely bad at it and do nothing whatsoever to improve their skills. To get back to the PM example, if someone gets thrown unexpectedly into the role of PM on an IT project, that may not be their fault, but if they don't have the skills to do the job well, then it's their responsibility to ramp up and learn as much as they can as quickly as possible. Otherwise the project *will* fail.
Maybe that's the programmer in me talking, but I honestly think the principles are the same regardless of what field you're in. If I get hit with a job that uses a technology I don't know, you can darn well bet I'll be feverishly learning everything I can about it so I can do the job at least competently. If people aren't willing to put in the extra time to ramp up on things, become moderately competent as quickly as possible, and commit to improving their skills continually, then they shouldn't accept the job. In the case of far too many PMs I've worked with they don't know how to manage an IT project and they refuse to learn. Sorry, but if that's your attitude find a different job, because all you're doing is making the lives of everyone on the project team miserable and dooming all your projects to certain failure.
End of rant.