You walk out of a sales meeting with a new client holding a signed contract for a new community portal web site. Problem is, they balked at your 12-week development timeline. To save the deal, you agreed to their requirement for a 4-week turn around. Does considering an off-the-shelf CMS solution make you lose street-cred?
There’s a great deal of pride and ownership that comes with managing or developing a hot new 2.0 app from inception to launch. Teeth are cut and skills are honed on projects that start from wire frames on napkins. Coders mature into developers and engineers while segmenting persistence layers and devising security frameworks.
But there are a host of reasons why a CMS such as Drupal may be the best tool for the job. Consider these important facts to get you over any nagging feelings that you’re cheating.
Paid projects do not require the most complicated solution.
Good developers and designers have a common trait, the undeniable thirst for learning the next big thing. Although the majority of the work is done for you, developing a custom solution for a client using a CMS is not cut and paste work. Everything from custom modules, theming, and optimization will still be required. There is always room to play, experiment and grow.
CMS applications do not have to all look alike.
Customized themes are one of the most important features of Drupal. With the power of custom PHP and CSS, your client’s site can be a completely original product.
Manage your core resources: developers and timelines.
It comes down to the numbers. Say your design shop lands 10 very complicated, high-security custom application jobs and 10 community sites in a year. With Drupal, the 10 community sites can be launched in the amount of time that would take a from-scratch site to reach UAT. How much more effective will you be at managing recourses for the other 10 products?
The client is signing the check.
We code because we love to. But we still need to pay the mortgage, the lights and our employees. The sooner your current project goes from lab to launch, the sooner you can cash the check for the final 50% of the contract.
Maintenance costs, not pays.
If you negotiate a maintenance agreement with past project, you may find yourself ripped away from new development every time copy needs to be modified. Maintenance should occupy your attention with things break, not when someone finds a misspelling in the About Us page or when the CEO gets replaced. Let the client update the day-to-day copy with a mature CMS application so you can do what you do best, develop new solutions.
Drupal, is a mature product that is well supported.
Drupal just released their most recent iteration; community contributed modules are posted regularly. Drupal has a passionate and loyal following of developers and administrators around the glob. These products are not going away.
A mature, open-source, off-the-shelf product is generally more secure than banging out authentication code from scratch.
Unless you are a highly skilled security engineer, leave the authentication algorithms to the security development community. An entire group of dispersed professionals pouring through code will evolve a much more secure platform than just one developer assigned to log-in code.
In the event a security flaw is discovered, it would be a more efficient use of your time to apply a patch to 10 CMS installs than sifting through 10 different sites with custom authentication code sets.
The faster you can launch, the more sites you launch. The more sites you launch, the thicker your portfolio.
You may be thinking that putting a CMS-developed project in your portfolio is cheating to the n’th degree. The fact is, you provide solutions for your clients at a reasonable fee and timeline based on the complexity of the project. In many cases, the client doesn’t particularly care what methodology you use to complete their work, so long as its professional, reliable, responsive and meets their requirements.
Conclusion, try Drupal and be proud of it.
Drupal might not be right for every occasion. But don’t let misconceptions or ego keep you from doing what’s in the best interest of your clients and future development prospects.
If you’re still on the fence about trusting your client’s project with portions of code you didn’t personally write, consider the larger scope. Prototype, Dojo, Ext, YUI, MySQL, PHP, Rails, .Net are all tools we use in our products, all written by third parties.
You didn’t write the browser either.