Top reasons why systematic software reuse efforts fail

There are several reasons why software reuse initiatives fail. And believe me there are quite a few well researched reasons out there!  In my experience here are reasons why software reuse efforts fail:

  • Lack of leadership and vision for making the effort work within the organization’s politicafailure1l and cultural context
  • Lack of alignment with what your business sponsors are trying to accomplish
  • Overly ambitious big bang approaches where lot of big upfront design efforts are spent
  • Wasted efforts on what i call horizontal software assets instead of domain relevant vertical reusable assets
  • Not spending time learning the variations in your domain and what needs to be manged in a flexible manner
  • Inadequate attention to the needs of production support staff when a reusable asset gets used across projects
  • Pursuit of perfection rather than staying pragmatic to meet immediate and near term needs
  • Focus on the technical aspect of software reuse at the expense of everything else
  • Inadequate effort spent on performance testing and capacity planning to accommodate for increased use
  • Not enough emphasis on the quality of reusable assets – e.g. exception handling, simple interfaces are all key
  • Time spent creating and maintaining a reusable library instead of influencing and persuading development teams
  • Lack of awareness or communication about what reusable assets are available
  • Inadequate guidance with leveraging exiting or building new reusable assets
  • Developers like to build stuff and reuse is perceived to rob them of the opportunity to solve tough problems
  • Development managers are nervous about making something reusable since it will add schedule risk
  • Upper management isn’t convinced that reuse has potential to save the organization resources or help release high quality products to the market sooner
  • Lack of clarity around reusable asset ownership. Not addressing tricky questions such as – who gets to own it after they get created? who will maintain them? who will support the software asset in production?
  • Little to no metrics on what is reused, what kind of assets are needed, those that already exist etc.

This isn’t meant to be an exhaustive list but was meant to highlight a key point about succeeding with systematic reuse. Even if you forget everything about this post, I would like you to walk away with one idea which is that technical reasons are typically not why reuse initiatives fail. Technical excellence is a necessary but not sufficient condition for succeeding with systematic reuse. There are a whole host of other reasons why reuse typically fails.  It is prudent to pay attention to George Santayana’s reminder that,”Those who cannot remember the past are condemned to repeat it.”

Like this post? Subscribe to RSS feed or get blog updates via email.

add to del.icio.us: Digg it : post to facebook: Stumble It! : :

About these ads

One Response to Top reasons why systematic software reuse efforts fail

  1. [...] of applications « Software Reuse in the Real World on Manage variations in your domainTop reasons why systematic software reuse efforts fail « Software Reuse in the Real World on Horizontal and Vertical Software AssetsSquidoo Lens Launched « Software Reuse in the Real [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: