Sunday, April 25, 2004

Mach-II Site #4 Goes Live

The fourth site I've done with Mach-II just went live. It's the revamp of the Girl Tech web site, and it will be managed both through a Mach II based interface as well as Macromedia Contribute. My skills with Mach-II get better with every project, and the more I use the framework, the more impressed I am with it. My next project is a multi-lingual site that will use Mach-II, so that should put a new wrinkle in things. I'll post any lessons learned/gotchas here!

BlueDragon Release Getting Closer ...

I haven't had time to post about this in a while, but the release of BlueDragon is getting nearer by the day. I was very happy with Beta 3, and although RC1 had a couple of issues that didn't exist in Beta 3, the folks at New Atlanta are VERY committed to making BlueDragon great. When the CIO personally e-mails and offers to call you and do a remote desktop session with you to figure out a bug you've discovered, that's what I call good customer support!


I've been porting a Java application that I sold to a couple of companies over to ColdFusion and Mach II and I decided this was a great oppotunity to put BlueDragon through its paces since Beta 3 added the support for CFCs that was required for Mach II to run. I've been building this applicaiton on a Mac since BlueDragon works very well on OS X, and other than a bug with defaulting CFCs string args to "" (this has been fixed in RC2 which should come out any day now), it's been running perfectly.

I've said this many times before, but I think this is a very good thing for the CF community. First of all, New Atlanta is offering a version of BlueDragon that is free to use in production environments. It lacks very few of the features found in the JX version of BlueDragon, so for the vast, vast majority of CFMX applications, there will soon be a free application server. When budgets are tight or people just don't want to pay for an app server when they already have .NET, PHP, or what have you, I think this is a great opportunity to level the playing field. I've always said CF is a bargain for what you get in return, but in reality the issue of price still comes up in a lot of discussions.

New Atlanta's "pay" version (BlueDragon Server JX) is apparently only going to cost $549, which is cheaper than the upgrade from CF 5 to CFMX, and there are a lot of neat features in JX. The addition of some new tags to the language (e.g. cfimage, cfforward, and cfimap) are nice (though these can admittedly be added to CFMX via custom tags or by doing Java calls), and on the CFC side they have also added a "real" constructor tag, cfconstructor. The ability to serve up CF and JSP pages from the same app server is also very cool, and you can even include JSP pages in your CF pages. For the application I've been buildling in BlueDragon I'll definitely be buying the JX version because I think the features are well worth the sticker price.

If you're into CF and haven't checked out BlueDragon, I strongly encourage you to do so. It's a great product, it's EXTREMELY well supported, and the higher-ups at New Atlanta really listen to and care about the users. I firmly believe that BlueDragon will only make CF stronger.

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.