Recently I have been working with a large set of talented programmers that lead to a discussion on when should we start building our own components (web js/css) vs downloading and modifying existing components that don't quite fit the needs of a project. Does anyone know or could suggest best practices for this type of conundrum?

  • 4
    When the cost/benefit analysis indicates that one is better/cheaper than the other.
    – Caleb
    Commented May 23, 2013 at 20:50
  • Beware of Not Invented Here syndrome. Commented May 23, 2013 at 20:59
  • Generally, I try to avoid investing (which is what building is) in something that is not a core competency. In other words, is the component something that your company specializes in, or is it just a consumer of it like any other company would be a consumer of it?
    – Brandon
    Commented Dec 27, 2016 at 3:37

1 Answer 1


There are a few different considerations that come into play when we consider it for our company, as listed below:

  1. Cost - Is the time cost for modifying it going to be greater than the time cost for developing outright? Not all components will be easily modifiable, and if it would take 8 hours of development time to custom build versus 10 hours to modify, that is a factor.
  2. Control - The component must be available with source code and modifiable.
  3. Licensing - If there is any cost, is there a one time cost? Or is it ongoing? If it is free, is that only for private or single use? Or is there a fee if it is for a commercial application?
  4. Branding - Depending on the component/programmer, they may specify that their accreditation either stay commented in the code, or be displayed on the website/application. You have to determine if that is acceptable.
  5. Coding standard/documentation - The code may work, but if it is incomprehensible and/or poorly documented, it may cost more time to rework that portion than it is worth.

Those are the primary things that we consider when looking at developing, versus outsourcing or downloading available components.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.