Skip to main content

Bad Project Management

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.

Comments

Smith Jojo said…
Thanks for sharing such a nice information ..i really like your website.its really impressive...!!!Bimatoprost

Popular posts from this blog

Installing and Configuring NextPVR as a Replacement for Windows Media Center

If you follow me on Google+ you'll know I had a recent rant about Windows Media Center, which after running fine for about a year suddenly decided as of January 29 it was done downloading the program guide and by extension was therefore done recording any TV shows.

I'll spare you more ranting and simply say that none of the suggestions I got (which I appreciate!) worked, and rather than spending more time figuring out why, I decided to try something different.

NextPVR is an awesome free (as in beer, not as in freedom unfortunately ...) PVR application for Windows that with a little bit of tweaking handily replaced Windows Media Center. It can even download guide data, which is apparently something WMC no longer feels like doing.

Background I wound up going down this road in a rather circuitous way. My initial goal for the weekend project was to get Raspbmc running on one of my Raspberry Pis. The latest version of XBMC has PVR functionality so I was anxious to try that out as a …

Setting Up Django On a Raspberry Pi

This past weekend I finally got a chance to set up one of my two Raspberry Pis to use as a Django server so I thought I'd share the steps I went through both to save someone else attempting to do this some time as well as get any feedback in case there are different/better ways to do any of this.

I'm running this from my house (URL forthcoming once I get the real Django app finalized and put on the Raspberry Pi) using dyndns.org. I don't cover that aspect of things in this post but I'm happy to write that up as well if people are interested.

General Comments and Assumptions

Using latest Raspbian “wheezy” distro as of 1/19/2013 (http://www.raspberrypi.org/downloads)We’lll be using Nginx (http://nginx.org) as the web server/proxy and Gunicorn (http://gunicorn.org) as the WSGI serverI used http://www.apreche.net/complete-single-server-django-stack-tutorial/ heavily as I was creating this, so many thanks to the author of that tutorial. If you’re looking for more details on …

The Definitive Guide to CouchDB Authentication and Security

With a bold title like that I suppose I should clarify a bit. I finally got frustrated enough with all the disparate and seemingly incomplete information on this topic to want to gather everything I know about this topic into a single place, both so I have it for my own reference but also in the hopes that it will help others.Since CouchDB is just an HTTP resource and can be secured at that level along the same lines as you'd secure any HTTP resource, I should also point out that I will not be covering things like putting a proxy in front of CouchDB, using SSL with CouchDB, or anything along those lines. This post is strictly limited to how authentication and security work within CouchDB itself.CouchDB security is powerful and granular but frankly it's also a bit quirky and counterintuitive. What I'm outlining here is my understanding of all of this after taking several runs at it, reading everything I could find on the Internet (yes, the whole Internet!), and a great deal…