In a large enterprise, one of the perennial challenges is to manage changes to data over time. The industry is moving towards a shift-left philosophy to handle this by starting to think about data contracts and contract testing.
What does this mean for Alteryx?
Well - if you look at the strategy that DBT is following, each workflow has a defined entry data contract, and a defined exit data contract - so that if anything changes you can immediately tell if you are going to break someone else's work. This also sets you up for lineage in an important way - if you build in field and data-set level lineage from day zero - then you can look across an enterprise and answer questions like:
- If I remove this field - who will I impact downstream (e.g. other Alteryx users; Tableau dashboards etc)
- Who is using my data - so that I can talk to them about their data needs? Who do I need to tell if my workflow fails
- has someone upstream of me changed their flow in a way that breaks me?
- Where does this field come from - looking across a series of flows and transformations (critical for regulatory requirements).
This kind of thinking is hard to add in afterwards - so it would be good to build this into the product in these early days so that this becomes a key foundational piece.