Decades ago I had several clients who insisted upon having two PCs on their desk. One would boot up into the word processor and the other would boot up into a spreadsheet program. No amount of instruction could teach these people that a computer can not only run multiple programs, but it can run them at the same time. To this day, these folks are still my clients, and happily paying me to support this arrangement.

Some people simply can not be trained.

Due to space constraints, John happened to sit near his in-house software development team. The primary business of their company was not software development, and the software folks catered only to the in-house needs of the company.

Scotty from Star Trek being very drunk

The application in question is a small web query which allows the user to look up a person by some fraction of their first or last name and/or their phone number. Simple enough, really: do a case-insensitive wild card search of whatever they enter on both database fields, and display the results.

One day, an Admin guy walked in to discuss the prospects of updating the application. Since people have moved a lot around here, our phone directory database has become outdated. How can we update it?.

John suggested that they could provide a link in the same application so that each user could edit their phone number. However this was immediately rejected because everyone there thought it would be futile to ask employees to update their phone numbers.

Instead, the manager of the software folks decided to run an internal company-wide survey and mandate that everyone provide their phone number.

In the next 10 days, everyone at the company was forced to submit their internal extension number via the survey. It took all of 2 days to discover that this caused another problem. The company had 4 different facilities and all they collected via the survey was the extension numbers and not the facility to which they corresponded.

By dumb luck, a week prior to this survey, there had been another survey requesting the facility in which each user was stationed. The software folks assured everyone that it was just a matter of using the other table to get the facility names too.

Two days later, John just happened to bump into the same admin guy and asked him about his weekend plans. He said he was going to be in the office as the updates to the phone lookup application needed to happen. John started getting curious as to why the update should warrant weekend work, especially given that they had all the data they needed. He said Yes, the data is available, but it needs to be entered into the system.

It later turned out that the software team exported an Excel dump of the two surveys from their SQL-Server database and had asked this poor guy to manually key in one entry after another in the entry form provided by them so that it could be stored in another database table.

John told the admin to ask the software manager once again to check if there was a possibility to move the data directly from one table to another, rather than doing manual re-entry. John witnessed the resulting conversation:

   Admin: it is very difficult, error prone and time consuming to key in the details 
          of nearly 4,000 employees one by one; is it possible to do a back end upload?
   Devs:  No: it can't be done because the table of the phone lookup database and the 
          table of the facility database are structurally different and hence it would 
          not be possible to update the records on the back end; they must be 
          re-entered manually!

Just in case you're curious, the query application has 2 boxes to enter search data (name and extension). You search by either one, and it will list all matching entries in a grid that looks like this:

    Employee_Name     Phone_No
    -------------     ------------------------------------------------------------
    Spider Man        Facility-1: 3159 ; Facility-2: ; Facility-3: ; Facility-4: ;
    Harry Potter      Facility-1: ; Facility-2: 2849 ; Facility-3: ; Facility-4: ;
    Bruce Wayne       Facility-1: ; Facility-2: ; Facility-3: 7235 ; Facility-4: ;
    Captain America   Facility-1: ; Facility-2: ; Facility-3: ; Facility-4: 1923 ;

So you know to call Harry Potter in Facility-2 at x2849.

I've always thought that requiring license certifications to be a software developer was a ridiculous idea, but lately...

[Advertisement] Manage IT infrastructure as code across all environments with Puppet. Puppet Enterprise now offers more control and insight, with role-based access control, activity logging and all-new Puppet Apps. Start your free trial today!