Programming Genesis


In the Beginning, the Project Manager created the Programming Staff
The Programming Staff was without form or structure
And the Project Manager said, "Let there be organization"
And there was Organization
And the Project Manager saw that the Organization was good
And the Project Manager separated the workers from the supervisors
And he called the supervisors "Management"
And he called the workers "Staff"

And the Project Manager said, "Let there be a mission in the midst of the Organization...
And then he added "Let it separate the people one from the other"
And it was so...
Those who were to benefit from the system were placed far away
And those who were to build it were placed in boxes called "Cubicles"
And he called the former "End Users"
And he called the latter "Programmers"

And the Project Manager said, "Let one among the Programmers be chosen to lead"
And there was turmoil, chaos, back-stabbing and arguments for forty days and nights
Finally the Project Manager selected the most competent among them
And he called the man "Chief Programmer"
The other Programmers decried the selection saying, "What standards were used?"
And the Project Manager smiled and said, "That is not for you to know."
And the morning and the afternoon of the first phase were past

And the Project Manager called the Chief Programmer before him
And he said, "Prepare for me a schedule so that I may look upon it"
And the Chief Programmer walked among his staff
And the Staff was divided into two sections...
One section was called "Analysts"
And the remainder, he called "Application Programmers"
And it came to pass that each Analyst brought his estimate to the Chief Programmer
Whereupon the Chief Programmer collected them and combined them into a "Flow Chart"
And the Chief Programmer saw that it was good
And the morning and the afternoon of the second phase were past

The Chief Programmer went unto the Project Manager & said, "It shall take 10 months"
And the Project Manager was not pleased -- lightning flashed and thunderroared
And the Project Manager said, "I have brought you up from the depths of the Staff"
And the Project Manager arose and banged on his desk
And the Project Manager said, "And yet you do not see the BIG PICTURE"
The Chief Programmer was afraid and trembled and fled to his office
He hired many consultants and authorized much overtime
And he e-mailed the Project Manager with copies to the Brass above:
"Behold ! See all that I have done. The due date will be five months"
And the Chief Programmer said to his Staff, "Let the specifications be written"
And the morning and the afternoon of the third phase were past

And there were meetings, and power lunches, and Happy Hours
And there were many faxes, and many e-mailings and many phone calls
And the specifications were written
And the Staff and the consultants were richly paid
The Chief Programmer read the Specs and saw that they were too ambitious
And he separated the mandatory features from the optional features
And he called the mandatory features "Requirements"
And he called the optional features "Deferred"
And the Users called him names from afar
And the morning and the afternoon of the fourth phase were past

The Chief Programmer said, "Let the Requirements be analyzed & the Files designed"
And it was so
And the Chief Programmer said, "Let the Software Houses bring forth their salesmen"
And it was so
And the Chief Programmer said, "Let us have a Data Management System"
And it was so
The Software Houses brought forth all manner of salesmen with their presentations
And each claimed wondrous things of their packages
Each according to his own system and file structure
And it came to pass that a Data Management System was selected
And the Chief Programmer saw that it was good
And the morning and the afternoon of the fifth phase were past

The Chief Programmer said, "Let the System be divided into parts, each part a Module"
And it was so
And he said, "Let many Teams be formed & let each be assigned a Module to write"
And it was so
And the Chief Programmer divided the many teams into many levels
There was a single "Lead Programmer"
And there were a few "Senior Programmers"
And there were a lot of "Junior Programmers"
And there were many who could only scribble and these he called "Coders"
He gave the greater dominion over the lesser
And the Chief Programmer saw it was good
And the Senior Programmers saw it was good
And the Junior Programmers grumbled amongst themselves
And the Coders were still trying to locate their cubicles in the confusion
The Chief Programmer said, "Let the programming begin"
And the meetings and the power lunches and the Happy Hours were as before
And the morning and the afternoon of the sixth phase were past

The Chief Programmer said, "Much OT shall be consumed; there is but 2 months left"
And the Programmers, the greater & the lesser strove hard, as they were much afraid
And they flowcharted, and they programmed, each in his own fashion
And the Chief Programmer looked upon the work and liked it not
And the Chief Programmer said, "Let there be a Standard"
And lo, there was a Standard
And the Programmers gazed upon the Standard and like it not
And there was much grumbling and sniping within the cubicles
And while there were meetings and lunches, the Happy Hours were no longer happy
And the Lead Programmers began reading the on-line want ads
And the morning and the afternoon and the evening of the seventh phase were past

The Chief Programmer said, "Let there be 'Progress Reports' from all"
And there were progress reports
And the Chief Programmer looked upon the Progress Reports
And he saw the due date was not to be met
And he pointed his fingers and caused blame
He caused the blame to fall upon all manner of things
He cursed the hardware and the software
He denounced all manner of creatures his eyes fell upon
Then, the Chief Programmer arose a bought a new suit
He shaved his head and wiped ashes on his face and arms
And the morning and the afternoon and the evening of the eighth phase were past

The Chief Programmer went before the Project Manager and groveled
And he pleaded for an extension of the due date
The Project Manager was exceedingly angry
He cast grave doubts on the ancestry of the Chief Programmer
He cast a multitude of threats to all of the Teams
But it came to pass that an extension was granted
And among the Teams, there was much rejoicing
And there was again "Happy" in the Happy Hours
And one by one, the modules were completed
And the morning and the afternoon and the evening of the ninth phase were past

The Chief Programmer said, "Let the Modules be integrated one with the other"
Two by two, the Modules were integrated, one with another
And great difficulties were experienced
And many hours of overtime were used
And many gallons of coffee were consumed
And it came to pass that System testing was completed
And the morning & the afternoon & the evening & the night of the tenth phase were past

The the Chief Programmer did go unto the Project Manager
The Chief Programmer said, "Behold ! I bring you glad tidings of great joy"
And the Project Manager smiled for the first time in a long time
The Chief Programmer said, "For on this day The System is completed"
And suddenly there was with them a multitude of Users praising the System
And the morning and the afternoon of the eleventh phase were past

And it came to pass that the Project Manager received a phone call
The speaker identified himself as a spokesman for the users
All he said was, "Could you make these few little changes ?"
And the Project Manager dropped the phone and wept...