Business Technology: Keep Apps Simple As Possible, No Simpler
Bob Evans says keeping apps simple as possible, not simpler, is the solution to increasing software complexity.
Tax codes, space shuttles, zone traps, teenagers, linear equations, foreign relations, Hungarian syntax, and 3-D chess: The common thread is complexity. In some cases, massive complexity. Each requires significant amounts of time, energy, and thought just to comprehend, much less master. And after all those expenditures, just when we think we've become subject-matter experts, we find the object of our study has yet again changed, forcing us once again back to the observation stage.
But in the world of business technology, we don't have a nearly inexhaustible supply of time with which to try to wear down complexity. We seem conversely to have settled on the idea that the only solution to complexity is greater complexity, heaped on in staggering abundance in the hope that enough of it will allow the ever-expanding beast to be hidden from the user, the customer, the consumer. An example is Microsoft's forthcoming operating system, code-named Longhorn: Some inside Microsoft have speculated that the pumped-up Windows operating system will grow well beyond its current 50 million lines of code.
Why does application integration still rank near the top of all lists of CIO challenges? Look at the major enterprise-application vendors--as customers unflinchingly demand greater levels of up-front proof that these highly sophisticated applications will deliver rapid and substantial business-process improvements, competitive advantage, and ROI, the software makers are working feverishly to make their products easier to use. Web services offer enormous promise, but just how long will it be until they truly deliver? I'm a big believer in the theory--the problem is, the theory is predicated on hiding the maddening layers of complexity and incompatibility and workarounds behind a facade that has to present a "simple" interface to users but also be "robust" enough to pound all of the existing demons into submission.
[CAPPS II] envisions using commercially available databases to check passengers' utility bills, credit-card payments, and other private records to flag potential terrorists from among millions of passengers. ... "There are indeed many unanswered questions," said Nuala O'Connor Kelly, Homeland Security's chief privacy officer. "But it's not because they can't be answered. It's because we haven't had a chance to try to answer them."
-- The Wall Street Journal, Feb. 13
How much complexity--or do I mean simplicity?--is enough? How much of the former will customers tolerate, and how much will they pay to get the latter? Is it wise for software companies to add, say, 30% more code to a new product to deliver, say, a 10% increase in customer satisfaction? What about the trade-offs and potential hidden costs--what potential security vulnerabilities or bugs or just sheer waste lie within that expanded base of code? Call it the law of compound complexity--and defy it at your peril.
I am not a Luddite--like anyone with a pulse, I can see the astonishing advances information technology has brought to our personal lives, our businesses, the education of our children, and our future. But we should be more than a little willing to square up to the issue of rapidly escalating complexity, because vendors are stuffing it into their technology tools in ever-increasing volumes even as customers are screaming for more simplicity, more accessibility, more security. We could easily add into this mix more reliability and more accountability. And my question is: Is more complexity the only solution?
Perhaps, in the end, it is. If so, then I'd suggest that we shift not only the language of the debate but also its objectives away from complexity and toward simplicity--away from the problem and toward the solution, away from the aggravation and toward the opportunity. Along the way we should bear in mind the words of Albert Einstein: "Everything should be as simple as possible, and no simpler."
[Interop ITX 2017] State Of DevOps ReportThe DevOps movement brings application development and infrastructure operations together to increase efficiency and deploy applications more quickly. But embracing DevOps means making significant cultural, organizational, and technological changes. This research report will examine how and why IT organizations are adopting DevOps methodologies, the effects on their staff and processes, and the tools they are utilizing for the best results.
IT Strategies to Conquer the CloudChances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.