Which comes first? Process or Technology?
I was on a plane from Denver to Knoxville to train a hospital on control charts when I opened up the American Way magazine and found an interview with Larry Ellison, CEO of Oracle-the second-largest software company. The article tried to show that using its own software helped Oracle save $1 Billion dollars, but Ellison said something even more important: "The way you get quality is to define a set of processes and procedures and make sure they are implemented everywhere."
I was stunned! Here's a tech-CEO saying the key was consistent processes. And what he said next resonated with my two decades of software development and maintenance: "before we could automate anything, we had to standardize the new processes we would need. It meant simplifying and modernizing every procedure…"
"People ask the wrong question when they automate a company or process: Will this bunch of software allow us to [do] things the way we [do] them today?
The right question is, will this allow us to [do] things the way we should do them?"
After I graduated from the University of Arizona with a B.S. in Systems Engineering (the high art of optimizing systems), I got hired as a COBOL programmer for the phone company. There I was tasked with writing programs to automate existing manual processes that were so cumbersome and error prone that I often wondered what we hoped to gain by automating them. Here's what I learned: When you automate a poor process, you make it difficult and time-consuming to change. Things you might have changed on the fly now had to go through screening, prioritization, requirements, design, code, and test. Most changes took months, even years.
Years later, it seemed we were still doing the same things, but even dumber stuff. If an existing system caused too many errors, we'd write a mechanized system to fix the errors caused by the first system because the first one was deemed to complex to fix! There were systems that fixed addresses on outgoing bills (150,000/month were undeliverable). Why didn't we go back into the service order system and prevent the input of incorrect addresses? It might slow down our service reps. Silly huh?
So, if you want to maximize the benefit of your new information systems, use Ellison's and some of my advice:
- Simplify, streamline, or reengineer your processes first.
- Then choose or build a system that reflects the streamlined flow, not the old flow.
- Expect each new application release to be error-prone. Use systematic problem solving to identify and remedy all of the requirements, design, and coding errors. Resolve problems at their source, not necessarily where they show up.
- As your new system evolves, simplify and streamline the software to prevent the creeping complexity that will render it inflexible and unchangeable.
Rights to reprint this article in company periodicals is freely given with the inclusion of the following tag line: "© 2008 Jay Arthur, the KnowWare® Man, (888) 468-1537, firstname.lastname@example.org."