Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why to build own CMS? [closed]

Tags:

On my first job interview, I was asked why did I build my own CMS? Why not to use one of existing CMS, Wordpress, Joomla, Drupal...? At first, I was stunned. I couldn't immediately recall all of my reasons for building my own CMS, but this was definitely one of the main reasons: It's my code and if I want to change something in that CMS (which I often have to do, because each website I build needs CMS with different functions) it's not a big problem. For some time I've been using Wordpress and one of the main things that distracted me from using it was discovering bugs in code that wasn't written by me and this bugs were often, especially if I made some changes to CMS or added a plugin...

Here, I can find these 8 reasons why NOT to build own CMS:

  1. It won’t meet users’ needs

  2. It’s too much work

  3. It won’t be a standard solution

  4. It won’t be extendible fast enough

  5. It won’t be tested well enough

  6. It won’t be easily changeable

  7. It won’t add any value

  8. Create content, not functionality


Quote from the same page:

So the main question to ask yourself is: ‘Why am I really trying to re-solve a problem that has already been solved before?’


Well, I definitely agree that it's hard to invent CMS that hasn't been already invented, but on other hand, I think every CMS is (or should be) individual... it maybe won't have a million of functions, it will have 3 functions but their usage will be clear (to a user) and do all that one site needs to have. I think also that it is not good to give to a client a CMS with a lot of functions that are never used and it looks probably more professional when website and CMS together look like one product.

I would also like to comment some quote parts:
"It’s too much work" - I agree, but when using existing CMS and customizing it to website needs and can sometimes be very hard job or mission impossible.
"It won’t be easily changeable" - I disagree with this one.

What is your opinion on this one, why did you develop or didn't develop your own CMS?
Ile

like image 743
ilija veselica Avatar asked Apr 06 '10 20:04

ilija veselica


People also ask

Should you create your own CMS?

You should absolutely build a CMS. So, whenever you make a change or add a feature to the CMS, you have to consider the effect not just on your product, but on all the products that may be tied into yours.

Do companies build their own CMS?

There are dozens of content management systems for sale, but publishing companies like ours are building their own.


1 Answers

This is an interesting question that applies to most development, not just when building a CMS.

In general, I would say that it's a bad idea to reinvent the wheel (and most of your 8 arguments are correct in most cases), but there are exceptions. The first one that comes to mind is one from Joel Spolsky, In Defense of Not-Invented-Here Syndrome:

If it's a core business function -- do it yourself, no matter what.

The point is, if you're making your money directly from building content management systems, you should not take one from someone else and tweak it until it fits you. You'd rather be in full control over your own product.

Edit:

Also, don't forget that the urge to reinvent things stems (among other things) from a fundamental law of programming:

It's easier to write code than it is to read it

This does not mean that we should take the road that appears to be easier but it explains why we fall for it. Take the challenge and actually read some code, rather than write it, from time to time.

like image 143
Jakob Avatar answered Oct 20 '22 02:10

Jakob