Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »
Public Council Teleconference: Application Rationalization — Hidden Costs and Smart Decisions
November 17 at 11:00 am US/Eastern (GMT-5)
Join Honorio Padrón, of The Hackett Group, who will share the drivers for companies to tackle application rationalization and the results of research that define the hidden cost of complexity. Additionally, we will discuss key decision milestones—to start or not, holding the course steady and fulfilling expectations.
Virtual Desktop Cost-Benefit Analysis — Michael Jacobs, Catlin Group
The analysis contained in this presentation measures the cost of everything from the machines and licenses to the infrastructure for virtual vs. traditional desktop environments.
Honor your best senior team members - Apply for the CIO Ones to Watch Award
Get well-earned public recognition for your top up-and-coming team members, your IT organization and your enterprise. Award winners will be announced, publicized and feted in May 2010, great timing to help attract new IT recruits to your company.
Learn more about the CIO Executive Council »August 15, 2002 — CIO —
The software industry produces bad products. Rather than accept that, we should do something about it. In other industries, making shoddy products is an incredible liability. Can you imagine the fallout if auto manufacturers produced cars that were as unreliable as the software that currently floods the market? It would be a catastrophe! Other industries have learned to incorporate better production methods into their manufacturing processes to ensure quality in their products. How come the software industry is not doing the same?
Software makers have done nothing to utilize better production methods because of the mistaken belief that creating software is not a traditional manufacturing process?that it is somehow different and unique. Many believe it impossible to establish a software production line that converts human intelligence into computer instructions in the same efficient way that traditional manufacturing companies produce cars or appliances. That is simply wrong.
The software production line already exists in the transition of raw ideas into products that provide intelligence to computers?this transition is called the software development process. What is missing is a methodology to make this production line work correctly and efficiently. This methodology is called automatic error prevention, and it has been successfully adopted in other industries.
So why hasn’t it been adopted by the software industry? The answer: It has not been economical. Take the example of chip testers, which are widely used in the microprocessor industry. These machines verify that chips are functioning properly. Chip testers are expensive, but since the behavior of the chips they test is well defined, you can program the tester once and run millions of chips through it and effectively amortize its cost per chip. With software this is not possible because every piece of software is unique.
The difficulty of this situation is enormous. Think about it. To be effective, automatic error-prevention tools for software development must be able to adapt to each test subject without human intervention. In other words, such tools must be intelligent themselves. Developing automatic error-prevention tools for the software industry is more complicated and expensive?by several hundred orders of magnitude?than simply preprogramming chip testers.
Yet software developers are lucky; their products contain the key to overcoming this difficulty. Automatic error-prevention tools for software are based on the simple principle that the intelligence needed to automatically test a software product is built into that product when it is created. Chips carry no information on how they should be tested, and so the test equipment must be preprogrammed. Yet if you read the source code for a piece of software, you can figure out how to test it. This breakthrough technology has become available only in the past few years. Now automatic error-prevention tools can immediately test code as it is written, regardless of the application.