Automating Bad

https://commons.wikimedia.org/wiki/File:Paris_Tuileries_Garden_Facepalm_statue.jpg
Wikimedia Commons

One of the fascinating things about software development is that, if things are done right, things actually get easier as the software hides more and more of the complexity.  For instance, when I was first building Windows applications you needed to understand a lot of things about how Windows handled events and you needed to create an event handler that would take the event and call the right piece of code based on the event.  Over time this concept got abstracted so you didn’t have to know the nitty-gritty details.  More and more abstraction provided a continually higher level view of what you needed to do in order to create a Windows application.

At one point in my career, I needed to understand the font that was being used for printing and the kerning involved so that I could properly format a report for printing.  I needed to take into account the amount of space on the page so that each section was complete on a page and was not split over two pages so I had to calculate the amount of vertical space on the page that I needed and compare it to what I had available before determining if I needed to eject a page.  Fun times.

Things get easier.  But not just in the software development end, but from the end user perspective.  You don’t need to figure out the correct MTU size (usually 1500) to establish a TCP/IP connection, or determining if the parity bit is even or odd.  You no longer need to be a graphics wizard to create HDR photos, just push a darn button.  Video encoding?  It’s a breeze with Handbrake.  You don’t need 12 different media players and dozens of codecs, you just need VLC.

So why is it that for business software we are still stuck in the stone ages?  I was recently told about how I have access to a tool that allows me to administer Active Directory groups for which I am an owner.  My initial comment was “it’s about time”.  My comment after reviewing the tools was “so what?”

Let me walk you through how I think the process should go as the owner of an Active Directory group.

  1. I go into the tool
  2. I select the group I want to administer
  3. I review the list of people in the group
  4. I add/remove any necessary individuals
  5. Walk away happy

Here is what I think is going to be required based upon my investigation.  (Steps 1 – 4 confirmed).

  1. I go into the tool
  2. I select the group I want to administer
  3. I review the list of people in the group
  4. I try to add/remove people (I am the owner after all) and find out the buttons aren’t visible because .?
  5. I send a request to the coordinator telling them of the changes I want to make
  6. The corodinator processes the changes
  7. I receive notification that I need to approve the changes
  8. I go back into the tool
  9. Go to my approval list
  10. Approve the changes that I requested in the first place
  11. Grab a bottle of Long Island Ice Tea Mix, a bucket of ice and quietly cry

You will see that there are a number of additional steps involved.  (Yes, you need to count the last step as it is very important for my sanity.)  The tool has the ability for me to directly Add and Remove users, but the people implementing the tool decided that I shouldn’t be able to do this, even though I will be the person that needs to approve the people being added,

Process for process sake makes no sense.  Making things more complicated than they need to be, makes no sense.  Software can make our lives easier, simpler, more focused on what we need to accomplish.  We need to stop putting impediments in our way to providing that advantage.  One of the things we need to understand is that sometimes we shouldn’t automate an existing process, we should abandon the existing process and follow a new process.

Automating a bad process just allows us to make bad decisions that much faster.

Leave a Reply