manage your internal sales - xrm development project

10
DEVELOPMENT CASE STUDY CARAMEL CRM A story of building a custom CRM that fully covers internal Sales needs and adapts to any business model.

Upload: mobilunity

Post on 15-Apr-2017

85 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Manage Your Internal Sales - XRM Development Project

DEVELOPMENT CASE STUDY

CARAMEL CRMA story of building a custom CRM that fully

covers internal Sales needs and adapts to any

business model.

Page 2: Manage Your Internal Sales - XRM Development Project

“It was a complex project, but I loved how we dealt with it!”

Sergey VerklovProject Manager

“It was a CRM system development project that was based on our own experience of system usage for in-house needs. The step-by-step improvements led us to excellence, but we never stop improving and provide custom CRM development for customers’ projects.”

Olga ZhukAccount Manager

As an outsourcing company that deals with a large number of clients daily, the Mobilunity Sales team faced the problem of tracking those clients in a way that was simple and non time-consuming. Our story starts years ago, with a simple spreadsheet that the team used to keep track of leads and clients via Google Drive. The file was growing exponentially and within a year was unable to provide answers to a number of important business questions.The desire to have all contacts along with a growing number of leads organized internally led to CaRaMel, our custom CRM development project. Key problems the new system had to solve included:

With the motto “no contact is lost” in mind, our back-end development team started crafting the product, what would be the beginning of our new lead man-agement system.

PROBLEM

1

Project Team

Project ManagerBusiness AnalystUI/UX Designer2 Backend PHP Developers1 QA Engineer

Organization of all Company contacts

Differentiation of contacts by type and source

Assignment of clients to proper Account Managers

Notifications/reminders to Sales associates to follow up

with prospects

Status tracking of every lead

Communication with clients directly through the system

Decreased time spent on email communication

Report on sales team KPIs

Page 3: Manage Your Internal Sales - XRM Development Project

As with any project, our Project Manager began researching and comparing existing CRM solutions on the market. We looked at the industry giants and defined what our Sales team might be lacking with those client relationship systems.

THE CASE STUDY

2

BUSINESS ANALYSIS

Requirements Zoho Hubspot Bitrix24Insightly

Client contacts

Leads

Potentials

Mailing system

Scheduled emails

Tasks

Project board

Campaigns

Easy customization

Analytics per project

Analytics per client

Additional features

Cost

X

X

X

X

-

X

X

X

X

-

records for emails, events, campaigns, closed and opened activities

online meeting rooms, calendar

up to 10 members - free, more - $25/user a month

X

X

-

-

X

X

-

-

-

-

X

all additional functionality is not free

free

X

-

-

X

X

X

X

X

X

X

X

very simple to use and similar to gmail

from $12/user a month

X

X

X

X

X

X

-

-

X

calendar, drive, chat, complex UI

free for up to 12 users

Based on market analysis, feature requests received from research department, and the needs of our project and sales teams; our Project Manager closed the project definition phase with creating a full technical requirements document along with the CRM system wireframes. It was crucial for the system to be able to handle large volumes of contacts - currently the database includes over 30 000 contacts, while technically the system is able to handle over 1 000 000 contacts.

Page 4: Manage Your Internal Sales - XRM Development Project

Technical requirements to the lead tracking system included:

TECHNICAL REQUIREMENTS

3

Project plan

System database architecture

User flow and user stories

CRM wireframes

Reporting Manager - is allowed to view all clients and

users, as well as generate reports

Researcher - is allowed to create and edit information

about clients, and can manage clients added by users

Manager - is allowed to create and manage all clients

Admin - is allowed to create, edit, and delete information

about all clients, add users, and change CRM settings

The concept of the whole system was based on optimizing sales

processes and promoting interaction of Sales and Account Man-

agement Teams with contacts.

Our Project Manager defined the following user roles for the system:

User profiles covered all relevant information including name, email, gender, and position. Client profiles

included more detailed information such as the source, Researcher, Account Manager, date of creation,

contact email, phone number, LinkedIn profile, company name, position, industry, and website, as well as

fields for comments, and an ability to attach files. Clients were separated by the following types:

Leads (found and added by research team)

with the statuses:

Attempted to contact

Contacted

Junk

Lost

Not interested

Qualified lead

Idle

Prospects (clients, who agreed to a meeting;

physical or a call) with the statuses:

Junk

Lost

Not interested

Idle

Page 5: Manage Your Internal Sales - XRM Development Project

4

Potential (clients, who received our

proposal after a call) with the statuses:

Junk

Lost

Not interested

Idle

Customer (clients, who signed a service

contract) with the statuses:

