Planning for the Unplanned

Peter F. Drucker said "There is nothing so useless as doing efficiently that which should not be done at all."

But that doesn't mean that one only does those activities directly tied to the bottom line — in fact, the first suggestion I will offer is to leave it all behind and go to your own private playground, a sort of "skunkworks." Lockheed Martin actually owns the trademark on “skunkworks” where they originally developed the P-38 fighter just before WWII. The innovations from that design were carried over into the first prototyped jets made, but it all began outside of the standard procurement process, instead with a handshake and a group working next to a noxious-smelling factory. That smell inspired them to name their research lab after the location of Barnsmell's still in Al Capp's comic “Lil' Abner” — the source of Kickapoo Joy Juice (made from dead skunks and old shoe leather) — prohibition's a bummer.

You can build your own private web server by installing MySQL, compiling PHP with your favorite extensions and configuring Apache to use the appropriate dynamically loaded modules — or, you can download a package like XAMPP from http://www.apachefriends.org. Either way, you will have a place where you can download and examine the contents and effects of modules and themes that is away from observation, and that the results will not be seen by customers and clients. Now, the wind tunnel tests at the original skunkworks have a counterpart in your own ability to forensically examine the results of installing and using modules: just export your Drupal database before and afterwards and compare the results. As the database is the foundation of the Drupal website, you'll get to know how Drupal works from the ground up, so to speak.

When developing a custom search module earlier this year, I purposefully dropped half the columns in my custom content tables just to see how the search results would be impacted and whether Drupal would blow up if the client pulled an unbelievably stupid maneuver. Drupal's dynamic presentation layer made be almost weep for joy with it's handling of the truncated data. That is how you plan for change. By playing around. By investigating. But that is not how you professionally develop a website.

The concepts and practices of project management and planning are too varied and too numerous except for a brief overview, where you and your clients must document the user experiences. How many times have you received a request while you are in the middle of development where a client said “Wouldn't it be cool if you could click X and then Y would happen so that we could get Z?” Without realizing that Z equals FAIL — failure to meet deadlines if making X takes longer than expected; failure to meet expectations if Y isn't fully tested and breaks something else! I mentioned that your sandbox is where you test all sorts of crazy new ideas apart from your managed process in professionally developing websites, but you can — and sometimes you must — integrate the processes. I had to show a prospective client a working import module and thanks to having a two version-control process setup (CVS for the Drupal source and Subversion for my own versions), I was able to get it ready without too much sweat...