/TVP-example

A Thinnest Viable Platform (TVP) as described in Team Topologies, using just a Wiki page for a data platform.

Thinnest Viable Platform (TVP) Example using a Data Platform

Below the defintion of a TVP.

Thinnest Viable Platform Definition

Examples of a Thinnest Viable Platform (TVP) as defined in the book Team Topologies.

A TVP is a careful balance between keeping the platform small and ensuring that the platform is helping to accelerate and simplify software delivery for teams building on the platfom. (p.101, Team Topologies)

This material is based on some of the ideas in the book Team Topologies by Matthew Skelton @matthewskelton and Manuel Pais @manupaisable.

Example of a TVP for DataModels-as-a-Service

Our imaginary company looks like your typical med sized company, 100+ developers, a few business analysts & SQL-savvy people in departments like sales, marketing. Obviously, for these business analysts, just hacking SQL queries into a GUI ain't perfect. They create reports & dashboards to improve decision making in their departments.

To help them better deliver on that, we just decided to build a thin "platform", to simplify & accelerate their work, (which is to create a basis for improved decisions).


Imaginary Corp DataModels-as-a-Service

Image Corp Logo

We use dbt to manage our Data Models. Use the following workflow to create your new model:

  • Test your SQL with your favourite SQL-tool
  • Create a new model in the repository data-models
  • Follow the instructions in the data-models repository to test your model
  • Create a PR. It will be reviewed & deployed by team data-platform

Use the following resources to build your model

  • We follow the EL (T) framework. We thus dump all source data as raw data into the "raw" schema.
  • You can find the documentation, which you will need, here dbt-source-models
  • We use dbt tests to test the models. Read them up and create one or two for your model!

Our Service Agreement:

  • This service/platform is run by team data-platform.
  • We review PRs within 3 working days.
  • We run models every 1 hr.
  • We react to incidents within 4 working hours (between 9am-5pm).

Roadmap:

  • Q2: Provide a wrapper around the data-models repository to test your model & automatically deploy models that do not exceed a runtime of 15 mins. (automatic PR approval, to speed up your work.)
  • Q3: Integrate data-models support into a GUI to reach business analysts without git knowledge.