The scenario we are working on today is the time when you have succeeded in the first use cases, gained traction in the business until finally a single team or even 2-3 teams in your data & analytics organisation is no longer enough. You need to scale up the organisation in order to handle the increasing demands from the business.
There are a few considerations to take into account that may sometimes seem to be at odds with one another. Done right, they are actually accelerating each other.
- Duplicate efforts – Having several teams building the same functionality means that some of that time could have been spent on meeting business needs.
- Team autonomy – In order to be able to plan properly and deliver without too many external dependencies the team needs to have as much autonomy as possible.
- Operational excellency – When each team has to build their own monitoring tools, restart mechanisms and operational management then they fulfill the requirements of that to a certain level. They rarely have the time to build good enough capabilities because the extra effort is prioritised versus business demands on new functionality.
To address these three things there are organisational and operating model options to go for. I will describe the one that I favour:
All teams sit on a common platform. This platform most likely consists of several services that have been put together into a coherent data & analytics ecosystem. As part of the Common Platform there are shared Frameworks for different functionality. Ex: Data Ingestion, Data Transformation, GDPR handling, Access management, etc.
The Foundation Team manages the Common Platform as a product, with a product owner that has the delivery teams as well as analysts, data scientists and others as their stakeholders.
The Delivery Team(s) create the functionality that supports the business demands. This includes data ingestion, data modelling, creating the data and analytics products that supports the current use cases. They use the common platform and shared frameworks to build their use cases.
In summary this model allows the Delivery teams to focus on the business use cases and have the autonomy to build what they need within the bounds of the common platform. It also allows the Foundation team to focus on building framework functionality and spend that little extra time on making it as operationally excellent as possible.