Today I met with Greg Sikes, director, architecture and modeling at IBM’s software group.The conversation revolved around reinvention of the wheel. Software developers are encouraged to reuse rather than develop from scratch. But there have been many attempts to get reuse going, and many, many failures. Will the cloud make this easier?
Sikes believes software development should be considered like an automotive production line. A car manufacturer does not build all the individual bits and pieces that comprise a modern car – so why do software developers continue to write their own software when offf-ther-shelf components already exist?
Often the components cannot easily be found easily, there is no “trust” model that can confirm a software component’s suitability for an application (OK we have signed by Verisign but that only confirms the authenticity of the component’s producer) and SLAs for software components are immature.
Some of these issues will hopefully be addressed by taking a cloud approach to software development. Apple AppStore and others, are showing how to create an application portal. It is only a matter of time before a rich online software component portal appears. Adobe, Google, Microsoft, the Java and open source communities and IBM are all probably working on this right now. In fact, Microsoft’s “Dallas” initiative, is a step to make data and information sources easily available to software developers through an online portal.
With suitable vetting, SLAs and certification, there is no reason why a software component portal cannot succeed in getting developers to reuse code.