Get Inspire insights from former attendees in our AMA discussion thread on Inspire Buzz. ACEs and other community members are on call all week to answer!

Alteryx Server Discussions

Find answers, ask questions, and share expertise about Alteryx Server.

Change Management for Alteryx Workflows for an Enterprise

DeepakTyagi
8 - Asteroid

Alteryx is a leading Data Wrangling software used for Data Integration, cleanup, and Data Science. Alteryx gets used by Data scientists and Business Users to perform Self Service Data Analytics. As part of Self-service data analytics, business users are empowered to perform analysis independently with minimal help from the technology organization. An added advantage of this is short time-to-market for data analytics. As Business users are not familiar with the Software Development Lifecycle (SDLC) concepts, there is a lack of change management practice in their workflow development. Alteryx too does not provide integration with a version control and change management toolset.

To overcome this, the SDLC best practices from programming languages like Java, Python, etc. can be applied to Alteryx workflows in a lightweight manner to make them palatable for Business users.

The below diagram depicts a process flow of Change and version management for Alteryx Workflows for Business users. Here are the steps:

  1. The user creates business functionality in form of Alteryx workflows using Alteryx Designer and commits to a Version control tool ( GIT, CVS, SVN, etc.) after completing unit testing on his laptop/desktop
  2. Continuous integration (CI) tools (Jenkins, Bamboo, GitLab, etc.) pick it up and create an assembly using Maven or Ant
  3. Finally, this artifact from #2 gets deployed to a network share
  4. The user also publishes a shell workflow to the Alteryx Gallery that will have information on how to invoke this deployed artifact from the network share. If you are starting with an Analytic App, there is an option in the Interface Designer (Ctrl+Alt+D) window to run another workflow. This will open the interface window of the specified Analytic App.
DeepakTyagi_0-1625248943824.png

 

DeepakTyagi_1-1625248943905.png

 

If you have a workflow (non-Analytic App) and/or want to run a workflow (without questions and actions), I would use the Run Command Event. This can be configured to run on completion of the current workflow and can execute a batch file that can be written to execute a Alteryx Workflow. This feature mimics the functionality of the Run Command tool that can be added to the workflow

DeepakTyagi_2-1625248943827.png

 

DeepakTyagi_3-1625248943923.png

 

5. This shell workflow can take parameters and can either be scheduled within Alteryx Gallery or invoked using Alteryx REST APIs

DeepakTyagi_4-1625248943815.png

 

DeepakTyagi_5-1625248944108.png

 

Version Management:

In the version control tool, head-based development could be followed where the head or master branch is used by users to commit the code. After deployment, relevant workflows are tagged accordingly (DEV/QA/PROD). Create a branch after the production migration and associate it with a tag for easy identification (i.e. changes for requirement x).

Folder Structure:

Within the version management tool following folder or packages can be created to manage work associated with business functionality.

DeepakTyagi_6-1625248943918.png

 

DeepakTyagi_7-1625248943965.png

 

With these steps you can add lightweight version control and change management to the Alteryx workflows.

2 REPLIES 2
esoden
8 - Asteroid

This is a great write-up!! Capitalize has built a platform that makes version control easier and has native GIT integration. Your solution looks great. For those who need something that includes documentation, governance, version control, etc. This is worth a look! https://capitalizeconsulting.com/workflow-admin-manager/

 

DeepakTyagi
8 - Asteroid

thanks