Software System Leveraging – Revisiting Code Reuse
In the early days of software development, code reuse was commonly touted as a key practice to realising cost benefits and optimising IT efficiency. So much so that software houses would dedicate teams to producing reusable code libraries. Times have changed and this is no longer the case. However, now that the development landscape has evolved and many changes taken place in software best practices, from agile to test driven development, it is probably now time to reconsider software reuse but from a different perspective.
As we know, software libraries (the boilerplate code) supporting the key system functional areas from configuration, to data transfer via scheduling are readily available in both open source and paid for licensed format. So code reuse is truly alive and well represented with the days of dedicating teams to produce these types of library suites consigned to the history books. Therefore pushing code reuse in itself is not addressing the question of how to reduce development cost.
The approach should now turn to system reuse or rather system leveraging. The big costs in system development are not necessarily the software development itself, but instead in a number of hidden processes including; hardware procurement, installation and commissioning, system support and release management.
System leveraging is about reusing what is already in place in production environments. An example could be leveraging an existing business system that is being used for measuring the credit worthiness of customers. This system is already in production, therefore removing the (often) heavyweight processes already mentioned. It is likely to have batch scheduling already in place along with a knowledgeable support team capable of managing day to day operation and controlling release management. It is also likely to have key business reference data available for processing purposes. This is a prime candidate for system leveraging.
Back to the objectives of realising cost benefits and optimising IT efficiency, the driver needs to come from the business and focusing on system reuse in terms of system leveraging. However, to achieve these goals IT has to be adopting some important best practices to successfully and continuously deliver value. If you would like to find out more about system leveraging and the practices that must be undertaken for IT to support your business get in contact with us.
If you like this article, what about tweeting it or recommending it?