6 Minute Read
The following article was penned by our Director of Consulting, Dustin Sitton. It provides a more technical view of how advancements in CRM offerings are changing the way consultants and developers operate.
– – – – – – – –
Developers Have Been Waiting for This…Or Have They?
The promise of an enterprise application so flexible and easy to use that it eliminates the need for traditional custom software development has been talked about for a long time. Until recently, developers have been asked by businesses, and specific departments, to create custom solutions that this mythical enterprise application would solve, if it existed.
Developers are very familiar with programs that are typically used to create these custom solutions, such as Visual Studio, Eclipse, or notepad++. If you are not a developer and reading this, you may be more familiar with programs like Access, FileMaker, or even Excel, which allow you to manipulate or manage your business data. The solutions created with these programs certainly solved the immediate problem, but rarely did they address the overarching, long-term needs of the enterprise.
As a software developer, if you were to take a step back, you’d realize that while we were focused on building better software solutions for businesses/departments, we inadvertently wrote the ultimate business application. Oh the irony!
We now have access to an enterprise application so good it’s the last one we will ever need. It’s the Cool Ranch Doritos Locos Tacos of software…and it’s here. But if the “ultimate business application” now exists, what will happen to custom software developers?
Software Development Is Never Finished.
Almost as soon as a custom application is launched, it begins to age. As a developer, you take every step to ensure a sound modular design is implemented, allowing the application to remain viable. However, updates are almost always needed to maintain the application and, in time, every tool used to build it falls out of favor. This means you were constantly coding, reviewing, assessing, tweaking, and updating the applications you had built.
This isn’t the case with SaaS products such as some CRMs. You can sit on your hands and they continually improve. They evolve with changing business needs, and the very best ones stay one step ahead, offering add-ons that integrate seamlessly with their base offering.
As you know, when building a custom application from scratch, you typically start with the database. You build schemas, tables, fields, and create the relationships between them. From there, you need to build a user experience, business logic, API’s, logging, security, administration, mobile support, and integrations to other systems. Compared to implementing a CRM, this custom route is time intensive and costly; but that is what’s awesome about custom software development, getting your hands dirty and coding!
The process to build out a CRM begins the same way as the custom software development process. The massive difference comes when it is time to build the user experience, business logic, API’s, logging, security, administration, mobile support, and integrations to other systems. With a CRM, these things have automatically been built for us. Simply by creating our Entity Relationship Diagram (ERD), we now have a UI, several fully realized API’s to choose from, and a terrific framework from which we can start customizing workflows, business logic, and security. Also, we don’t have nearly as much bug or scalability testing to perform and have a fantastic mobile experience right out of the box. Efficient…sure; but it’s not nearly as fun from a coding standpoint.
Why Should Software Developers Care?
Think about it from your client’s perspective. This shortened development timeline allows “development work” to happen at a faster, more agile pace that even the most seasoned custom developers could never match. Further, under many circumstances we end up with a significantly better solution, and it all comes at a fraction of the cost.
From your client’s point of view, this means they will see a finished product sooner, and it will cost them less. Pretty appealing. Also, now when your clients ask for enhancements, you can come back a day or two later, not with mockups, but with a production ready version of their vision, making you look like a rock star. Also pretty appealing.
To be clear, there remain scenarios where traditional software development is needed. It may be due to licensing requirements, or the required solution may not fit neatly into a CRM architecture, or we may only need to build the “glue” to connect several disparate applications. These situations will always exist, but we are surprised at the pace at which CRM-based applications are devouring use case after use case.
The CRM landscape is changing.
Personally, it is incredibly satisfying to witness the “Aha!” moment when an organization fully realizes this new vision for what CRMs can and should do. What starts as a solution for the Sales Department naturally expands to include solutions for the Service and/or Marketing departments. The result is a fully integrated business on a unified platform, with all departments contributing, collaborating, and reporting against the same set of data. It’s everything every developer could want in a relational database driven system!
As a developer, it’s a bitter sweet advancement within our industry. Now we can offer our clients much more economical ways to manage almost every aspect of their business. I just wish I could still roll up my sleeves and get my custom code on like Donkey Kong.
Change can be annoying, especially when it effects the way you have gotten used to doing things; but we, like our industry, must adopt and adapt. CRM has arrived and is here to stay, evolve, and grow even more integral for businesses of all types.