To custom build or not to custom build, that is the question! Actually not “the” question but the one I will be dealing with in this post. So what is a “custom registration software”?
In the software world a “custom system” is:
- A software built just for you.
- A software that is either not based on an existing platform or is based on a very generic platform.
Basically think of it as an organization going to a software company and explaining their process and then the software company writes code just for them. In this post I want to outline the pros and cons of building a custom system and basically tell you why you should not be building your own registration system. Instead I argue that you should use one of the many out of the box software options that are out there.
Let’s start with the pros of a custom system, as there are quite a few!
Pros to a Custom Registration System
It will be exactly what you need.
- You can include any little logic setup you want that is custom to your organization.
- You have full control over the process, look and feel, and features included.
- The databases is yours and you create it.
- All data and the system itself resides on your servers.
Now the pros of a system are clearly VERY PRO! Who doesn’t want a system that is exactly what you need, can include any minute detail you could even dream of, and you have full control over EVERYTHING. Sounds dreamy right? Well, consider the cons of a custom built system, even if your bank account is bottomless and whether or not a custom build is really the right choice for your organization.
Cons to a Custom Registration System
1. A custom built software is normally very expensive.
For most organization’s budget is a huge, or the main factor, in considering which registration system and type to work with. Whether budget matters or not, I haven’t met a business who doesn’t want to spend their money wisely. So, everyone should think what system will give them the biggest bang for their buck and how much a custom system will benefit them over the financial savings of a platform/pre-built software.
Let’s say you think that you do need a custom build since your process is so unique and specific that you have not found a system that does what you need. Before you go down that path, look around for systems that have an “API”. An API is an “application protocol interface” and in plain language it is a way to customize everything in an application without building it from scratch. Most likely that is what you need. Yes, you will still be paying for custom code but you will be paying only for the unique things you need and not for the basics (such as data gathering, database building, reporting, hosting etc…). Makes more sense, no? See, I’m already saving you money!
2. Changes are expensive!
In order to create a system that will not cost hundreds of thousands by the end, the logic is hard coded. This means that if you ever want to change the logic, change the system, etc you need to spend more money to adjust. Worst yet, often times, the change you want isn’t possible because of the existing system structure.
Now again, for some organizations this is not a con. They are an established company with an established and unchanging process and the idea that their logic is hard coded is actually wonderful as their model and organization don’t change or alter how they do things.
But for many organizations, the goal is to expand, adapt and change or they just want the opportunity to evolve as they are a young organization so a hard-coded logic can be a costly mistake. Usually to make changes you have to go back to the developer or company that built your software and spend tons more money for the work involved to change it.
Sometimes, something that is even more frustrating than spending more money happens: the changes or alterations you’d like to make don’t fit in with the existing logic structure used when the system was built (i.e. coded) so even if you have all the money in the world the change simply cannot be done within your time frame. In that case you can either understand that it will take time, shelf your organizational change or build everything again! This can be extremely limiting and again, cost you more money and time.
I have worked personally with organization’s that have had a custom built system that when I, as a coder, look at the set up, my eyes roll back in my head because all the changes made to the initial set-up are so convoluted you basically have to start from scratch. Read: even more money!
All these issues mean more time and money on your end, which is no bueno when you’re in the middle of registration season!
3. It can take a long time from first deciding on a person/company to build your system and actually using the system.
Even if you’ve decided that a custom built system is your best option, this is a HUGE con for most organizations as in order to spend money you need to make money, and to make money you need to have a functioning registration set up. The time it takes for a system to go from concept to reality and working properly without bugs or major issues, can negatively affect your business. What are you going to do in the meantime as the process is being built? Use paper? And you are most likely disabling one of your top staff members that needs to work with the software company to make sure they get the logic right.
If you want to build from scratch – make sure you understand what your personal timeline is: when do you NEED this software up and running by to make it worthwhile and can the person or company building your software deliver?
4. The system is not updated regularly and doesn’t reflect client needs.
Browsers and the software world are always changing and since this is not a system that is used by multiple people it will not be updated automatically.
This kind of goes hand in hand with the points I made above but it deserves it’s own separate line. There are always new things happening in the software world – new browsers, or new features or ways of doing things that are more intuitive or serve you better. More than that, browsers are constantly updating and changing their protocols. Some are good about letting everyone know about it and some are really bad at it (Apple and Safari for example). These changes can cause a system to be unusable! At Regpack we have two programmers that all they do is make sure the system is up to date with all the browser updates and changes so that it will work correctly all the time. This is what is called in the software world a “network effect”. The users of Regpack (or any highly adopted and maintained software) enjoy the fact that there is a network of people and users that are using a software and therefore it is constantly updated to work correctly on all platforms.
A hard-coded, custom built system is slower to adapt and change to these changes meaning your system can quickly become obsolete or even unusable. For instance: to make sure that your system will work on the latest browser, requires more paid work to make the necessary manual updates to your system for it to be compatible. This is a waste of your time and money and depending on the speed with which your updates are completed, could affect your registration complete and cash flow. The worst part is that you do not enjoy the “network effect” which means that you need to find if there are issues (or worse: your applicants will spot them for you, embarrassing!) and then update the software company you worked with. Even if you put some restrictions in the agreement with the company that they need to do regular updates they will usually only do this for a year or two and then will demand a fee for these updates since they can become very time consuming.
This is a huge benefit to a platform or ‘out of the box’ software. There are of course cons but a huge PRO is that updates are included and the adaptability they offer to new or changing environments. These tasks are standard and occur without you having to stay on top of it or pay for it!
I will let you in on a little secret: computers even though they are digital have a lot of mechanical parts and mechanical parts tend to breakdown. I remember a very bad experience as a University student. I was writing away when everything just died. My computer would just not do anything. I called my great buddy that was majoring in hardware and told him what happened. He told me to try and turn on the computer and tell him if there is a ticking sound. There was… This is what he told me: “Great, so we know what the problem is. Your hard disk is dead. Just go buy another one and restore everything from your backup.” Silence on my side. “You do have a backup, right?” I did not. It took me more than a month to restore things and I still lost valuable data that wasn’t restorable. Why am I telling you this story? Since things will inevitably breakdown, we need to backup our stuff so that when that ‘unthinkable’ happens, you’re covered.
You have to backup your business data constantly and in a way that will result in the smallest harm possible to your operation when data loss happens (and it will happen). The problem with backups is that it needs to be all encompassing. It is not enough to just backup your databases and documents once a week. You need to backup the business logic you have created in applications, the permissions you have created for different admins and users. And you need to do all this on a daily, if not an hourly, basis. If you really want to get fancy you would implement a “on change” backup that would backup every time a change in a file, database, or application config is detected. (Having your data in the cloud is something to think about when customizing your system or shopping for an out of the box solution!)
Implementing this type of backup scheme by in a custom system will most probably cost you a lot! The organization that builds your system (and use an organization and not just a friend that knows to program) will need to setup backup servers, schedule tasks and run periodic tests to make sure that the backups work and they are available when, and if, you will need them. As you can see this “custom system” is becoming something you are spending money on constantly. And not just money, but time! And time is money, so…you see the problem.
Conclusion: To Use a Custom Registration Software, Or Not?
Yep, there are pros to developing a custom system for yourself. The main one is that you will get exactly what you what. But most chances are that you can do that with one of the many really good registration systems out there too. The cons overweight the pros and now that I think about it most of the pros are connected to the cons. Let’s have a final look at the pros and see if they are really that.
The Not So Pros to a Custom Registration System:
- It will be exactly what you need – and only what you need. If you forgot something you need or change your process in the future it will cost you to change it or worse yet might not even be possible.
- You can include any little logic setup you want that is custom to your organization – And if that logic changes you will have a problem. Chances are that you need only a segment of the system to be customized so do only that!
- You have full control over the process, look and feel, and features included – Some registration systems embed into your website and allow you to customize the look and feel.
- The database is yours and you create it – and maintain it, backup it, need to update it, change it when things change, work on it, take care of it and all the other hassles that come with taking care of a database.
- All data and the system itself resides on your servers – so now you need to rent or buy servers, take care of the servers, make sure they are backed up and maintained, updated and configured.
So what do you think? How does a custom system sound now?!