Since the advent of Java and the network computer, there's been a lot of talk about total cost of ownership (TCO). NC proponents evangelise about reduced costs. They harp on NC acquisition costs being lower than those for PCs, as well as how NCs reduce support costs due to a simpler, "thin-client" model.
Another often-cited advantage of network computing is reduced solution-deployment costs, because applications don't have to be deployed directly to complex, "fat" PC clients. Each of these factors falls under the TCO umbrella for applications running on desktop computers.
Those network-computing evangelists have inspired many companies to become early adopters of the new computing style. But more importantly, by creating a perceived threat to the dominant Wintel standard, network computing has prompted Microsoft and Intel into action.
Each of these giants has invested huge sums to address the TCO issue, and integrators and their customers have benefited. The sub-$US1000 desktop, the Net PC, and Microsoft's Zero Administration initiatives begin to address legitimate TCO concerns. It's clear that without the threat of Java and the NC, the Wintel duo's focus on TCO wouldn't have happened as quickly or as dramatically.
So has the industry addressed TCO completely? And is the industry truly focused on reducing TCO? Regarding desktop hardware and administration, I think the focus is both clear and unequivocal. No doubt there's still much work to be done, but TCO now appears on virtually every hardware and software manufacturer's priority list.
Unfortunately, the same cannot be said for those of us who don't design and build PCs or write mass-market applications and operating systems.
Take, for example, custom application development. The process of determining a company's unique business requirements, translating those needs into a specification for application developers, and then implementing the resulting application is notoriously complex. Even with more than three decades of experience, our industry is still late or over budget on 70 per cent of all application-development projects, according to recent surveys. If we apply a little TCO perspective to this area, can we deliver the same sort of improvements that hardware and software vendors manage?
There's a key principle of current TCO efforts that we can take for our own use - simplicity. Can we apply this principle to custom applications? Have you ever built a custom application that included a customer-contact-management subsystem that functioned almost as well as a package like "Act!"? Why not incorporate the package into your larger system? If it wasn't exactly what the users wanted, did you let them know that it was close, it was cheaper, and that new updates would come every year?
And how about analysis? Did you challenge the level of complexity designed into the specification? It was easier for your analysts to satisfy the various users by designing six different ways to access the customer address. But it also made the application bigger, more complex and more difficult to support.
TCO is a critical focus area for hardware and software manufacturers. Those manufacturers are delivering. For the rest of us, it's our turn.