Most organizations over time develop a fragmented re-use architecture sometimes called "silos." Silos are independent development streams that rarely share code or re-use services and instead either develop functionality anew every time they need it or borrow from a different stream but never return it for mutual benefit. Re-use is about reducing costs by not developing or supporting numerous versions of the same functionality. Almost every organization with any history suffers from lack of re-use and eventually a massive “tech-debt” that weighs down the enterprise agility.
Companies find they can no longer afford to go down the same silo road when a disruption occurs because there is no capacity to change multiple silos simultaneously. Suddenly re-use makes a re-appearance. Attempts have been made by many organizations over the years to introduce re-use as a common practice. SOA promised to increase re-use and many organizations have achieved some re-use with diligent practice from SOA but it tends to be a top-down approach to re-use. Other organizations do it with mandates and other top-down methods.
An excellent example of Re-Use in practice today is open source. Open source software is designed to be re-usable from scratch because that’s the only way an open source project can be successful. APIs also epitomize re-use.
Re-use is a social act. For people to trust that they can re-use things there must be easy availability and transparency. Simply knowing a service is available is not sufficient to convince people to stake their careers on someone else's code or service. Therefore change and transparency must be incorporated in the model for re-use.
WSO2 Governance Registry and Enterprise Store represent state of the art capabilities to define re-usable entities and to provide an environment for people to communicate, to be transparent, and easily use re-usable entities. Re-usable entities include APIs, Applications, Mobile Applications, Code fragments, Rules, configurations anything that your organization invests time and energy creating.
Re-Use demands that the user understands the risks, roadmap, characteristics and future of any re-usable entity. To know all this you must have metrics and measurements. WSO2 provides the ability to automatically create and track metrics of re-usable entities so everyone is aware of what they are using and the eventing mechanisms to keep everybody informed of relevant information about re-usable entities. All these tools are just part of making a successful re-use culture.
A successful organization that is re-using it's own stuff has a higher level of innovation as people can change common components and see the changes delivered and integrated into all the products that use it quickly. Lower costs and faster time to market as groups can bring projects to completion sooner by leveraging existing technology.