Here’s the scenario:
You are on a tight deadline, and you need to ensure the greatest quality product with the quickest turnaround.
The decision now is whether or not you have time to finish the project! What are you going to do if you don’t?
Well for starters if you’re a freelancer you don’t get paid or if you are employed you get severe stink-face from your boss or supervisor! You now must decide whether or not to use a third-party program or framework. Here are some cases where you should add in a third-party library when you are on a deadline.
#1. You don’t want to “Reinvent the Wheel”
Programmers love, love, love this phrase.
Basically when you have to make a cool effect or need to have your application compute or create a very mundane task, chances are someone else has already done it. Even better, chances are so many people use it that it is included in one of the popular frameworks that your language of choice can utilize. For instance, you may have seen a cool drop down navigation system, where you hover over a menu and it expands downwards with more options (often with cool fading or animation effects). These can be found everywhere from Facebook and Gmail to sites like Last.fm.
#2. You need to minimize development time
Luckily, there are several frameworks like SilverStripe, YUI library, Joomla, and even WordPressthat make it simple and easy to integrate and marry your technology into one user-friendly, feature rich site!
#3. You are behind
If you are somehow behind on your project milestones or are trying to ramp up for a demo or showcase of your program, app, or website (and I hope you never get behind on your projects … even if you were playing video games), you may have to use a framework.
#4. You have a bug
This last one is an item that few programmers are willing to admit – so you have an app that is 70% done but could use some “polish” – i.e. it has a ton of bugs and is not ready for users. What you need to realize is that a finished product is not finished if it has fatal errors.
You could plow forward with the rest of the build and come back to the bug – but you are running low on time and aren’t sure you will get time. Most often programmers will “stay the course” and see a project out till completion, including knocking out any fatal problems. But there are always going to be times where you need to release an item before it’s ready.
Product marketing or launch dates can dictate whether or not your bugs should be fixed or whether or not you should start using a library to replace your code (and possibly revise your work and place it in a later version). This is a situation where using third-party code can save your butt!
So maybe you decided to use a third-party framework and finished the app … or maybe you went ahead and pushed through your project and completed it on schedule … or maybe you didn’t complete your project on time at all!
Here are some things to consider for your next big thing:
- Using third-party solutions such as libraries or frameworks should be decided on before projects start
- Setting launch dates and demo dates should not be decided until you are around 70% completion – try to avoid agreeing to the final milestone date before you have even started!
- Research any and all relevant third-party solutions during a low work load instead of making the dive mid-project – this will ensure no better usage of your time when you actually need it
- Some third-party frameworks can bloat your program, app, or website, so please be advised that using a giant framework for one little bit might be too much
- Try to compartmentalize the usage of the library, find a “minified” version of the framework, or mod the library to the point where you can just call the specific usage as a function or custom class