Building a new customized system
I have left this as a separate post as this is the big job and requires large investment in time and money. Can you embark on a project to develop a complete new system? Where to start? What to expect? I will try to answer those questions in the text below.
Why to build a new system
The first question you will ask is why would you do that? Why not purchase an existing one. This is the toughest question to answer. There is always a big offer or various existing systems.
There are several reasons why you may decide to build a system for yourselves:
There is nothing that suits your specific needs
I have seen systems build for that reason. It is usually when new technology opens wide a new door and nobody has jumped to use this opportunity. Think of what happened when the first Windows appeared and all existing applications were still in DOS, or when Internet became prominent and existing applications were still desktop applications.
You may be in the right place and right time and also have the right needs and this is a chance to be first ahead of the crowd.
Existing systems can’t adjust
This is a typical case. Existing applications have many users, they have legacy to worry about and this prevents them to make radical changes. They give you bits here and there but jumping on new technology requires re-writing the whole application and this is beyond their capability.
In reality they will slowly die out and new guys on the market will take over.
Be your own boss
If you are a big company and have to purchase many licenses from the supplier, you may be in a position to develop and have your own system for the same money. This is always dilemma with big deals. Purchase or make your own? You have to be clear with your goals.
There are reasons just to purchase:
· Development is someone else’s job. We can’t do everything
· We don’t know anything about s/w development
Reasons to develop are:
· We will have the system build specifically to our needs. Our business will benefit.
· We will be able to control our own application. There is no legacy preventing us from making the system in our way.
· We may event decide to sell to others to recover our investment and maybe earn in the process
There are good reasons for and against. You have to find where you fit.
Because you can
Developing the new system because you can? It sounds funny, but just look at big companies including banks, and insurance companies. They are all building systems for themselves. It looks as a better option if you can afford it. It is like waring custom made designer suit. Those that can don’t buy ready-made confection.
You can say that those companies are too big and specific. I haven’t met the customer that didn’t tell me that they are different and specific. I have worked a lot both in the banking and insurance industries as well and I can tell you that a bank is a bank. They can find an existing system on the market that will do the job. The difference is in details and specifics that make one different form another and that’s why they pay for their own systems.
With their own custom system they can offer slightly different services, and this is what distinguishes their brand from the others.
Start from CRM
Imagine building a new car. Where would you start? Would you build your own engine, tires and alternator. Building a car doesn’t mean being involved with components and specifics. You will have more general design, performance and the way it will looks in mind than the plumbing.
Apply this now to building a new system. You have in mind final result, the way your clients will see that, the tools they will have on their availability. You don’t want to know every technical detail.
So, where to start? I have one good suggestion. Start from an existing CRM system. Find a developer who has their own CRM system and build on it. Here is the reasoning for that:
You need it anyway
If you deal with clients (and almost everybody does) you will need to have CRM functionality built in as part of your system. You have to be able to maintain and view client details, have some way to log contacts with clients, handle documentation, use tasks and have a built in security that controls who can see and what. Those are all basic CRM functions. This all is what you will need in your system anyway,
You can test it
An existing modern CRM system is a great start for the application development as it is already working: you can see how it looks and test it. Your new system will look and work the same. It will have new parts (often called modules) but they will blend with what you have already seen. You will be able to imagine how your system will look and this is much better than trying to do that from endless stream of technical documentation.
Easier to specify
You will be able to specify easier what you need. Seeing something is better than describing it. You will know exactly what it should to do and how it should look. This simplifies your role and moves you away from having to know technical details. You can simply say: “I want this to work the same as with this existing form just change this or that”.
The development will be much faster. The proper CRM system will have many things already sorted out. It will have its ways the data is displayed in form, listed in lists, searched. You won’t need to figure that out. It will have built in security that you will be able just to expand to include your new modules. All the functionality will be there, already tested and used.
It makes great documentation. Your developer will be able to prototype your future modules, put them in-place, make them look as they will look once they get developed. Based on that you can make documentation and show everybody asking for suggestions and opinions. You will get feedback before the system is done as opposed after when everything is too late.
For an example of that method I don’t have to go further than our own company. We have a CRM system. It is modern, powerful and does all it has to do. But we have realised that we couldn’t sell it on its own: there are too many similar systems on the market. Then, one day, a request came to us to develop a new insurance broking system. When you now think about this starting from the CRM perspective, all we had to do was to add two specific modules to the system: one to process Policies and another one for Claims. This is how much the requested system was different from the original CRM.
Off course this is a simplified view. In reality it took us half year to build properly those two modules, do adjustments to some existing ones, create reports etc. But we had a great advantage: we could show how final system would look and let them test big part of it from the beginning. Not to mention that we were ahead about a year in development by starting form an existing system that worked.
In a similar way beginning with the CRM we have developed other products: Membership Management System and Legal Management System so far. Our CRM proved its value and has been promoted to become our application platform.
It just makes sense to start halve way if you can.
|Slava Krnjetin - I have graduated Mathematics and then turned to IT and never looked back. I have now over 25 years of experience in IT industry doing consulting and development. It has always been my passion to follow the new IT trends and tools as they evolved over years.|