Using external components
In the process of developing the “software” for Notifixio.us, I am facing a question that many start-up are facing up at some point : what should I re-use and what should I build from scratch? There exists tons of pieces of software that one could use in their app, in order to avoid re-inventing (or at least rewriting) the wheel. Notifixio.us is a Ruby On Rails application and benefits from a very broad and active community, which builds dozens of gems or plugins everyday! Both strategies, have their pros and cons.
Using “external” software components
- Very very quick (no dev, no unit testing…)
- Maintainable easily : if the software component is updated by its provider : you get the update for “free”, development-time-wise.
- The code you’re using might very well happen to be better that the one you could write (at last in my case ;p)
Building from scratch
- There is little chance that you find the exact piece of code you’re looking, in terms of functionalities, speed, … if you build from scratch, you can develop exactly what you actually need
- You “own” the code, which means that technology can be one of the very precious barriers to entry that start-up need to build as soon as they can
- You don’t rely on someone else’s technology… which can be problematic if the code is bugged, slow or not maintained anymore
What do you think is the best approach? How do you mitigate the pros and cons of each solution?


Add New Comment
Viewing 7 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks
(Trackback URL)