Building reusable software - how much effort is required?

Blogged under Product Lines, Software by Mark Dalgarno on Monday 5 June 2006 at 5:00 pm

I think there’s a general misconception, possibly reinforced by the current trend for agile development, that building reusable software is undesirable. 

What leads me to say this is a comment I heard recently along the lines of ‘writing reusable software takes around 10 times the effort of writing non-reusable software’. This didn’t seem right in my view and didn’t resonate with my experience developing and using resuable software libraries or with my work on Software Product Lines.

An article in Dr. Dobbs gives a more reasonable measure of 1.5 to 3 times the effort to make software reusable vs. making a non-reusable version. This is also in line with other figures I have seen although some software may take less effort to make reusable and some may take more.

However, what’s relevant in my view is how much reuse is required and whether the amount of effort is justified. In a business setting the question is whether there is an economic return on the investment.

A number of people are doing good research in this area but past case studies have shown that systematic reuse, in the context of a Software Product Line, has paid off anywhere between two and three instances of reuse. So, if you’re planning to produce two similar products you should consider systematic reuse as an option, at least for some software assets, and if you’re going to produce three or more similar products then you should almost certainly be implementing systematic reuse for most if not all your software assets.

 

Proudly powered by Wordpress - Theme Triplets Identification Band, the girlish style by neuro