At Guidewire, we think of each of our carrier customers as family members: true partners in what will be a career-long journey together. Holding this metaphor in our heads makes it easier to put engineering efforts into the right context and to prioritize them, but it also means that we take on a variety of burdens and responsibilities that transcend the traditional vendor-purchaser "relationship". I'm going to write about some of those challenges in my next few blog entries.
Let's start with a non-negotiable criterion for us: software that can be upgraded. We want to deliver new releases not just to layer in new business functionality (which is nice, too), but also because we want our solutions to be alive and meaningful on a generational timescale. In other words, even twenty years from go-live, we believe there is no reason that an insurance carrier should not have a technically sound, modern, and relevant core Guidewire system.
More than any other dimension, this has been where software company after software company have tripped, stumbled, fallen over, and eventually simply failed to serve carriers. Designing a system from the ground up with the right amount of modularity and test-driven specification is much more expensive in the short term than building a system that meets today's needs but takes shortcuts in the sub-surface, time-consuming, difficult-to-get-right areas that set the foundation for decades of quality execution.
I don't want to trivialize upgrades. Major new releases still demand real work and investment to absorb and integrate into the enterprise. There is no magic auto-upgrade button! But, we have gone to great lengths to make sure that two things hold:
First, we are committed to making the computer do as much of the heavy lifting as possible, and that means creating the right abstractions to separate configuration content from base product as well as supplying tooling that can help to automate bulk tasks and that can validate and ensure a complete transition.
Second, at Guidewire we take responsibility for refreshing the core platform and its constituent technologies on a continuous, lifetime basis. We try our best to carefully manage the components that make up our shared platform. That means we'll stick with "trusted and proven" where it still meets the needs of the business, but we'll eagerly renovate in areas where the software industry makes rapid progress.
This work of "curating" the platform and its components is one of our most important responsibilities as a software product company. It is the backbone of the technical value we bring to our customers, all of whom have entrusted at least a portion of their core operations to our systems for the long term.