Enabling Reusable Asset Co-Creation

October 25, 2010

In order to get critical mass for reusable assets, they have to be created and evolved in a collaborative manner across development teams. How can we enable co-creation? Several specific strategies can help:

  • Share the source – ever wondered why open source projects succeed when in-house efforts haven’t? Sharing the source code behind reusable assets makes a world of difference. It increases transparency (with respect to capability, behavior, and quality) and provides an opportunity for the developer community to participate in the analysis, design, and implementation activities. More importantly, it enables teams to modify the source per their specific needs and allows them to submit/merge the changes with the main build.
  • Provide detailed documentation for reusable assets that are both available, in-progress, and planned for the future. It can come very handy when there is a design decision to make in a project – time and time again, you will realize the greater the information on existing assets, the easier it becomes to enhance/change them and combine them in new and innovative ways.
  • Explicitly seek participation and design input when creating/updating a reusable asset. This not only increases buy-in from the tech community but also provides new ideas, concepts, and problem solving techniques that the entire department (even an organization) can benefit from.
  • Encourage questions, specially from new members and junior developers – welcome the most basic questions about the reusable asset inventory. Make sure an environment where open, honest exchange of ideas is taking place constantly. Good ideas come from several places and it is critical that developers don’t feel alienated or ignored due to lack of knowledge about one or more reusable assets.
  • Seek out subject matter experts – several developers and business analysts are essential to increase domain relevance, and domain alignment for reusable assets. Pretending to have all the answers or feigning perfection will only reduce the quality of reusable assets and ultimately prove detrimental to reuse objectives.

Several systematic software reuse efforts fail to get off the ground – it isn’t because of inadequate domain variations or severely limiting technology constraints – due to lack of grassroots appeal among the technical community.

Co-creation addresses several issues at once: it exposes developers to high quality coding practices, increases awareness of available assets, and provides a controlled environment to experiment and evolve reusable assets.

Thank You and Call for Participation!

November 1, 2009

Wanted to share with you a small milestone that we recently hit upon: 7500 page views, 3700 syndicated views, and 500 hits on the podcast. Back in March when I started this blog, I had no idea what the journey would be. It has certainly been very exciting and many thanks for your comments, feedback, and continued support!

To mark this tiny milestone, I am planning a new series of blog posts titled Reuse Recipes. These will be similar in spirit to recipes found in O’Reilly Cookbooks and will be focused on systematic software reuse – covering organizational, process, and technical aspects.

I am requesting contributions for this series from you. Your voice is important and your input is extremely valuable. Your contributions will be put up on the Art of Software Reuse site and fully acknowledged as your work. Additionally, they will get included in the bi-monthly newsletter publication. I am more than willing to hear your ideas on additional ways to syndicate, share, and communicate this material.

Interested? You can leave a comment or send an email to artofswreuse@gmail.com. Please respond by┬áDecember 15th 2009. I’m looking forward to your participation!

%d bloggers like this: