Tuesday, February 8, 2011

How do you evaluate third party controls?

What criteria do you use when evaluating and comparing third party controls? Do you have standard integration and functionality tests?

  • Depends on what the third party control is being used for. But generically I would say:

    • Ease of use and compatibility with environment
    • Documentation
    • Company stability (Not going out of business)
    • Licensing model
  • First we evaluate them on non-technical criteria:

    • Is there a community (at least a forum) ?
    • Is is an active project ?
    • Is there a clear documentation ?

    Then, the main criteria is how well it fits in the encapsulation of our specific features needing to call some 'third party services'.

    That means, we have a clear set of features with empty implementations, needing for a third library to be implemented. If that library forces us to rethink that encapsulation, it is usually not a good sign.

    Finally, we unit-test that encapsulation, not the third party library itself (since it is not our job to support and test outside application!).
    If we do have to evaluate a similar third-party library, all we need in theory is to re-run those unit-test against our features (which call that new library).

    From VonC
  • Another important thing:

    Make sure you can get a copy of the source code, if not free, then at additional cost. If they go out of business and it's an important component to your product, you are officially hosed if you discover a bug.

0 comments:

Post a Comment