CRM Development: How our developers take us from a good idea to a great feature
30 Nov 2020Here at [opencrm], the process for maintaining and extending our CRM system involves a lot of people beyond just the development team. It includes our project management and support teams, as you might expect. But also our sales, customer success, and even marketing teams get involved as well.
And the whole process is directly managed from within our own [opencrm] system. It’s a CRM system by developers and for developers…and the rest of us, of course!
In this blog, I’d like to bring our development process centre stage. Walking you through where we get our ideas, how those become a reality, and then how they make it onto your desktop.
Our development process and how its managed in [opencrm]
Because there are so many moving parts to our development process and so many different teams are involved, it’s important that all the information is held centrally. In a place everyone can access it.
Luckily we have a great CRM system. With a wide variety of modules perfectly crafted to handle virtually all the moving parts. (Coincidence? I’ll let you decide.)
Notice I said “virtually all”. In addition to using [opencrm] to manage our development process, we use other systems to handle communication with our customers and each other, we also use…you know what? I’m just going to dive in to each step. And you’ll see how it works.
[ocrm-features]
Ideas and Roadmap
The first step in the development of any software, whether it’s a CRM or not, is having a great idea.
There are two different kinds of ideas:
- Direct from our customer
- Part of our vision for [opencrm]
Direct from our Customer
These ideas often happen as a result of a customer trying to achieve something specific. Something that can’t do in [opencrm] or would prefer to do a different way.
When this happens the idea is submitted directly to our Ideasboard. All our customer can then see this idea, discuss its merits, and vote on whether they’d like to have it in their system. Towards the end of the month, new ideas are discussed by our board of directors. They decide which ideas fit with our plan for the system.
Any idea that has been approved like this will either be added to our Wishlist (something we’d like to develop, but don’t have the resource right now) or our Roadmap.
The vision of [opencrm]
Features on our Roadmap then move off our website as the primary place they live and into [opencrm]. From there, they join our list of other features that we see as essential to how we want the system to function.
Once a feature has a place to live in [opencrm], it needs to be properly planned and scheduled…so it’s time to move on to step two of our development process.
CRM Development
Before our developers can be let loose on actually writing a new feature, enhancement, or integration for our CRM, we have to “spec” it. This refers to writing a full specification of how it will work, what it will look like, what other areas of the system will be affected, and so on.
It is not a short process. But it’s one that is hugely important to the development of new elements in a system as complex as a CRM.
The long and short of it is that there are so many moving parts, our developers have to be sure they aren’t blocking any of them.
The final documentation of this is written up onto a Project within [opencrm]. But the actual discussion and drafting will usually happy either in meetings or (especially in 2020) via a combination of video calls and instant messaging.
But when it’s all said and done, our developers can get to work. They write the code. Our operations and project management team oversees the schedule. And the rest of us wait.
[ocrm-benefits]
Testing and QA
Once a developer has finished with writing the code, they’ll run some tests to make sure the feature or integration works as they expect.
But the actual meat of the testing is carried out by someone else. This is both to make sure you get another pair of eyes on it, but also to take advantage of the additional experiences these other people have.
The Testing and QA part of the development process will involve testing the feature or integration, but will also involve some more general CRM testing. Essentially making sure that nothing else was affected.
In our process, these tests are written up within a Document linked back to the original Project. This means everyone involved in the work can see the findings with just a few clicks, comparing them to the original specification.
General findings are reported and discussed back within our instant messaging system. It often also involves screensharing sessions or screencasts when the tester needs to illustrate a particular result.
We will also use software to simulate other kinds of computers, so we test in different browsers and browser versions. This makes sure all of our users will get the same great performance out of the system.
Releasing into the Wild
And then it’s time to release the new feature or integration into the wild.
At this point, our sales and marketing teams will get involved. They (we) will write up release notes, blogs, and social media posts to advertise these new CRM elements. Our customer success team will work on getting the FAQs written and instructional videos recorded.
When in comes to letting our customers know about these features, we have a dedicated tool within [opencrm] that alerts them when their system has been updated.
This isn’t just so we can brag about how great our new features are. It also gives them a chance to find out if any of these features will help their team be even more efficient.
[ocrm-customdemo]
And that’s how we use [opencrm] to develop a CRM system. But is it the best way?
Better than developing a bespoke crm?
Although it may seem like bringing in developers to write a CRM system completely tailored for your business and its processes is the best way to get the best fitting system for your business. It’s actually a bit of a false promise.
The system may be perfect for your system at the time it is written. But that ongoing development is likely to be missing.
Sure, if you’ve got an idea for a new feature, you can pay for additional development on your bespoke CRM system. But you’ll only get them if you both dream them up and pay for them.
With a system like [opencrm], there is constant development happening. Both generic features on our roadmap and new ideas from our customers.
Essentially, you have a much bigger pool of dreamers to come up with new features, enhancements, and integrations you never knew you wanted. Or that won’t be needed in your business for another year. But will be waiting for you when you need them.
Of course we think that our CRM system and the team of developers behind it are the best out there…and we hope you do too.
Although I originally hail from northern California, as soon as I arrived in Yorkshire I knew it was the place for me! At OpenCRM, I started out in the Business Development team, and then moved into compliance and Q&A because I love telling people what to do…ok, that’s not the real reason, but it makes for a good bio one-liner. When I’m not in the office, you can usually find me tramping through the dales, crafting, gardening, or with my nose in a book.