Companies Have Failed To Reuse

I don't think that ReuseHasFailed; I think that CompaniesHaveFailedToReuse.

I have had several enlightening experiences with reuse. In one company, I had enough freedom to plan my own projects, and I and others practiced reuse extensively. The libraries I created were used by other developers and saved them and me a huge amount of time. Yet the company failed to foster reuse more widely. I think the article that is mentioned in ReuseIsNotFree (http://www.informationweek.com/708/08iuhid.htm) is very good (for a newspaper article). I agree with many of the points there.

In another company, I had a different experience. With persistent disregard for reuse, they just invented the same wheel over and over and over -- and ended up with a heavy maintenance burden.

I believe that reuse on a large scale can work, but that a couple of preconditions must be met. This is where many companies fail. Often, reuse is restricted to the desks of the smarter developers in the company -- and sometimes even they get in trouble because managers don't understand the value of reuse at all. Often lack of reuse by other developers is rewarded. In such a climate, it is natural to think that ReuseHasFailed -- but in reality the CompaniesHaveFailedToReuse.

Companies are led astray by the question: "How much will it cost?" I am just about to write a more detailed article in German (sorry!) about this topic and put it on my Homepage.

Now, my article TheMythicalManMinute is online.

-- JuergenLindemeyer

As explained in AreBusinessAppsBoring, many companies don't want to deal with the higher level of skill needed for good reuse. It goes against their push for PlugCompatibleInterchangeableEngineers. Effective reuse requires more skill beyond merely making software work, and companies don't want to pay for that. Perhaps it is irrational, perhaps it is just appropriate FutureDiscounting.


I was once in a meeting with a customer when the manager demanded that a software we would be writing would be reusable. We suggested this would increase the cost of the project by about 20%. I remember the curt reply: "Reuse saves money, the project should be cheaper". We pointed out that the next project could save money, but this project would have to do extra design for that possibility. The response: "Okay, forget about it, then."

Perhaps he meant intra-project reuse, in other words, decent factoring.


I am working now on a reuse initiative in a big company, and it is already clear that the initiative will fail. We are basically intending to duplicate knowledge available on the public internet in the intranet. Also, the intent is to do all this in heavily managed and controlled way, where we expect people to use the things that we figure out. Therefore, this initiative is by its own actions actually completely anti-reuse. The most important aspect of reuse is to be willing to use someone else's stuff. Another component is to be proud of your own work and willing to share it. Also, another success factor is the absense of central control. Creative processes in the internet work in the same way why should it be different in a big company?

May I suggest HelpersInsteadOfWrappers: micro-frameworks that one can copy and rework if they want without committing to a big scary feature-creaping blob. Perhaps put them in a code wiki.


CategoryReuse


EditText of this page (last edited November 7, 2007) or FindPage with title or text search