Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

At the company I work for we need a CMS.

We have to choices, first one, work with an existing CMS ( Drupal, Joomla, whatever ) or develop our own.

I know for sure that developing our own is the right approach. We need all the flexibility we can get, and developing our own is the best way to accomplish this.

But I need to sell this based on ROI to upper management ( my boss ). Basically in terms of time and money. I can convince upper management that developing our own is the best way to go even without mentioning ROI, but I would also like to present this data to him.

So I'm trying to investigate on the ROI of using already existing CMS solutions VS developing our own customized CMS ( based on a open source library or not ).

After a search on google I found this: Choose between a commercial, open source, or customized CMS, but the link is from 2003, it has some truth's, but the world changed a lot from 2003. And I can't seem to find anything else about it.

I've developed my own CMS ( actually I'm still developing it, it's always a work in progress ), so I know it's not the most easy thing to do, and that it takes time.

Can someone give me any tips? On the ROI of one solution VS the other?

share|improve this question

6 Answers 6

You have to be out of your mind to roll your own. It's incredibly more difficult than you think. What problem are you trying to solve? If you infrequently need to roll back a change in one of your client's Web sites, put them into their own source control project. I suspect what you really need is some way to refactor your client code to fork off common code you use throughout. Once you do that, you'll find you can get by with some basic source code tools.

share|improve this answer
the problem I'm trying to solve, is that most of the time, I'm messing with other people code, reading it, understanding it, and changing it to suit my client particular need's.. etc etc, instead of actually writing some code, with my own CMS ( which is already done ), that doesn't happen and I have all the flexibility I want.. with an existing CMS we already have some restrictions in place.. –  Tio Mar 14 '11 at 22:51
I can't agree more with @SnoopDougieDoug. Here is something to think about in terms of ROI: There are ~ 50K developers actively developing Drupal (per some Drupal experts I've spoken to). And there is one of you. Not saying you can't do it, but think of the disparity here. Look at an existing CMS, and extend it. You will save time and effort, and might have some ROI to show for it. Good luck (-: HTH, KM –  KM. Mar 19 '11 at 12:28
+1. Drupal, Plone, Joomla!, etc. are complex because they need to be complex. You spend a lot of time "messing with other peoples' code," but they may have solved problems you don't even see yet. If you end up writing something as good as one of the extant CMSes, you will have written something just as complex as the extant CMSes, which will take you years. –  syrion Mar 19 '11 at 19:59

Tio, here's what springs to mind:

First of all, ask the question: "What business are you in?". Are you in the business to be rolling out products developed from scratch? If not, I'd capitalize on what is already out there. Drupal is pretty popular and having worked in a previous company that opted to roll out their own CMS, a lot of our potential clients refused to purchase our product because we developed our own from scratch, thus tying them to the company. There is a a strong Drupal community and a reasonably good collection of plugins for you to make use of. With that being said, taking that and concentrating on your business focus will pay off well.

If you write your own CMS, you need to deal with bug fixes. What if mainstream CMS products have a feature that yours doesn't and they want it, you need to update your product, which costs time and your customers will take it for granted it's already there for free like the mainstream CMS solutions.

If this was a niche market and secondly, if such a market wasn't saturated with CMS products, I'd say writing your own would yield a strong return on investment. Since that is not the case, I'd think several times about the added strain I'd be taking on by 'doing my own thing'.

share|improve this answer
Actually I think we are, we have developed a few custom Web apps for some of our clients.. It's curious ( for me ) that some of your company's potential clients refused your services base on your customized product. Most of my clients don't even know what is an CMS... –  Tio Mar 12 '11 at 21:57
Tio, this can be the case. And if it is purely for internal purposes, you can take the client issue out the equation. But with Drupul, Joomla..whatever, you've got a strong support community out there. If neither tool does exactly what you need, take one of the existing tools and adapt it and if you want, contribute it back into the community. –  Desolate Planet Mar 12 '11 at 22:09
I've seen so many examples of stuff written from scratch: CMS tools, databases, web frameworks to the point where I've felt physically ill. None of these products seemed to deviate substantially from what was already in an existing tool that was open source. Plus, in those occasions, they had to deal with all the bugs and support issues associated it with. It may seem attractive in the beginning, but in the long term, it may bite you. This is just my opinion based on what I've seen. –  Desolate Planet Mar 12 '11 at 22:12
It's not for internal use ( I edited the question to include this ). Joomla no way, I would quit on the spot.. but you make an excellent point.. specially with the updates and bug's on the system. –  Tio Mar 12 '11 at 22:41

It took me about a month of weekends and evenings to get as comfortable with Drupal as I would be with code I wrote myself, and I hadn't done any web programming in a decade or so before that. Someone who does it full time all the time should be able to come up to speed much faster. It would have probably taken 6 months to a year working at the same rate to get the same number of features into my site starting from scratch. Instead, I spent almost all my time working on the differentiating features that make my site unique, rather than reinventing functionality that everyone expects to have.

There's a reason websites in general are much higher quality than they were in the late 90's. It's because with the exception of very large corporations, only amateurs start from scratch anymore, and not even all amateurs. Certainly your most successful competitors won't forgo that advantage.

share|improve this answer

I would say build your own because the users are mainly developers, so you don't need the most robust bullet proof system as long as it doesn't take too long to make data entries. Hopefully a group of developers at a small company isn't going to try and do a sql injection to your own CMS.

However, you made a comment about the perils of 'taking shortcuts' so I feel you may be inclined to over-engineer the app. Your boss probably feels the same way. He may agree only if you can slap something together quickly. You will want to build it right.

Find something everyone will agree to use. Don't spend too much time shopping around. If you feel you can work with a free product, go with it. This gives you the best chance to get some ROI with little risk. As you grow and the members of your team begin to utilize content management and could benefit from a better app, you can take the time to find one or build it yourself.

I'm assuming getting one up and running is what is important at the moment.

share|improve this answer
if I have to slap something together quickly I'm not going to do it.. that is only going to cause problems.. –  Tio Mar 12 '11 at 21:54

So here's your two options.

  1. Build your own system and train internal staff how to use it.
  2. Purchase/download and existing CMS and spend the time you would have spent building your own learning how to use the existing system. Including how to extend it.

I leave it up to you to decide which is the better use of your time.

share|improve this answer
that was basically what I asked but in terms of ROI. –  Tio Mar 13 '11 at 0:10
Sorry, I didn't mean to leave my answer so vague. The existing CMS system will have 10s of thousands of man-hours of code written for it and thousands of users working with it and providing feedback (or more). If you can leverage the existing time invested in an off the shelf product and customize it to fit your specific needs, the ROI should be very quick versus building your own. –  Mike Brown Mar 13 '11 at 0:14
BTW, Spend the money to get proper training on the product. You'll still come out ahead in total cost vs building your own. –  Mike Brown Mar 13 '11 at 0:18

Evaluate some number of the available CMS platforms that seem promising, and see which (if any) come close to meeting your needs. If you find one, use it. If not, start developing your own.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.