I am, of course, talking about software. This is a topic ‘dear’ to my heart since it is a debate we still routinely have (albeit less frequently these days) at work. What has prompted me to actually blog about it though is my recent personal exploits migrating from my old custom-built blog to the well-established WordPress.
So, where do I stand on the matter? Personally, I support the use of custom-built packages, both in commercial and personal contexts. But if you are going to go to the effort and expense (of building knowledge, implementing and, often in a commercial environment, monetary) you need to do it for the right reasons because sometimes custom-built really is the best way. So, as a brief case study, why did I go to the effort of implementing WordPress?
- It is a well established toolset used by bloggers throughout the world;
- As a result, it has a huge online community who have pretty much tried to do anything and everything (so no need to have to find the time to re-invent the wheel when time is something I struggle with!);
- WordPress themselves have a hugely comprehensive library of documentation to get you started;
- They have a publicly available codex, so there is no need to build functions from scratch. As an example, it took me 5 minutes to add the ‘Tag’ cloud to my blog index, but several hours to build the grouping logic behind the same thing on my old blog!;
- OOTB, some basic migration tools are provided, with numerous more extensive plug-ins available if needed;
- The public codex means that other devs out there build plug-ins and share them. All you need to do is copy a folder on to your web server and install through the Admin console. Easy!;
- The editing tools are so much better than mine ever were. For years I had dreamed of having a ‘draft’ function on my blog but never got round to building the additional couple of forms to do it. It also supports comments & ping-backs straight-off;
- I was able to built my own personal templates to apply my own stylesheet in only a few hours.
So, what I hope is apparent from this is:
- The OOTB functionality was better than what I had, with no build effort required from me;
- The areas I wanted to configure could be easily personalised without any custom development;
- I could ‘enhance’ my installation using plug-ins which were made available through WordPress, not by hacking around with the installation;
- By not doing anything ‘funky’, I am still on the WordPress upgrade path so will continue to reap the benefits of their future enhancements and bug-fixes.
Whilst this is only a little blog on a little website, read by a small number of people, the principles still apply for the biggest organisations contemplating buying the most expensive and ‘whizzy’ packages:
- Work out what you need the ‘package’ to do;
- See what packages are out there and how much of this they can satisfy;
- Look at how easy it is to extend/enhance them without having to ‘break-out’ from the standard upgrade path;
- Once you have decided to go with something because it “does what you need it to do”, don’t then dramatically change your requirements and bastardise the thing. It undermines everything you set out to achieve.
I know there is more around the edges, especially in a large company. But, at the simplest level, that really is ‘it’.