On the whole, computers are a pretty good thing. From the earliest mainframe days, we’ve used them to automate tasks that were time-consuming, error-prone, or both. When relational databases came in the 80s, the possibilities multiplied. And with PCs arriving on the scene a few years later, the stage was set, a) for a revolution in the power a single knowledge worker could wield; and b) for a corresponding minefield of technology creep.
There’s a well understood maxim in software called the Law of Conservation of Complexity. Software can’t eliminate or reduce complexity; it can only make it easier to manage. The bigger an organization is, the more ideas it generates; and the better the tools at its disposal, the more those ideas are codified into software. Often that’s a good thing. But more often, especially when there aren’t controls in place for those with well-meaning but fundamentally unsound judgment, it turns into a disaster: a mess of data silos, incompatible processes, and countless applications whose reason for existing gets lost the second their owners change jobs or retire.
Enter the 90s, and with them an attempt to combine this Wild West of options into single databases, culminating in maturity with the advent of Enterprise Resource Planning (ERP) systems. Their introduction beckoned like a siren song to IT, which championed them as single sources of truth for all of a company’s information and processes. The conventional wisdom was hard to dispute: if everything’s in one system and everyone uses it, all of your data’s together, which results in greater efficiencies and less overall complexity.
The reality has been disappointing and expensive. By necessity, ERPs need to choose between lots of competing designs, so they pick one and call it best practice. That works great for processes that are truly horizontal (GAAP rules are GAAP rules, regardless of your industry), but unless you have the stomach to stuff the square peg of your entire organization into someone else’s round hole of best practice, you’re going to need to customize your implementation. Those customizations transform IT departments and consultancies into software shops, because customization means writing code. This results in large budgets used to fund software development and data center maintenance, instead of concentrating on core business priorities. IT becomes so busy accomplishing mundane tasks, like performing software upgrades and refreshing hardware, that it doesn’t have time to help the business with its needs.
And when the business, comprised of lots of smart knowledge workers, doesn’t get the support it needs, what does it do? What any of us would do – build our own solution. Use Access, Excel, and email. Or sign up with our credit card for a SaaS application and expense it. Anything we can get our hands on to do our job. Personal productivity tools became so good while ERPs stayed inflexible, that the pendulum had swung fully the other way. We were back to the Wild West.
But we won’t be for long. The last few years have seen innovations like rule-based architectures, no-code applications, and in-memory computing, that are revolutionizing enterprise software by leading a shift away from monolithic, inflexible, IT-centric systems and towards platform-based business services that deliver value and agility without sacrificing power. Applications can be delivered in days and weeks instead of months and years, at a fraction of the cost. Coupled with solid Quality Assurance controls, they offer the agility of personal productivity apps with the rigor and maturity that was previously the sole domain of (very expensive) custom code.
The truth is, no two organizations are the same. Whether by the careful fostering of strategic differentiators, or by the organic evolution of individuals making their own contributions to a company’s culture and processes, different enterprises will always do things at least a little differently. And software has to be able to accommodate that.
As an example, at our own company we have our own set of HR, CRM, and SQA modules that we developed to run our operations. Our employees are required to fill out timecards every week. Because we’re a very distributed company (as so many software firms are these days), to create more of a team spirit we modified our timecard module to include a weekly survey question. These are often purposely funny or silly, and although it’s not a requirement to answer the question, most people do. A report comes out every Monday night, distributed to the whole company, with people’s answers, and it’s always fun to see that the sales guy in Charlotte and the developer in Portland both have the same favorite Oscar Wilde quote. This survey question feature isn’t something that would make it into off the shelf timecard products, but it works well for us because it’s specific to our people, our culture, and our sense of community.
That’s just one of countless examples. It’s been a long, meandering road, but technology has finally figured out a way to fill that great big void between Excel and ERP, where 90% of the real interactions and work happen. Both Excel and ERPs still have their very important roles to fill, of course, and that’s not going away; but every piece of the puzzle has its place, and it’s wonderfully exciting to think of all the pieces left to place (machine learning, anyone?).