I enjoy being a front-end developer, it exposes me to lots of other roles and gives me the chance to see what other people do from day to day. Eventually those roles start to rub off a bit and sometimes, given the right opportunity, I get to break away from being a front-end developer completely. Here is a story about how what started out as a small favour for the family ended up teaching me a lot about getting things done and MVP.
A growing business
My sister runs a fantastic small business hiring out VW Camper Vans (Kombi’s) for events, mainly weddings. She runs this business with her partner and between the two of them they touch every part of the business. This business is going from strength to strength, and with that comes teething troubles and processes that can’t cope with that growth. This is where an opportunity for me to contribute arose, and I was able to play the role of business analyst; overhauling the way the business collects leads and follows those leads through (ideally to becoming a satisfied paying customer).
The business is run in and around a very busy household; a puppy running around, kids coming and going with their friends in tow, plus a new born baby. Every minute spent on the business is precious, every minute must be focussed on making the business grow. For my sister, a lot of time goes in generating and chasing up leads.
Old processes that need updating
To begin with it was enough to have leads email the business with some key details then a quote could be created around that information, the email correspondence would be filed away and that was it. If people came back for more information, the old emails would be retrieved and followed up on. If someone became a paid customer, then the information would be cut and pasted into an excel document to allow for easier management later. This all worked well when their was only a few quotes a week. But by early 2014 this process was starting to feel the strain, there were more quotes needed, more Kombi’s to account for on the fleet, more people wanting more services. There were people wanting many Kombis, people cancelling and people waiting in the wings in case a Kombi became free. Juggling all this information was starting to overwhelm, and we decided to look into a better way.
The first email I received was “Can I get a database set up so I can keep track of all the quotes I’m being asked to do”. The initial idea was that we extend off the WordPress installation already in place and collect the data from the quote form. But after a few more emails between my sister and I, it was apparent that if we did that it would only get her through the next couple of months at best.
She wanted to use the information in more creative ways. Not simply respond to people, but to email them if there was late availability of a vehicle, to pull reporting on how many people had used a particular kombi, to automatically create run sheets for drivers so they know where and when to be. To try and create something like this would take a lot of time. So we stopped, and took a step back from it all, and I packed my bag and stayed for a few days to watch what was happening ‘ on the ground’.
As I was only a pretend business analyst (or PM or whatever it was) – we kind of winged it. I got her to explain what she wanted, sat with her as she went through her processes. Bcc’ing emails to keep records, cutting and pasting, filing emails into folders, saving excel documents into folders which related to the dates. After a while it was obvious that she wasn’t occupying one role, she was occupying many. And that as the business grows it’s entirely possible that those roles will be given to specific individuals. After observing the day to day processes, and watching the interruptions (babies, puppies and kids), how leads can come in (not just from the web but on the phone too) we defined what those roles were and created stories for those roles. eg “As a sales person I want to know how many people haven’t responded to me 2 weeks after I’ve sent them a quote.” This process was fun, and made it easier for us to measure our success later in the project, if all the roles and all the stories are fulfilled then we have been successful.
Choosing the right software
With all the information that we had gathered, we felt that the solution was to look into using a CRM. To cut a long story short we chose Zoho. Alternatives to Zoho were either too overpowered, too expensive or simply had a user interface that was overly complex.
We wrestled for some time over how to use the features available in Zoho to reflect what was going on in the business. Should we use the “events” to represent a wedding? should we create “products” that represent Kombis? Eventually we settled on keeping it simple and using the software to just capture data via basic fields, this makes is very easy to query the data later. Each lead can be thought of as an event, and within each lead we store all the required data. e.g. when it starts, what vehicles are required, names of key people etc.
Choosing the right fields
There was already a form in place emailing information from the company website, this was a great starting point to put together the fields in Zoho. The original form was replicated in Zoho for the “leads”. But this information wasn’t sufficient to successfully organise a booking. As a follow up for people making an enquiry, they were emailed a series of additional questions to ensure the quote was accurate (eg whether there were additional venues to visit). The information requested via the email was converted into the fields used under the “contact”, on top of the fields already defined by the lead. This accumulation of data as a lead becomes a contact/customer was already working well under the old system and it complimented the Zoho set up well.
There were a few hiccups in setting up though, the data type for a form field is set once you create it, so you can’t set something up as a text field then later convert it to a “pick list”, and you can’t change a “pick list” to a “multiple pick list”. Whilst this is frustrating, you can see why, changing to different data types could lead to data being lost. When we found that we wanted to change some data types (eg changing the event date from date and time to just date), we created new fields and flagged the original as being phased out, then we moved all the data from the old field to the new one.
To ensure everything was working as we expected, we ran through a few scenarios using the forms available in the Zoho admin interface, and pretended to take bookings from people on the phone. The workflow seems to be working well, and this also gave us the opportunity to refine the views to better help my sister find data quickly.
Creating web forms and Integrating with WordPress
With the process in place we could finally look to integrate the system with the company’s WordPress website. There’s heaps of plugins available that allow you to make forms in WordPress, and some of them include Zoho integration, but in every case we found flaws with them. The main flaw running through all plugins was how frustrating it is to set up a web form in Zoho, only to have to replicate it in WordPress. We tried a few ways out to minimise double ups in workflow, but ultimately decided that anything to do with capturing leads should be handled in Zoho, and that includes setting up the web form.
In making this decision we had to compromise on a few things, Zoho’s form creator doesn’t give you much choice over the HTML field type you get. For example you may want to use radio inputs for the state because you only have 3, we ended up settling on what Zoho would give us in order to keep site updates as simple as possible. For the state example we ended up using a select input.
Even with this approach there were a few teething troubles such as: forms getting mangled in WordPress when trying to insert it directly into a page, or having many forms running on the site with differences in HTML code. Eventually we implemented the form via a shortcode that was easy to modify, this means the form is managed from one place in wordpress. This process continues to work well and makes the process of updating the form fairly brainless, just cut and paste the form code from Zoho to the shortcode in WordPress.
More time to use more powerful tools
Since the original 48 hour exercise we’ve refined a few areas of the setup, mainly around tweaking fields and creating views for the data, this can all be handled by my sister and she doesn’t have to wait for me to be available to make changes for her.
Everytime I see her she likes to say how much she loves the software, and how much it has changed her life. I don’t think I’ve ever seen a piece of software help someone as much as this, and it’s immensely rewarding to think that I was able to help her get up and running, and to know that the power of the software is completely in her control.