To infinity and beyond isn’t just the goal of Buzz Lightyear, it’s also an accurate description of how often tech buyers make this critical mistake. And what is this critical mistake?
Not negotiating an easy, full, self-serve, cost-free, 100% DATA OUT clause in the contract — and forcing the supplier to prove it works one third (or one half) of the way into the agreement.
Sure, buyers always ask “can we get our data out if we choose not to renew” and sure suppliers always say “of course you can get a full data dump“, but the supplier rep is always going to say yes after the developers say it’s possible (but that doesn’t mean it’s encoded in the product, and more often than not with older platforms it requires the tech team to do the data dump — which might be more difficult and take a lot longer than they expect because they are using a shared database, have data and files split across multiple databases / servers, or they can only extract data a few files / tables at a time — and it might even come at a huge cost for their time), even if it’s really not. (It’s not just whether or not the development team can extract the data, it’s whether or not they can do so in some sort of standard format that would allow you to at least load it into a standard database or file storage system.)
The most important thing to remember is that even if a solution is the perfect fit for you now, it does not mean it will be the perfect fir for you next year, and by the time renewal comes up, due to changing organizational needs, changing provider directions, or a combination of the two, it may no longer be appropriate at all. Should this happen, you need to be able to migrate to a new solution quickly and easily, and this will require being able to extract all of your data from the current platform, self-serve, in a standard format that you can then push into a new platform as soon as that new platform is identified.
The only way to ensure this is to insist on a clause in the contract along the lines of the following:
The platform will contain a self-serve feature that will allow a buyer administrator to export any and/or all data in _____-format (e.g. XML, flat-file) in accordance with standard _____ (e.g. cXML, SQL) in a format that will allow the data to be immediately loaded into _____ (e.g. SAP, mySQL) application by executing a single load control-file/script. Attachments, if not stored in the database, should be capable of being downloaded in a (multi-)part ZIP file, with names and relative directory paths matching any indexes in the database directory files. If still in development, this capability must be fully implemented before one third [or one half] of the subscription term has expired.
Furthermore, on or before YYYY-MMM-DD, the supplier will walk the buyer administrator through a test of the export process wherein the buyer will self-serve export all of the data and then load it into a test instance of the indicated backup system. Should the test fail, the supplier will be subject to a monthly subscription penalty of X% a month until the functionality is complete and the test succeeds. Should the functionality not be finished by the time two thirds [three quarters] of the subscription term has expired, the supplier will be subject to a monthly subscription penalty of 2X% a month (as the buyer will have to invest in manual effort to recreate critical data in backup systems).
Any supplier that objects to the first part of the clause is likely NOT one that you want to be considering as most modern platforms support full data import and export through APIs and are built on the principles of data sharing. Furthermore, if the platform still doesn’t support export in a standard format, but claims they are working on it, you should expect most of the capability within a year if the platform really is serious about joining the modern data sharing club (and, thus, should not balk too much at the second part of the clause if they truly are serious as it should only take a few months to figure out a good export module for even a large schema).
Depending on how much data you produce, and how much manual effort it would be to manually recreate a copy of the data you can’t extract, X=20% would not be unreasonable in our view.
Finally, note that this requirement not only protects you in the situation where the platform isn’t right for you, but also increases the chance the platform will be right for you, as a platform that supports open data integration can usually be augmented with ease if you need additional functionality in the future, but don’t necessarily need a whole new platform as the current platform still does what it was purchased to do just fine.