  The Workflows as Code paradigm is becoming increasingly essential to
streamline the design and management of complex processes within data-intensive
software systems. These systems require robust capabilities to process,
analyze, and extract insights from large datasets. Workflow orchestration
platforms such as Apache Airflow are pivotal in meeting these needs, as they
effectively support the implementation of the Workflows as Code paradigm.
Nevertheless, despite its considerable advantages, developers still face
challenges due to the specialized demands of workflow orchestration and the
complexities of distributed execution environments. In this paper, we manually
study 1,000 sampled Stack Overflow posts derived from 9,591 Airflow-related
questions to understand developers' challenges and root causes while
implementing Workflows as Code. Our analysis results in a hierarchical taxonomy
of Airflow-related challenges that contains 7 high-level categories and 14
sub-categories. We find that the most significant obstacles for developers
arise when defining and executing their workflow. Our in-depth analysis
identifies 10 root causes behind the challenges, including incorrect workflow
configuration, complex environmental setup, and a lack of basic knowledge about
Airflow and the external systems that it interacts with. Additionally, our
analysis of references shared within the collected posts reveals that beyond
the frequently cited Airflow documentation, documentation from external systems
and third-party providers is also commonly referenced to address
Airflow-related challenges.
