WhyGoSolo

The official plugged in Blog for WhyGoSolo

Build vs Buy: Trade Offs

by Keith Casey on March 26, 2008

Every development team faces it.  There's a major component which although not key to your applicationevery development team has to make the decision... and odds are that you've made the wrong decision... but here's the thing:

Everyone makes the wrong choice.

Wha?

Yes, no matter which way you chose, it was probably wrong...

When we shopped around for a blogging engine for WhyGoSolo, we didn't find a good match.  We briefly reviewed Mephisto and a few others but integrating the look and feel and the User pieces was going to be cumbersome at best and incredibly painful at worst.  It was going to require some hacking at and extending the core functionality and features of whatever system we chose.

The most dangerous part of this one is simple...  although you get a huge amount of functionality quickly, as soon as you start changing and customizing a third-party tool, you've forked it.  Now upgrading isn't as simple as dropping in a new version and testing.  When bug fixes, patches, or security vulnerabilities are disclosed, you can't simply copy and paste.  Each and every patch must be reviewed, tweaked, customized, and decided if it matches with what you've done.  You've created a maintenance nightmare that you can probably never get rid of and you'll have to support forever and ever Amen.  And if the project/company behind it dies...

So what about rolling your own?  Is that just as wrong?  Yes.

We built our own little blogging system for WhyGoSolo.  It started off pretty basic.  Every post had a title, a body, a set of tags, and a single rss feed.  In almost no time, ther requirements grew and we had to support "Publish At", then Archives, then attaching images.  While the functionality has stablized for now, it's created an interesting problem.

So we get all the difficulties fun of supporting a new platform and steadily adding the new functionality that comes standard with a regular blog.  So in this area we get to play catch up... but on the flip side, we get exactly the functionality we want and need and no more.

Generally, I'm pragmatic to the point of telling people "don't build it if it's not your core business".  I believe firmly that the vast majority of us don't have time to support something that isn't part of our business.  We have too many things to do and not enough time to do them.

If you have the opportunity to roll your own... reconsider it.

If you have the opportunity to use an off the shelf component... reconsider it.

Don't worry, more to follow..

Blog

© 2008 WhyGoSolo, All rights reserved