This is a question that comes up quite regularly for me – when do you code a custom application and when do you use an existing solution, be it an off-the-shelf product or code from an open source project? I’m sure lots of other people struggle with this at times too.
In general, if something is available that does the job and it’s in the project’s budget, I prefer not to reinvent the wheel. I’m guessing that most development shops would have the same approach.
This came up last week – we have a quite large project that we’re planning to custom write in Fusebox, using some code from previous Fusebox projects. At a planning meeting, the question was asked, “are we sure it wouldn’t be better done using FarCry?”
In this case we had discussed this before, several times in fact. We’re really getting into FarCry, but this project would have required lots of custom types and would not have made much use of the built-in types. Plus there’s not a whole lot of static pages.
Much as we’re liking FarCry, content management systems capable of catering to complex situations tend to be quite complicated – and user training is definitely required! In fact, we’d be hesitant to roll out a FarCry solution of any size or complexity to an organisation that didn’t have their own IT support staff. There’s just too much going on in it.
When we first started doing the Perth International Arts Festival in 2002, we did not know of any open source content management systems that would have been suitable – and as it’s sponsorship, a commercial CMS was definitely out of the question. I’ve had people tell me we were crazy to write a custom content management system – but looking back with the benefit of hindsight, I still think we made the right decision. The staff turnover at the Festival from year to year, the complexity of the system and the constant quick changes we need to make to cater for new and unexpected features mean that an off-the-shelf system, even one as cool as FarCry, would be too restricting for us as developers, and too hard to learn for the content contributors. We’ve done some amazing stuff and as I’ve previously mentioned, many of the core fuses have never been modified in four years of operation. And believe me, it’s dead easy with simple step-by-step hand-holding forms the whole way through.
On the other hand, I hear people sometimes say “I’m thinking of writing my own CMS” and I just think “why?”. There’s so many out there, that unless you’re really filling a niche I think you’re wasting your time.
What do you think? Do you have rules on when to build and when to buy? Would anyone consider writing yet another complete CMS these days?