BookingBug (now Jrni) faced a near death event due to technical debt and saved itself by adopting the right engineering practices. Bookingbug is a company that provides scheduling and appointment-setting capabilities across a variety of industries. Founded in 2008 in the UK, in recent years it has built a strong reputation among enterprise customers around the world for its powerful platform and the breadth of customizations it offers. It is used by hundreds of organizations from banks to retailers and governments including Lego, Cisco, John Lewis, and the UK Government. It was listed by the Financial Times in the “Future 100 UK” list in recognition of its growth and wider impact on its industry.
Yet, it didn’t start this way. In fact, it had a bumpy journey and along the way it risked losing a critical contract with a large US bank —– the type of event that would have harmed its reputation and its hopes of international expansion.
This story is an excerpt from an interview (April 2017) with Glenn Shoosmith, Founder and CEO of BookingBug, who tells a story of humble beginnings, hard work, and near-death growth problems. It all started out of frustration with booking a local squash court. At the time, no sport center offered an online booking service, and he had to call to make a reservation, and then visit them in person to pay, in advance. Glenn soon realized that there was an opportunity to make things better, and that could potentially be a massive market. “Internet was very good at selling you goods, but was very bad at selling you services, beyond restaurants and hotels,” said Glenn.
BookingBug spent its first few years building a platform for SMBs (Small-Medium Businesses). Initial customers included hair dressers, beauty salons, sport centers, and wedding photographers. This extreme variety of customers resulted in a product that was complex and yet hugely powerful, as it supported different payment systems, ecommerce systems, accounting systems, services, classes, courses, and events. Every customer had different needs, and BookingBug tried to solve every different problem by adding new features for each need.
The product suffered from massive feature creep. “What I did was go to a market segment, be not very effective at selling to them, and then add another feature for a different market segment and keep moving to the next segment, hoping that one would just magically sell,” said Glenn. “Instead, what we should have done was take one market segment and work very hard on how to sell a beautiful product in that segment.”
The first break came when Levi’s in the UK found it through an online search on Google. They wanted a system to book an in-store appointment for a jeans-fitting campaign. They liked that BookingBug could be branded and skinned to match Levi’s brand, and was able to support a lot of different features. “That was really our first ’enterprise’ customer. And I realized that if I could sell it to 250 Levi’s stores at once, this was far better than selling to 250 individual small businesses.”
The pivotal moment was when John Lewis, the iconic department store in the UK, issued a tender offer for an appointment scheduling system for its website. BookingBug participated along with big service integrator names like Salesforce, Oracle, and the like. These were large companies, who employed thousands and could dedicate resources to this project. BookingBug had barely twelve employees and was managing several small business customers at a time.
John Lewis was the best brand name in department stores and had a strong reputation on customer service. An iconic company, they evaluated the bidders on various criteria, including how well they fit with John Lewis’s brand and values. Going against the big guns in the IT industry was not easy. In a particular conversation, they asked about the number of UX experts available on the project. The big companies said they could put a thousand developers from India and they could all work on this project.
“We said, we got one. His name is Luke. And he is really good at building booking journeys. It’s all he does; he builds booking journeys.”
John Lewis liked that BookingBug had accumulated an expertise in appointment scheduling by working with many different small businesses in a variety of industries. In particular, it had expertise in managing beauty appointments. “We knew more about the business. We had a whole conversation about beauty, and of course we had hair dressers and we were able to talk about the complexity of beauty appointments and the scheduling rules, and the dynamics, things that these business people had not even thought about. We were able to convince them that we knew more than they did about their own business problems.” This was the sort of expertise that the other IT companies could gain only by spending a ton of money in consulting fees.
BookingBug won the business. “It has been fantastic, but we put everything we had to deliver that solution. We worked 24/7, weekends and nights and overtime to make sure it worked. We promised a lot, we promised a few things we couldn’t quite do, we had to work harder to actually then do it. We knew that if we got that right, and it was successful, the reputational shift for us would just be titanic.”
And shortly thereafter other department stores started knocking at its doors. “As the dominos fall quite quickly you move from being the complete outsider no one is using, to suddenly the de facto solution that every department store wants.” Even Harrods’s knocked at its door.
Winning John Lewis allowed BookingBug to shift its focus away from SMB and instead dedicate resources to large customers. Soon, it had a few other enterprise customers including some in the US, a major market that represented the next opportunity for expansion. At this point, scalability became a big issue. Suddenly it had multiple projects open at the same time. Working with large customers required a lot more focus, support, and customization work. Even as the company started bringing in more people, it was hard to balance everything it wanted to do.
This was the classic problem startups go through when their market grows, and they need to refresh their technology. Suddenly, they have been in business a few years, and new customers are coming in. The system they built starts feeling old, and they start building a new system that looks shiny but does not have all the features of the old one. With limited resources, they try to do both things at the same time, and they end up doing both badly.
“People don’t like the old system because it looks dated, they want the new system, then they try it, but they complain it’s buggy. And you are trying to support both systems at the same time and you are trying to finish the new system while delivering to clients. This was the real struggle we had in 2015-16.”
At this point Capital One, a large US bank, invited BookingBug to implement an appointment system for their branches. Capital One represented for BookingBug a pivotal opportunity to grow the US market and build a reputation in the banking industry, traditionally hard to win. But it had not worked with banks before and it was not ready for the hard requirements they imposed.
The product suffered from too much accumulated technical debt. It made it hard to customize things, and caused all sorts of problems. Because the company had no regression testing in place, as it built new features for the bank, other things started breaking up. It also had no documentation ready, so the development teams within the bank had a very hard time integrating with the BookingBug’s API.
“Because when you do a startup, you are hacking a product together and you got no money and you are fine to ship it to small businesses, you don’t care about testing, so you don’t test. You are delivering features very, very quickly. Everything is rapidly developed and shipped. The big shift we had to go through, as we shifted to selling to enterprises, in particular, to selling to banks, was that we had to suddenly say ‘I need to QA things’, ‘I need continuous integration’, all those things that I had left behind and now are back. If you break things, banks will not forget that. You can anger a few SMBs and live with it, but if you anger a few banks your reputation tanks.”
It got so bad that Capital One threatened to quit the contract. That’s when Glenn got on a plane and flew to the US to present how he was going to fix things and deliver on the BookingBug promise.
“We had to really focus on improving the quality, improving the customer service, improving the customer relationship, and really what we did was that we actually stopped selling,” recalled Glenn.
“I told my sales team: forget the next client. If we don’t successfully deliver the clients we already sold to, there is not going to be a next set of clients. Because if you sell the next one, how are we going to deliver to those we have already? If we are not going to deliver to Capital One, we are never going to have references. If Capital One cancels, that completely stops the business. We basically cut down on product development. We just focused on quality and on delivery. This was the only way we could save the business and get our reputation back on course.”
Glenn and his team spent most of the next year paying off technical debt and fixing legacy issues with the product, upgrading all sorts of bits in the system that were fragile or broken. Glenn himself joined the development team to provide guidance and add an additional resource. For some time, it was all hands on deck. The team built a test suite with full regression testing and thousands of tests in place. It adopted Agile practices, implementing Scrum, test-driven development, and continuous integration. All these efforts paid off enormously in terms of communication (both internally and with external customers) and in terms of quality at delivery.
“We had a lot of growing up as a company. I think what Capital One needed to see was strong leadership from our side. And then we obviously had to back it up with delivery. I think we were able to reset the relationship and give confidence back to Capital One. We were having a few growth and teething problems, but we were worth sticking with. It’s difficult when you don’t see someone in the eyes, you think it’s just another vendor. But when I showed up and I said no, this is my business, this is my life, this is hugely important, it created the connection, a bit more trust. Hopefully that paid off well.”
“Many people don’t realize how many years of grinding hard work it takes to really grow a business. People think that starting your business and being an entrepreneur means having time to relax and go to the beach. But that’s not true. Being an entrepreneur and building a business is hard work. I lead by example, and if I ask my team to work hard, I work even harder.”