Monday, March 21, 2005

Recycled postings....

I've begun dismantling the group I used to maintain on MSN, and, as some of the postings there, appear appropriate here, I'll be reposting them. My apologies in advance to those of you who may have read them before!!

These are some musings on the trials and tribulations of the IS lifestyle. . .

Code, Run, Crash, Debug, Code, Run, Crash…

This development cycle for developing any programming code is familiar to most of us in the 'biz'.... It goes on, hour after hour, day after day, week after week, year after never ending year for those of us who live in the development cycle. It's not an indictment of the process, but rather an explanation of the vicious cycle the developer lives in... And needs to accept as part of the process if they desire to stay in it!

Sure there are thousands of products, tools and 'toys' all promising to relieve the pressures we face, but the reality of it all is.... most often, what is desired, isn't communicated until long after it became a want, past when it became a need, and usually long after it became a necessity. This creates many pressures, most of which are artificially imposed by the late start/early finish requirements that come along with the project... no way out of this trap, it is part and parcel to business life. A company does not begin developing software it 'thinks' it might need, but rather the software it knows it needs.

So us developers repeat the "Code, Run, Crash, Debug" (CRCD) cycle frantically attempting to meet the impossible deadlines... often losing sight of what could be a saving grace... in our quest for speed... we often don't take the time to truly develop those 'black box' functions/procedures/objects we all hear so much about.

Rather, what happens is that the pressure to 'produce' lures us into the CRCD cycle... as we bang out code and get the project off the board....

It's my opinion that this also leads to the high 'burn-out' rate among IS professionals, or job changing at the very least, as after a couple of years of cranking out code and the CRCD cycle, the sins of the past begin to haunt us and often a career change is the only way to avoid the inevitable!!! (Having to maintain that crap you wrote, that the CEO swore would only be used for 6 months, that two years later is a cornerstone of the information systems... and a severely cracked cornerstone at that)

We've tried many approaches to lessen, or eliminate this cycle, but the fact remains... despite all the Objects, Oop, Moop or Shmoop... Methods and Properties... and sophisticated 'Visual' development environments... we're faced with a cold hard reality... "people" create systems... even the systems to create systems are built by people like you and I... and therefore will be full of the little idiosyncrasies we all have... and destined to fail at some point as a result.

We need therefore, to steal a line from Tom Peter's, to learn to "Thrive on Chaos"... to recognize and embrace the cycle, not fight it.

If we let the cycle determine our outcomes... we become nothing more than servants to it... in essence letting it define not only what we do, but how and on what time frame, we do it. Is it not better then to recognize it, embrace it and use it to our own ends? Not 'Mastering' it, but rather incorporating it, planning for it and letting the creative work we do flow around and through that cycle... not fighting it at every turn.

Tell me what you think!


No comments: