Jaw Dropping Outcomes
What does simplifying the product release cycle and onboarding process mean for an application?
In SpringCM’s case, it means a 125% increase in close rates on deals that average three times larger than previous years’. Did your jaws just drop? Ours did, too. So, let’s get right to it.
How simplifying the sync between SpringCM and Salesforce improved retention, revenue, and customer satisfaction.
125% close rate increase
3x increase in average deal size
6x product releases (From 2-3 per year to 18)
96% customer renewal/retention rate
Our success today is largely due to CodeScience helping us. We now have a framework in place that lowers our costs and increases our ability to deliver needed functionalities — and, most important, we’re consistently conveying a message to our customers that we can respond to their feedback, faster.
Chris Van Horn, SpringCM
The Backgound: What SpringCM is all About
SpringCM helps get deals closed faster by automating the biggest bottleneck in the sales cycle: the contract management process. The platform serves over 600 customers in more than 100 countries, that run the gamut in size: from a small business of 50 employees to companies like Facebook and Accenture, with tens of thousands of users. The SpringCM workflow engine supports millions of transactions per month, storing millions of documents in its repository.
SpringCM wasn’t always so specific in its niche of contract lifecycle management (CLM). In its 10 years of business, its iterated upon its offerings to capitalize on one key fact: Documents drive deals. Now, its platform addresses key contract challenges like generation, workflow, and visibility.
Throughout those iterations, the 110- (and growing) person company has also iterated on the way it delivers its product.
Because despite designing a stellar application built with superior technology, diverse capabilities, and low total cost of ownership, SpringCM was facing two issues that could easily stunt its adoption rate: a customer onboarding process that had the power to turn users off from the start, and an internal process that made product/feature releases few and far between.
And they both stemmed from the same issue. Which sets the stage for The Test.
The integration between SpringCM and Salesforce has always been natural. Sales representatives want to work in software they are comfortable with (Salesforce) but be able to seamlessly enjoy the robust features of task-specific widgets (SpringCM) within that environment.
That was not an issue. Though SpringCM was originally built outside of Force.com, today, all of its functionality is available both within Salesforce and as a stand-alone application.
The real issue was that SpringCM’s developers knew their app inside and out — outside of force.com. But without specific Salesforce expertise and knowledge of best practices, they weren’t able to harness the power of the AppExchange to make the customer experience the best it could be. This simple — yet complex — issue caused several problems both externally and internally.
Case in point: The customer installation process.
“It took way too much on the front side of things for customers to get installed,” explains Chris Van Horn, Senior Product Manager at SpringCM. “The admin going through the install process probably wanted to pull their hair out when they were done. We’re talking about a 30-page manual with steps that had to be followed precisely because one wrong step would deter the whole process.”
Not to mention that admins also needed a working knowledge of Salesforce syntax and the ability to create individual Visualforce pages for objects to make it happen. Many-a-phone call to SpringCM’s Professional Services department was all it took for the company to know that something had to change because if the application was being judged on first impressions, it wasn’t going to make it to the second date.
“This is the first thing that customer teams see as they start the SpringCM journey. It was complex and time-consuming to do the most basic (and desired) of things: integrate Salesforce and SpringCM,” says Chris. “Our Professional Services team is great, but they can’t do it all — and with the level of support that was required, there was no way we could scale.”
Which brought CodeScience to step one of the SpringCM process: rebuilding that first touchpoint where customers integrate SpringCM’s File it! app with Salesforce to allow the customer to be fully self-sufficient and eliminate questions of whether they had made the right decision.
Internally, SpringCM was facing another issue: the product release schedule was daunting.
“We were getting held up in the build and release portion of the cycle because we were backlogged in how fast we could turn around bug fixes and feature enhancements. Everything was done manually, and testing in 15+ environments is rife with challenges,” explains Keith Litwin, Senior Director of Software Engineering at SpringCM. “We were having trouble establishing the processes we managed so efficiently outside of force.com, and because of these challenges, we were hitting maybe 2-3 releases per year with 8-10 developers collaborating in the same environments while battling manual QA testing.”
For a company that thrives off listening to its customers and iterating based on feedback, the complicated production process and limited release schedule wasn’t allowing it to show customers exactly how much they care.
And so, The Test: How could SpringCM eliminate the customer’s internal questioning of whether they’re in the right place during installation and simplify internal processes to smooth out developer operations and build a more lean release schedule? That’s where CodeScience comes in.
SpringCM and CodeScience had to start by defining two oft-neglected personas: Salesforce administrators (those installing the app in the Salesforce environment), and Spring’s own developers.
The goal? In Chris’ words: “For both, the crux of it was this: Make it easy.”
Starting with the customer, SpringCM and C|S took a look at the step-by-step installation process and where the major hangups were. Then, they built in functionality at three stages in order to simplify the process overall:
Authenticating with OAuth: Standard Salesforce language and best practices includes the use of OAuth, an authorization step that allows users to easily authenticate the connection between the user’s SpringCM account and Salesforce. Now, admins simply need to hit “Allow Access” and bam, the two systems are communicating with each other.
Building a mapping wizard: Instead of following a few-dozen-page manual, users could follow the (very visual) wizard, which “gives a nearly MailMerge-like field, drag-and-drop experience to set up the mapping structure between SpringCM’s document management system and the user’s Salesforce structure.” Users want to visually understand exactly how SpringCM is being organized around a Salesforce object as they install it — this gives them that ability.
Automating Visualforce objects: Where administrators previously needed to know Salesforce syntax to manually create individual Visualforce pages for each object, automation means dynamic creation of Visualforce pages for objects. Hands free, if you will.
With a three-step process that prompts the admin, it gives SpringCM the ability to live up to its slogan for File It: “Content in context.” And it takes a heck of a lot of pressure off of SpringCM’s customer success team when the phone stops ringing like a telethon.
Of course, this wasn’t all done in a day. (We’re not that fast.) This Science experiment included rounds of mockups, user testing, iterations, new mockups, and new testing. That user testing is what made this project so successful.
“We essentially prototyped this functionality for our customers, which created instant feedback and made fast iterating possible,” explains Chris.
Meanwhile, Keith and his team of SpringCM developers were working with CodeScience to make the DevOps persona a priority.
Partnering up, SpringCM and C|S immediately took a look at the exact issues holding up the build and release portion of Spring’s product cycle — from the developer environment to QA testing to overall process.
Isolating environments: The teams started by isolating individual developer environments, so that they could feel more confident hopping in to work on code without stepping on each others’ toes.
Combining GitHub with Jenkins and Apache Ant: With developers in isolation, SpringCM needed a way to easily converge for integration. Enter the combination of GitHub, which maintains all of the code, with Jenkins and Apache Ant, and code would move to different orgs automatically.
“Before this, it was a much more involved process that wasn’t centrally managed, with more people trying to communicate code status and the QA team emailing links and grabbing code by hand,” explains Keith. “It kind of worked, but you weren’t as confident and couldn’t easily package and deploy.”
It’s a process that was averaging SpringCM two to three deployments per year. Now, with less manual interaction, consistently up-to-date environments and seamless source code management, it allows developers to spend more time developing, iterating and deploying code — what they do best.
The proof is in the pudding — which brings us to The Results.
We were getting held up in the build and release portion of the cycle, because we were backlogged in how fast we could turn around bug fixes and feature enhancements. We were having trouble establishing the processes we managed so efficiently outside of force.com.
Keith Litwin, Senior Director of Software Engineering, SpringCM
A Different Way of Life
“As an organization, we invested in our overall process to make it easier to respond to the needs of our customer. File It! was the beneficiary of this process. This is the first touch point that our customers have and now it’s easy, efficient, and straightforward. What makes it possible is that now, delivering code is vastly more efficient than our previous approach,” says Chris.
- Customer satisfaction? Check.
- DevOps satisfaction? Check.
Let’s take a look at the customer side: Streamlining installation added up to a 600% reduction in the installation guide, from a 30-page, two-hour time commitment to a 10-15 minute, guided process. The reduction in the technical acumen needed results in a lower total cost of ownership, and, most importantly, immediate confidence and satisfaction in the product from customers.
Here’s what that’s lead to — so far. In 2015 alone, SpringCM grew its annual recurring revenue (ARR) by approximately 160% — not just by increasing the amount of clients it serves (by 125%), but by also increasing the size of the deals signed (by nearly a third).
“We just signed Accenture, which was a huge win for us,” says Chris. “We’re looking at the whole story when it comes to signing clients like Accenture, Frontier Communications, ZenDesk, TrueCar, NBC Universal, and the roster of awesome customers we have. We’re releasing more often, turning around more features that matter, and ultimately better meeting the needs of our customers.”
Streamlining internally allows SpringCM to meet those needs — and to manage over 125 million documents and 70 million step executions per month.
Next up: DevOps. Let’s hear it from Keith, first: “Now, we can push features and bug fixes within a day,” he says. “It’s refreshing how fast work is able to be looked at and vetted. Visibility into this process was one of the biggest things gained.”
Specifically, speed of build and release has increased from 2-3 release cycles per year to 18: 6 major releases and 12 minor, with patch releases on top of that. It makes packages easier to create and deploy, allowing SpringCM to offer three where it used to offer one.
From Keith: “If all C|S had done was help us smooth out the dev process alone, that would’ve been tremendous. We’ve spun up two new packages and can easily make changes.”
The same discipline and paradigm Spring was exercising outside of Force.com is now being deployed within it.
“We didn’t know what we didn’t know,” explains Keith. “CodeScience helped us prioritize our projects, showing us how to roll pieces out to get the most bang.”
Adds Chris: “Our success today is largely due to CodeScience helping us. They love what they do, love solving problems, love being creative, and love making sure their customers are successful. It’s like working with family. We now have a framework in place that lowers our costs and increases our ability to deliver needed functionalities — and, most important, we’re consistently conveying a message to our customers that we can respond to their feedback, faster.”
Which gets SpringCM to that unprecedented 96% renewal and retention rate. And our jaws fully on the ground.
While we’re picking those back up, SpringCM will be getting back to what it does best: focusing on the documents that are integral to the CLM process.
“Who’s most excited? We all are. In reality, for us as an organization, it’s making sure our customers are happy with what we’re doing. These things are a testament to what we’re doing and the way we’re solving problems,” says Chris.
And they’re exactly on the track they need to be to exceed their goal of hitting 1,000 customers by next year. Exciting, indeed.