An Empirical Study of Developers' Challenges in Implementing Workflows as Code: A Case Study on Apache Airflow
<|reference_start|>An Empirical Study of Developers' Challenges in Implementing Workflows as Code: A Case Study on Apache Airflow: 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.<|reference_end|>
@article{yasmin2024an,
    title={An Empirical Study of Developers' Challenges in Implementing Workflows
  as Code: A Case Study on Apache Airflow},
    author={Jerin Yasmin, Jiale Wang, Yuan Tian, Bram Adams},
    journal={arXiv preprint arXiv:2406.00180},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.00180},
    primaryClass={cs.SE}
}