Commodity software
Joe McKendrick’s piece on commoditization of software, based on a conversation with Gluecode founder Winston Damarillo, seemed hopelessly optimistic to me at first read.
“Thanks too open-source and Web services/SOA, Damarillo says, ’software is going to commoditized, much like hardware has commoditized a decade ago.’ Over time, Damarillo added, traditional applications will be supplanted by commoditized, loosely coupled components available on a moment’s notice. ‘Enterprises can no longer afford to wait for a vendor’s version cycles,’ he said.
“‘Eighty percent of the software that needs to be written has already been done collaboratively,’ Damarillo pointed out. ‘If you apply software standardization, along with global collaborative development, you’re going to have all the modular building blocks you need for any application you need, available for free.’”
Yeah right. Sounds like someone with something to sell. If it wasn’t that Joe’s bio places him as a web services analyst at Evans Data Corp, I’d have just x’d off.
Instead, I’m looking for a take away: the holy grail is to save custom app development and maintenance bucks by building apps out of simpler components that are decoupled from each other. No doubt that “web services” over a “message bus” are the latest-greatest technologies to enable that approach.
IF some of those components are open-source or commercially standardized parts, and IF that makes them cheaper in total-cost-of-ownership (TCO), and IF it’s easy enough to hook them together to build a solution, and IF the functionality, performance and reliability of the end solution is still adequate, then we have a win. Note that in decoupling components across a bus, we still need to deliver rich functionality to our business customers. Most business apps I work with rely on customization of components to add critical business value. That customization and the strictures it imposes on the underlying components may still add up to something akin to today’s costs and timelines. In which case, we’ve only replaced the plumbing without improving the cost/benefit picture.
Let’s pursue the details a bit, through an example. Suppose a wiki is a widely used component for community knowledge management (KM). Do you buy a team room from IBM Lotus or Microsoft? Or do you download a wiki from sourceforge and invest a couple of developers in supporting it in-house as a reusable asset that you can shape to your needs. Most customers I know are still buying Sharepoint or Notes rather than participating in open-source KM projects.