No matter what kind of startup you push forward, make sure that customer service is done right. At least so they say. It is the Customer Service that impacts pretty all other areas of your business. It's something to pursue relentlessly. Something to build ASAP. That’s why we’ve enhanced our Sparta Product Development series with an article that will help you build an exceptional customer service software platform in no time.
The very first thing before you go dive deep into software is to picture a minimal process for your CS. Forget about details at this point. Just outline the full process from a birds-eye view and draw basic dependencies. If you’re an e-commerce/marketplace type of startup, you can imagine a couple of elements to be involved: funnel, payments, invoices, reports, customer lifecycle monitoring, complaints, refunds, business intelligence, seo, invoices once again, churn, resource allocation, discounts, referrals, more reports, data security and privacy.
Each of them is important and each of them has to be constantly improved. Each of them requires tons of experiments and A/B testing. Each of them will be iterated many times in the first 6 months and will be eventually evaluated by your customers. Then, hopefully, your customer base will grow. But with great customer base, comes great complexity. Put this in the back of your mind and think of small steps that will get your product going - now. Pick the ones that are really important. Your plan might look like this:
- basic funnel
- reports and basic business intelligence
- funnel and marketing enhancements
- improving systems performance and reliability
- customer service automation
- advanced BI
- automatic resource allocation
- security enhancements
This will vary depending on your product category or market but the key part is to build it, measure and learn quickly. Let’s see how to make it happen.
Now that you know what to achieve and why, let’s think of how to make it work and generate value from day 1. One way forward is to run Rails scaffolding tool and try to come up with some order processing webapp. But before you set up a development environment, lay out a DB schema or prototype a first user interface, stop for a while and take a look at different approach. The one that might bring a profound customer service implementation much faster.
Meet Salesforce. A powerful cloud-based CRM platform based on years of providing its services for businesses of each size. Let’s see how can we use it to our advantage.
Salesforce delivers ultimate tool for modeling and shipping the CS chain. Starting from simple CRM entities like Leads, Orders or Accounts you can use to collect customer data, to workflows, dashboards, cases, reports, email templates and many more! Every feature is based on SF experience in serving business that will help you refine your customer relationship management. You definitely won’t have to reinvent the wheel.
If, however, an out-of-the-box configuration doesn’t meet your needs, SF overcomes this with its killer feature - customization. Not only does the platform allow non-tech founders to tweak the process, but it also provides a software framework for engineers to literally build and incorporate new components and plugins.
Look Ma - No database!
When you combine it with configuration features, such as custom entities, autoincrement fields, triggers, workflows or data integrity you’ll get to the point that you realise your product doesn’t really need an external database!
At early stage SF gives you more than you need in terms of data model. If something doesn’t fit, you can easily change it in the configuration panel. If something is missing, you can add one of these. And this means less hassle when you iterate on your process fast, when you release to production multiple times a day.
That’s nice. So can I put my business logic inside?
Whenever a SF object's state changes or a user triggers an action SF informs external back-end system. Then it runs respective logic and returns the information back to SF or triggers another action. By doing this we can:
- deploy faster using heroku
- log and monitor application state using better tools
- scale irrespectively of Salesforce limits
Heroku is a new component here. It is a leader of platform as a service products that enables developers to build and run applications in the cloud. SF acquired it in 2010 and has built a decent integration ever since. We use it, for example, to run business intelligence reports.
Need more power?
The described setup proved us to be a good foundation for rapid development. When the basic process is established and first orders are processed successfully, you might start wondering how to go the extra mile for your customers. Our architecture is ready to help here as well. Just look at data, define a problem and come up with solution.
Get some idea first at http://startupstash.com or http://stackshare.io There’s a good chance that somebody has already solved this problem, at least to some extent. Many of SaaS are well-integrated with heroku. Make sure to check it before you start coding it yourself. Another good idea is to visit Salesforce Marketplace and look through over 2500 apps that might come in handy. Finally, there’s a lot of good open source libraries or tools on github that easily fit into your code base: accounting.js, moment.js or redis to name a few.
Watch out for poor services though. Not all of SaaS products are rock-solid. Schedule some time for investigation before you treat them as trusted in production environment. Follow small steps approach and have fallback plan for each component.
But where’s the trick?
We have seen it scaled from a few to thousands of orders per day while being way cheaper than a formal approach based on bespoke software. The iteration speed was good and the system remained open for further changes. Of course we haven’t avoided 100% of bugs. But we’ve learnt to deal with it and we’ll show how in next posts. Stay tuned!