PluggingTheComponentGap

From SPA Wiki

Jump to: navigation, search

This discussion relates to an OT2001 conference session: 1

---

Thanks to everybody who attended the plugging the component gap workshop on Wednesday morning of OT2001 after some champagne and whisky tasting the night before.... Discussions opened gently at first with reality of current component reuse. Suggestions for current reality included:

  • ad-hoc reuse is prevalant
  • source code reuse may be achieved by copy and paste
  • component reuse is largely achieved by libraries, packages, frameworks
  • component reuse is not wide-scale

Picking up the pace, suggestions as to the inhibitors of reuse were many and included:

  • poor component specification
  • lack of development processes with specific reuse hooks
  • lack of standards for component specification
  • lack of documentation of components
  • lack of trust, unwillingness to accept other people's code
  • lack of evidence of testing or test specifications
  • hard to assess offered functionality of components
  • hard to assess performance and other non-functional aspects
  • some components don't offer enough functionality
  • some components go too far and offer too much
  • many components are hard to extend or customise to specific usage
  • component versions are not specified, version dependencies missing
  • Service Level Agreements - who takes the blame when the component goes wrong?
  • Persistence mechanisms are problematic
  • Dependencies on other components are problematic
  • cost / benefit model for a marketplace in components is still unclear

Component based processes with explicit hooks for reuse were explored, and the roles of component suppliers and consumers emerged. Half the workshop assumed the suppliers role, the other half the consumer.

Supplier role suggestions to improve reuse included:

  • standardised component specification, including extensibility mechanisms, dependencies and version compatibilities
  • standardised component certification,
  • a complete package of specification, component, help files, documentation, test scripts, sample usage
  • licencing, including usage cost model, evaulation period, support define through a Service Level Agreement (SLA)
  • effective tool use - cataloguing components in a secure repository

Consumer roles to improve reuse included:

  • Effective tool use - better browsing capabilities and effective retrieval techniques using service catagories and keywords
  • better interpretation of usage examples
  • subscription to notification of upgrades