It can’t be said enough – data is crucial to the long-term health and growth of your business. But it’s more than just having and using data, your data needs to be organized and systematized to guarantee quality and consistency, which is critical to scale.
Building a platform will help you create a better, more holistic view of your business. In transforming a monolithic direct database access to microservices that ensure that data and workflows are correct and can be reused across applications, you’ll develop deliberate workflows that connect over time to provide more powerful data and more streamlined operations. Your platform may even create growth opportunities within your customer base.
Out with the old, in with the new
If you’re working with an older infrastructure, your data silos likely make it challenging to scale and track the health of your business. At the same time, you’re trying to accelerate and building a platform may seem like too great an investment, in both time and money. And quite frankly, it will take time. But building a platform pays dividends in the long run, while not doing so will surely cost you.
I’ve been a part of companies that made the investment in a platform and I’ve watched others build from the ground up. What I have seen is that companies often start and then become successful because of one key application they develop. This flagship app addressed a critical job for their target customers that led to quick adoption. But over time, the underlying systems grow and it’s hard to manage the data and report on it.
Then, the company might develop another application, which is supported by a new dataset, but connecting to the same database. At this point, data silos emerge, and it becomes critical to hire strong data analysts to make sense of the data and create ETLs. But this isn’t a scalable approach. Every time a change is made to one of the applications, reports break.
And the more complicated your business solutions grow, and the more indirectly connected they are, the more complicated the data integration solutions get. At this point, your view of the business’s health is foggy at best because the data is spread across so many applications.
Avoiding the ripple effect
At some point, things will start to break – a sign that you need to make changes. But when you change one system, it affects them all. And you don’t even know who is affected because it’s difficult to know who’s pulling from the database.
Building a platform as early as possible allows to bypass these issues by creating APIs that centralize access to the data. This will allow your staff to spend less time fixing and maintaining a web of applications, and more time innovating the systems built atop them.
A platform allows you to move from people executing arbitrary SQL statements and passing around invalid data to ensuring that every system is interacting with valid objects in one central location. If you build a Delivery API, for example, your delivery department and your shipping department can build applications that leverage it.
Once you’ve broken down the monolithic applications into microservices, you can start giving access to these services. It is critical to avoid taxing your backend system too much and degrade performance. It will also allow you the ability to open access to external developers who can build innovative applications with these APIs that may complement your product offering.
At Square, for instance, we had a Point of Sale API. We began building applications that rely on it so we could take payments across all of our points of sales using the same service. And then we made it available to third party developers who are using it to build very different kinds of points of sale such as digital taxi applications, kiosks, and self-serve experiences – it helps cover use cases and serve specific industries that Square might not have the resources to invest in.
So, by building a platform, you can start to serve your customers in a wholly different fashion. That’s the power of having discrete components that you can use independently, but also connect within totally new applications.
The hard part is figuring out where to start once you’ve decided to build a platform. You’ll want to begin by auditing your internal systems and then come up with a plan for building APIs that wrap the entire application so there’s one point of access to the data.
The first set of applications that you transform will be difficult, and you’ll make mistakes. Start to build applications that aren’t at the center of your company and aren’t most critical to your business. You’ll want to target an application and workload that’s used regularly but can be somewhat contained. With a small team you can learn the best practices for your company and then have them train other teams.
From there, you’ll want to build out a roadmap. Find the point at which your customer needs intersect with your business’s core competencies – that should define your platform. In doing so, not only can you simplify your own operations, but you can do the same for your customers, which will have long term impact on your business’s growth.