Article Idea:
Reusability - good or bad
suggested by Alok Jain on 2005/12/08
We have been working on a large CMF development for last several years, over the years we have developed about 50 reusability components (Widgets/portlets) which drive about 3000 sites. I am sure all CMS implementations focus on building re-usable components. Question is if this is good or bad. If see both sides of such approach:
Base Scenario:
Centralized development of re-usable components, De-centralized use of these components.
Good:
1. Development time is reduced
2. Maintenance is reduces
3. Promotes consistency
4. Detaches Presentation layer from content publishing
5. Code size reduction (for CSS and JavaScript files)
Bad:
1. One change affects large number of online assets
2. Quality assurance costs high for any global (or close to global change)
3. Restricts flexibility
While there can be several more points written above, the key points this note focuses on is “Costs of Change”, if one wants to change or evolve design there are three factors which make it prohibitive:
1. Monetary costs
2. Stakeholder buying in process
3. Risk of what might break because of the change
Hence I believe re-usability is not an absolute concept, within the business context re-usability needs planning which does not happen very often leading to frictions.
So how does one decide?
1. Centralized working – for organizations which have very tightly managed central function which governs the UI, and other parts of organization only generate content.
Have very high Re-usability
2. Low Decentralization – essentially base design is managed centrally but “white space” is freely available for people to play with.
Build basic elements as Header, Footers, some common re-usable components – lists, image + text and so on. In addition provide a miscellaneous content type and provide a rich text editor. Have a governance policy and guidelines in place to communicate best practices and must haves.
3. High Decentralization
Just focus on basic elements, and then develop additional front end code libraries that can be accessed from content publishing tool, like Code snippets in Dreamweaver. These code snippets are just front end code which provide greater flexibility in whitespace and prevents people from creating workarounds.
Alok Jain
http://www.iprincipia.com
Want to see this idea turned into a story?
7 people said yes. | 0 people said no.

Mark Aufflick
0 Reputation points
Posted 2006/11/18 @ 17:17PM with
It’s not all relevant to your question, but you might like to read an article (and the comments) Lars wrote a while ago Reuse-in-the-large is an unsolved problem.
The thought was based on an article by Robert Glass Facts of Software Engineering Management
Jonathan Baker-Bates
17 Reputation points
Posted 2006/11/26 @ 13:50PM with
Assuming we are not talking about design patterns here, I’m not sure how relevant this discussion is to IA since it seems mostly to be about implementation. Granted, it’s interesting, but is it for B&A?