Friday, June 17, 2011

Marketing and Technical refresh

What happens when a services oriented company tries to get into a product business? It's not a great model. When I was employed by Northrop Grumman, I worked on the project.
This eGov program enabled grant seekers to fill out an XML based form and then submit it via the website. The XML form in-turn was transformed to an XML instance and then processed through a propitiatory Northrop Grumman XML transformation engine.

Have you ever heard of this product? I don't even remember the product's name! This was in 2004. The product was a suite of open source java packages which were cobbled together to be a backend engine for a major eGov program.

I left Northrop Grumman to work as a J2EE programmer for a company called Conquest Systems. I worked on a great team with sharp engineers and a great a project manager. We built a resource management web application using Struts and Hibernate with an Oracle database in the backend. This application for was the US military with a small development and support team. Meanwhile the company spent a lot of time developing a visual analytics tool for another US Government agency. The agency allowed Conquest Systems to take the rights of the products. Unfortunately, the company is still struggling to make it big with this product. The product uses EJBs. I also heard rumors that the app server ran on vacuum tubes.

Now at my current employer, I see every small and big company trying to sell COTS product. Half of them are useless since it doesn't meet our requirements while the others are not enterprise enough.

What seems to be the underlying problem? The problem is that service companies, especially public sector centric companies, tend to spend more time creating the product for a client and are not geared to market the product or give it enhancements to keep it technically fresh. This was recognized by my esteemed colleague Gene Gotimer a few years ago.

The other major problem I see is that companies that want to build cool products rely on open source products. The initial cost is minimal, however a great price is paid to have smaller iterations of technology upgrade. How many products that you know of, which are built on Microsoft, IBM, SAP or a major vendor's infrastructure, have disappeared from the face of the earth? Not many, but you have to upgrade your product technology stack, otherwise you may end up with a robust Microsoft Visual FoxPro application. How many of you have worked on FoxPro? If you did then you must have had a mullet in the 80's.

The beauty of the cloud technology is that it will force companies to keep up with the technology upgrade otherwise the cloud provider may not support that old FoxPro app. Does Amazon EC2 support FoxPro? I didn't think so. Back to the mullet issue, just kidding. The cloud computing technology model may actually assist the services centric vendor to build boutique products. If it becomes a popular product then the cloud vendor may buy it from you. If that happens then you can be proud that you are now trading your keyboard for some car keys. Car keys to your brand new Ferrari. At least that is what every caffeinated developer dreams about. ;-)