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?
3
There are a few different considerations that come into play when we consider it for our company, as listed below:
- 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.
- Control – The component must be available with source code and modifiable.
- 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?
- 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.
- 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.