In the IT marketplace, ‘Re-Use’ was a selling point of the firstwave of Object-Oriented Development, such that software was to be builtas components that could be used over and over again when creating newsystems. I don’t believe that ever really worked out on any grand scalefor various reasons, including resistance from developers who want tobuild everything.
But, the concept ranges farther a-field than OO. For example, withina large company, especially one with many divisions and internationallocations, it is highly likely that the great new system you areproposing to build has already been built/bought and implementedsomewhere else. A new project with a set of requirements shouldthoroughly search its company’s portfolio of current systems to see ifsomething similar already exists.
I am not saying this will be easy, as some companies’ systems nownumber in the hundreds or thousands. It is in fact, one of the fewthings I use intranet searches for. If you can find something thatmeets 75% or more of your high-level requirements, it can’t be ignored.Why? Because if you do ignore it, someone somewhere sometime will ask,“Why are we spending all this money on a new system when X Division hasthe same thing already?” Less cynically (or not), leveraging what yourcompany already owns will deliver the end result to the business fasterthan any other approach and make you look like a star.
(Note that I still am talking about re-use, not ‘sharing’. It mayhappen that you find an existing system that your business area canjust start using, but that is extremely unlikely. There will be enoughdifferences between the way your business area operates, and the waythe current users of the system operate, that trying to rationalize thetwo to make the system truly shareable will be impossible. )
The potential thorn in re-use opportunities is that over the yearssystems have been built in many different ways, and such variations mayimpact any one system’s potential for being copied and enhanced to meetanother area’s needs. You must engage designers and technicalarchitects at this point to evaluate the potential effort to re-use asystem in this way; the answer could be anywhere from small to huge,and you and your business sponsor need to know this beforerecommending/accepting re-use as a viable solution approach for yourproject.
Next Time: “…Buy before Build…”
@dwwright99 on twitter.com