Monday, December 2, 2013

The Parable of the Three Software Engineers and the Tree


One day while teaching, Josh was asked, ”Teacher, what makes a perfect Christmas?”
Josh spoke thus:

A group of software engineers wanted a perfect tree.
“It can’t be too tall,” one software engineer said.
“There has to be room for the star,” a second software engineer said.
A third software engineer was attempting to record the information into a database.
“How do you quantify not too tall?” the third software engineer asked.
“Do the math,” the first software engineer said, “It’s a simple formula.  Height of the room, height of the star, height of the tree.”
“Don’t forget to include the stand,” the second software engineer said.
The third software engineer remembered to include the stand.  The height was the final parameter the software engineers needed. They had already determined the ideal trunk diameter, the ideal spread of the branches, the ideal number of  branches, given the number and sizes of presents they expected to place under the tree and the number, sizes, and weights of ornaments.  They had even determined the ideal string length for the lights, the ideal light pattern and the ideal color combination.
The parameters set, the software engineers built a virtual tree for a number of tree varieties.  Pine, spruce, fir.  Each had its favorite, each had its detractor.  At last the software engineers decided upon a variety of western spruce.
The software engineers printed out a rendering of their ideal tree and set off to the tree farm.  The tree farm had been chosen through parameters for price, distance, quality of tree and quality of service.
The software engineers rode together in the crossover sports utility they had chosen as the best of their vehicles for the task.  It had room for the three of them, room for their carefully chosen tree stand, room for their carefully selected tree saw, room for their carefully prepared blankets to protect the vehicles interior, and a rack for the tree to ride in, along with ropes that were not too large and not too long but were large enough and long enough for the task at hand.
The three software engineers arrived at the tree farm and climbed out of the crossover sports utility.  As they walked inside the gates of the tree farm one of the software engineers saw a tree in the software engineer’s peripheral vision.  Simultaneously, the other two software engineers spied the same tree.
“That’s a nice tree,” the first software engineer said.
“It’s a very nice tree,” the second software engineer said.
“I like that tree,” the third software engineer said.
“It speaks to me,” the first software engineer said.
“It has a je ne sais quoi,” the second software engineer said.
“It’s Christmassy,” the third software engineer said.
“I’m in,” the first software engineer said.
“I’m in,” the second software engineer said.
“I’m in,” the third engineer said.
The tree was purchased.  As they set the tree up, the three engineers agreed it met none of their parameters.
“It’s too short,” the first software engineer said.
“Its bottom branches are too sparce,” the second software engineer said.
“It has too many branches in the middle,” the third software engineer said.
“There’s a thin spot in the back,” the first software engineer said.
“It’s perfect,” the second software engineer said.
“It’s perfect,” the third software engineer said.

“It’s perfect,” the first software engineer said.

No comments:

Post a Comment