The first law of software

The first law of software

A few columns back I mentioned my first law of software–any mildly successful software program will begin to operate under the delusion it is an operating system. You’ve seen it. The e-mail system that gets file handling capabilities in version two and then helper applications in version three and so on. The ERP system that adds messaging and calendar functions. Of course, the poster child for this kind of behavior is the browser.
So why do I care? Mainly, I care because it’s not sustainable. Applications are applications and the operating system is the operating system. When software applications start mudding that water, it’s bad news for both those who use multiple applications and the people who support them. The bad news comes in two forms.
First off, choice is a good thing (elections come to mind. You all are going to vote, aren’t you?). Applications masquerading as operating systems are inherently anti-choice. It may feel like a convenience in the beginning, but the eventual and inevitable cost is the inability to make choices the application designers didn’t even consider. The division of labor between operating systems and applications preserves flexibility and choice.
The second piece of bad news comes from the inevitable confusion when it’s not clear who’s responsible for what. God forbid you have two deluded applications playing tug of war with the operating system over who gets to name and place files. I’ve seen it happen and the support costs are significant as system and user behaviors combine into something else that seems to behave in a completely random manner.
Lest you take this as a poorly veiled attack on Microsoft, that’s not where I’m headed. They’ve been as guilty of this behavior as anybody and probably the most successful at it, but they’re far from alone. The big ERP systems all take this approach, but I’ve also seen it in home grown time-management applications. A friend of mine once suggested a corollary the first law of software — any mildly successful IT shop begins to operate under the delusion that it runs the company. Whether we’re talking software or organizational behavior, the first place to look is in your own IT shop.
And the first symptom is a lack of shared decision making. If you have one person who’s responsible for requirements, design, development, testing, deployment, support, and dishwashing, you’re at risk. And I don’t want to hear from all the folks out there in small or one-person shops about having to be all things to all people. Yes, you have to cover all the even vaguely technical bases, but that can’t be an excuse for excluding business folks from key decisions that will impact them They have to retain ownership of things like defining what it is they want and assessing whether the technology they end up with really meets those needs.
And oh, by the way, no whining from senior IT management in the larger shops either. You also have to cover all the vaguely technical bases and with less direct control than the smaller shops. I know that. But, big or small, the trouble comes when the technology becomes the whole problem, not just a piece of a larger picture.
If you can’t point to specific activities that keep technology in the context of that larger picture, you’re probably drifting off towards that old OS delusion. Some of those activities will be part of the formal process of requirements, design, and testing. Some of those activities will be less formal like the lunches you have with your peers on the business side… You do know who those people are, don’t you?
—–
Byron Glick is a principal at Prairie Star Consulting, LLC of Madison Wis. Prairie Star specializes in managing the organizational impacts of technology. He can be contacted via e-mail at byron.glick@prairiestarconsulting.com or via telephone at 608/345-3958.
The opinions expressed herein or statements made in the above column are solely those of the author, & do not necessarily reflect the views of Wisconsin Technology Network, LLC. (WTN). WTN, LLC accepts no legal liability or responsibility for any claims made or opinions expressed herein.