Redmonk analyst Stephen O’Grady uses Facebook and Twitter as a guide for the future of development. Is your company ready to follow the prescribed guide?
In the post “Beyond Cassandra: Facebook, Twitter and the Future of Development”, O’Grady reaches the conclusion that since enterprises are beginning to realize that data is their most valuable asset, enterprise IT departments are should revisit their application development methodologies. Specifically, only invest application development resources in applications that will differentiate one’s business from their competitor.
O’Grady points to the fact that the vast majority of enterprises historically wrote their own CRM or ERP applications, but don’t do so anymore. Enterprises are differentiating elsewhere in the business process, or have found ways to differentiate by customizing off the shelf, and increasingly, open source, packages.
Some may argue that Facebook, Twitter, Google, Amazon and Yahoo, whose application development practices O’Grady uses to draw his conclusions are, frankly, a little different than a typical enterprise. But, these firms built strong businesses using development methodologies that have trickled down into the typical enterprise.
The use of open source, the emphasis on good enough, or the notion of convention over configuration, or the use of dynamic scripting languages, are all finding their way into a traditional enterprise. These development trends grew out of web native firms. If next generation enterprise application development is to resemble the practices of web native firms, O’Grady suggests that your enterprise should be ready to:
- Default to Open Source
- Use Permissive Licensing
- Use Third Party Project Hosting
These are three of the five predictions O’Grady makes. Let’s consider these three as they will be the most difficult for enterprises to accept.
Plainly put, if there is no competitive advantage in developing an application in house, look to open source it using a permissive license into a third party hosting site or foundation such as Github or Apache.
A permissive license, such as the Apache License, and external hosting will help others, possibly in your industry, find the application, and fingers crossed, contribute to evolving the application. The end result is that each enterprise using and contributing to the application benefits from spreading the development costs.
Well, that’s the theory. Putting it into practice is an altogether different issue.
This new development model requires a major shift in line of business and IT decision maker mindset. It’s one thing to use an open source product, such as Linux or Alfresco, within your enterprise even whilst knowing your competitor is doing the same. It’s entirely different to open source, for instance, your custom developed partner on boarding application, and watch your competitor being to use the application also.
Considering the level of purchased applications in the enterprise, the only true application development occurring should be on applications that differentiate the enterprise from competition. Is that truly the case at your company – you can be honest; your CIO isn’t reading over your shoulder.
Through no intended malice, enterprise IT departments continue to devote application development resources on projects that differentiate the business, but not to the degree that a project higher up the application stack would.
Let’s assume you take a serious look at your application development investments and, as O’Grady suggests, validate that they increase your company’s differentiation, and by how much. This results in an ordered list, with high value application development projects at the top of the list. What can you do about the projects at the bottom of that list?
Before open sourcing the project, consider whether it would in fact be easier stop internal development on the project and use an open source or commercial off the shelf product in its place.
If open sourcing the project is the desired route, ensure that your company actually owns the Copyrights to the source code. Some enterprise developers unwitting utilize open source code within internal projects without consideration for the associated license. They assume, since the application will never be distributed outside of the company, the requirements of Copyleft licenses will never be triggered. In parallel, reach out to others in your industry to gauge interest in contributing resources to the potential open source project.
I almost dismissed the idea of competitors working on an open source project together. But then I remembered this happens all the time in the software industry. For example, IBM and Oracle both work on the Apache HTTP Server project because it allows both companies to save development resources versus building an HTTP Server internally. The saved resources are used on higher value products higher up the software stack. Also, if world wide banks are willing to create a technology buyers consortium in order to negotiate more effectively, why wouldn’t these companies collaborate on open source application projects – especially for lower value applications?
Follow me on twitter at: SavioRodrigues
PS: I should state: “The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions.”