OK, so you need to build a CRM. This article will show you exactly how to think about this and what you need to do.
I am assuming you have already decided that you ARE going to build your own CRM. If you are still open to consider alternatives, then you should read these first: Should I Build my Own CRM?
Building your own CRM is the absolute best choice for anyone needing a CRM; provided you have the time, talent and resources to do it right. When you build your own CRM, you can build in exactly what you need and leave out all the rest of the bloat that you normally find in CRM’s.
Find the Resources
When you build your own CRM, you will need to allocate your programming resources adequately.
Never Outsource Development
When planning to build your own CRM, don’t even think about using outside programming resources to tackle a project as big and as important as this one. There are several reasons this is a bad idea, the most costly being when your CRM breaks and the team who built it is not around to patch it up for you! Ouch!
Allocate Some of your Inside Development Resources
To take on a project like a CRM, you will need dedicated programmers to build and maintain the software for the long haul. This is not a “build it and then forget it” proposition. The software must evolve, it will break, and it must be kept relevant into the future. This is not Microsoft Word you are building, this is a living breathing product.
Make sure you have a programmer or team who is ready to be married to the product. If you can not dedicate resources to your CRM (forever), then you should take a step back and read this: Build Your Own CRM: Good Idea or Bad Idea?
Planning Stage
The term CRM is pretty broad and can include a lot of different features and functions. The first thing you need to do is to map out what YOU need it to do. Forget about what a traditional CRM can do and think of this as a tool for your business. Or if you will be reselling this product, think about what your customers need in a CRM. If there are things that are typically in a CRM but you don’t need them, leave those things out. If there are things that typically are not in a CRM, but you need that functionality, add those items in.
Here is a list of common components you might need or want in a CRM:
Contact Management
Contact Filtering
Contact Segmenting
Lead Management
Dashboards
Marketing Automation
Pipeline Sales Management
Reports
File Attachments
Social Media Integration
Group tasks
Landing Pages
Autoresponders
Sales Funnels
Deals Management
Newsletters
Calendar
Help Desk
Shopping Cart
Birthday Management
Client Referral Tree
Email Marketing
Free Recorded Message
Mobile Versions
Text Marketing
Workflows
Template Libraries
Team Functions
Chat Services
(This is not meant to be an exhaustive list, but will serve as a good starting point.)
Software Requirement Specification
Once the list of features and functions have been identified, someone will need to design how the program is going to work. This should be done by a professional and can be outsourced if needed.
Every aspect of how the product will be used, including the user experience (UX) is considered in this step.
This is usually done using a wireframe or prototype tool for every single screen in your new CRM. As a frame of reference, in the AllClients CRM, there are over 1000 different screens. You need to identify each of these screens and spec out how each one will work.
At this stage, it is also highly advisable to get end-users involved in this process. You want to make sure you are designing a system that will be embraced by your users. It’s not enough to just have a CRM. You want a CRM that your users will LOVE! The last thing you want to do is to spend a ton of time, money, and effort building a CRM that no one wants to use.
User Interface (UI)
Similar to the User Experience (UX), you will want a friendly and easy to understand user interface (UI). Again, this function can be outsourced if needed.
In this step you are not looking for your artsy fartsy brother-in-law here who is great at creating logos, you want someone who designs User Interfaces for a living! The UI and UX go hand in hand. If you are outsourcing these functions, your UX and UI teams should be working together.
Set up a Testing Environment
You will need a testing environment completely separate from your published code. This will be identical to your current working environment but will include new features and bug fixes. Your QA (Quality Assurance) person (or team) will be in charge of this environment to make sure everything new that is introduced into the product doesn’t break something else.
By the way, your QA person can’t be part of your development team. You almost want an adversarial relationship between your programmers and QA. QA’s job is to break what the programmers deliver – not just rubber stamp it. This tends to make your programmers grumpy!
Now the Fun Part
OK, the groundwork is laid. Now go program it! With the proper resources in place, you should be able to build a very basic CRM in less than a year. If you want to add email marketing and marketing automation, that build will take longer.
Conclusion
This should give you a great starting point as you venture into the CRM space. If after you have spent tens of thousands of dollars and months of work, you realize this was not the right path for you, then consider White Labeling the CRM from AllClients.
Every situation is different, but there is another way to get your CRM and it is a much faster and easier route: White Labeling a CRM that is already built, tested, and ready to go.