Active

Inactive & Potential

Inactive & Lost

Canceled

The first version of the customer relationship management system had the following features:

Ability to add new clients and assign them any category

Importation of MS Excel databases

Ability to Filter by date, source, Researcher and Account Manager

Ability to Filter by client statuses

Execution of the logic that changes the status of the client, who is not replying for a week, to Idle

Reports on the number of new clients added and lost within a specified period

Further versions of the lead follow up system included the development of an advanced calendar

and reporting features along with a separate HelpDesk module. This would enable communication

between users and clients, allow for the creation of email templates, provide functionality to do

mass mailing, define SLA’a, allow automatic follow-ups to be sent, and receive reminders.

Email attachment wireframe suggested by the Project Manager

Page 6: Manage Your Internal Sales - XRM Development Project

The Project Manager defined the custom workflow for the whole CRM project in Redmine in line

with Scrum Agile framework methodology for development, splitting the development into the

initial Sprints.

5

Screenshot of the CaRaMel project in Redmine

Page 7: Manage Your Internal Sales - XRM Development Project

Our CRM designer suggested mockups to meet the acceptance criteria defined by the Product Owner, and focused on creating an intuitive interface for lists and cards of users, clients, tasks and tags. The UX design for the CRM was done using Photoshop and presented in InvisionApp.

DESIGN

6

CRM clients list design

CRM clients list design

Page 8: Manage Your Internal Sales - XRM Development Project

7

The project involved 2 PHP backend developers, who coded it from scratch and who continue to work on improving it now. Technologies used in the development of the CRM include:

BACKEND DEVELOPMENT

Yii2 PHP framework due to its fast speed, stability and flexibility.

Apache Lucene-based ElasticSearch was used for quick records discovery.

Thanks to Ajax scripts our Yii developers enabled quick refreshes of data

without the need to reload the page.

MySQL and MariaDB systems were used to manage the databases.

Emailing was implemented through Sendgrid SMTP service, our developers

used its API to send continuous queries and fight spam issues particular to

large CRMs.

TinyMCE JavaScript HTML WYSIWYG editor was implemented in the email

module to enable the creation of aesthetically appealing emails.

The QA Lead prepared a Master Test Plan and Smoke Checklist for the CRM project. Along with basic client and user cards testing our team thoroughly worked out possible test cases for security vulnerabilities.

TESTING &BUGFIX

Deployment environments included development, testing

and production servers.

CRM clients list design

Page 9: Manage Your Internal Sales - XRM Development Project

8

Custom CRM development lasted 4 months and was quite a challenging experience for the team. Our backend frontend developers and Project Managers came across the following issues:

Thread identificationTo implement convenient email communication, our PHP backend developer had to split emails into threads.

To solve this issue we developed thread identification algorithms, which checked every email for the thread

and subject ID and of course emails of users involved into communication.

Slowly loading pages Our team detected a bug with the theme used in the first release of the CRM MVP, which loaded a long list of

contacts on every page, thus, causing issues with the page loading speed. To fix the problem we disabled the

calendar and stopped showing clients on every screen.

Email issuesHaving the whole system depend on one email server always raises the risks of possible downtimes and

even bans, due to the large volume of emails and spam prevention AI algorithms on the server side. To avoid

such issues our team implemented 2 independent mail servers.

Possible SMTP downsUsage of any third-party service creates dependencies on the service uptime. To be aware of possible SMTP

service downtimes, our CRM developers applied the system of SMTP service status notifications.

Advanced reportingKPIs of any mailing campaign includes a number of replies, the open rate, and click through rate. To have this

information in the CRM our team wrote an algorithm, which retrieves this data through Sendgrid API.

Contacts importTo optimize the work of the research team and diminish the need of manual client data entry into the CRM,

we developed an “Import of contacts” feature. Now any user of the system can download a csv template,

which includes all required columns in the system, and then upload lists of contacts from an Excel spread-

sheet. The system will validate them and automatically create new clients.

CHALLENGES & SOLUTIONS

Page 10: Manage Your Internal Sales - XRM Development Project

https://mobilunity.com [email protected]

The New custom CRM system turned out to be a successful project with implementation of such technologies as:

Despite that fact that the system was developed based on our internal Sales team’s request, the final CRM system is fully customized to the needs of any industry from an ecommerce startup to large manufacturing corporations.

TECHNOLOGIES USED

Yii2 PHP framework

Ajax

MySQL and MariaDB

ElasticSearch

SendGrid API

TinyMCE JavaScript HTML WYSIWYG editor

Are you ready to scale your sales to the next level? Let’s develop a CRM for

your business together!