e

Like what you see? Let's talk about how we can help your business. Contact Us -->

The DIY Paradox

The DIY Paradox

Recently, a project came up that required the addition of sub-domains to a stock install of WordPress. This feature is not built-in to the software, but faking sub-domains and fiddling with redirects is something I’m familiar with. I figured I could crank out a fix in about a half hour, so I opened up my code writing program and then closed it immediately. That brings me to my topic for today:

Never build anything from scratch.

When I think of the perfect software programmer, I think of Paul Sr. from American Chopper:

Burly muscles? Check.
Awesome mustache? Check.
A mastery of outsourcing? Double check.

What the custom chopper guys do best is outsource the development and maintenance of technology–not to India, but to other companies who specialize in that technology. The engine, the wheels, the chroming process, everything on their bikes are purchased from vendors and assembled in a way that maximizes their combined value to the customer. Nowhere along the assembly line does the process come to a halt because Mikey has decided to reinvent the wheel.

In the world of programming, however, there’s one of those guys in every shop. I’m going to give a few reasons why the American Chopper way of programming is better than the other “reinventing the wheel” type.

It’s Cheaper

The most expensive development resource is time. Every man-hour that goes into developing software is one that you pay for, and every day that your business is waiting on custom code, is another day that sales are going elsewhere. Many programmers, myself included, underestimate the scope of tasks. When writing code from scratch, there are hundreds of details that only bubble up to the surface once the project is half-way up s-creek.

I take every estimate I hear from a programmer and double it. If you’re trying to compare the cost of a product created from scratch vs. one bought off the shelf, triple it.

Think about it like this, you wouldn’t pay a programmer to write a word processor for you or an Internet browser. Why pay one to write your lead management software or a CMS? It already exists, and if you can’t find it, hire a developer to look harder.

It’s Better

I’ve talked to countless clients who’ve wasted tens of thousands of dollars on elaborate custom systems that they could have basically gotten for free. If only their developer had followed rule number one: never build anything from scratch. The kicker is, the free version is usually better!

RSS feeds, API access, built-in security, user administration, exporting, importing, custom alerts, and dozens of other features they hadn’t even thought of yet already existed on available frameworks and software packages. Better yet, they’d been designed for users with similar needs.

Whether it’s an expensive tool set or some freebie plugin, it’s always good to have more features than you’ll use, and it’s always bad to spend more and get less. I’ve seen Paul Sr. kick a door off its hinges for less than that.

Check.

It Works

Ready-made software comes with a pedigree of beta testing. That doesn’t mean your finished product is going to win Best in Show, but it does mean that your finished product won’t leave everyone in the company scratching their heads and wondering what the hell to call the thing.

Ready-made tool sets have forums and communities of similar users who’ve faced similar problems. No solution made from scratch can boast that. Even some of the smaller commonly-used open source projects have hundreds of active beta testers–and yes I realize that sounds like calling Reno the biggest little city in the world, but it makes sense if you’ve used something like FullCalendar. A product built from scratch has only one group of beta testers: your customers.

Software built on pre-existing solutions is going to do something right out of the box, and in a business where user interface is the difference between sales and abandonment, the sooner it works, the sooner it can be refined.

It’s For Sale

In addition to the testing and maintenance, there is one big added benefit to using pre-built systems: new customers!

Look at the most popular plugins for sale in open source web applications like WordPress, Joomla, or Magento. These plugins started out as a developer’s attempt to add something they needed to an open source system instead of developing that system from scratch. Interestingly enough, those systems themselves (WordPress, Joomla, and Magento) were built on existing software packages in a similar fashion (b2, Mambo, and osCommerce). And the tool I used to look that up, Wikipedia, was itself built on a pre-existing application called Nupedia.

The point is, any improvements you make to a ready-made product or service becomes a product on its own. If it helps you, there are other people out there who would use it. And that brings me back to my original point.

The DIY Paradox

When the WordPress subdomain project came up, instead of starting from scratch, I searched for an existing solution that could be tweaked to fit our needs. What I found was a plugin that worked perfectly. It didn’t even need to be tweaked, and when I went through the code to find who to thank for this feature, I found something funny. The plugin (WP Subdomains) was based on another plugin I had written from scratch years ago. So I guess you are allowed to write things from scratch after all, but only if you already did.

———————————–

Follow BlueGlass on Twitter here or connect with us on Facebook here.

Want to Get Inside?

Become a BlueGlass Insider Today!

  • Be the first to know about BlueGlass events, meetups, and surprise releases. Before they’re made public…
  • Exclusive access to the latest tools, tips and must-read posts.From people who have been doing this for years…
  • Insider perspective on the latest trends in digital marketing. Info that you won’t get anywhere else…

Enter your email below to join for free!




Comments

  1. Dax, well said and a great lesson for anyone. I used to be the “I have to do everything” type of person but was always overwhelmed with all the ideas/tasks I had littering my notebook.

    Once I learned to let go and depend on niche experts, my business started to flourish…and my project list became much more manageable.

  2. Dax, I could not agree with you more. I learned this lesson a long time ago, yet I still see companies trying to build their own “proprietary systems in house, constantly! My mantra has always been to not reinvent the wheel. By just taking 15 minutes to search around Google, 99% of the time you can find something that serves your needs. I still cringe when I think back on the hundreds of thousands of dollars spent on stuff that still does not work properly!

    I think that this malady comes from the idea that if you are building a company, especially if it is a professional services company, it is difficult to appeal to investors or potential buyers of the company without any tangible assets. You need “technology” that sets you apart and that is a real asset.

    But I think in that scenario companies need to take something that is already out there and build on top of it. look at all of the successful Twitter app companies out there. I’m talking about the ones that offer better tracking for marketing on Twitter. These companies are not perceived as threats to Twitter, and therefore do not have to worry about getting their access pulled (like Tweetdeck), but rather Twitter sees them as allies. And they are all built off of the existing Twitter platform.

  3. Jim Rudnick says:

    @Dax….

    the programmer’s mantra comes to mind – “repurpose, repurpose, repurpose….”

    :-)

    Jim

    PS spot on post here lad!