While some concepts can be adapted, there are fundamental differences between the software development lifecycle and the analytics development lifecycle.

In the software lifecycle, planning, building, and monitoring are primarily managed by engineers. Even with specialization, everyone involved shares the "builder" persona, works on a single macro system, and collaborates using a common language: code.

In contrast, the analytics process involves multiple personas, including data engineers, analysts, and decision-makers. A single analytics workflow involves multiple, distinct jobs-to-be-done:

  • Framing the right questions
  • Shaping and analyzing the data
  • Interpreting the results
  • Making informed decisions and taking action

The personas involved in a single analytics workflow possess seemingly disparate skills, from coding to manipulating spreadsheets to working with tables and visual dashboards to interpreting and making decisions.

The heterogeneity of users, their skills, and the inputs and outputs processed makes analytics a challenging domain to treat as a single system running on a unified framework and language.

Additionally, the unique dynamics between builders and consumers—especially when distinguishing between internal and external users—significantly influence how software engineering and analytics functions operate.

As the concept of the Analytics Development Lifecycle (ADLC) advanced by dbt Labs and Tristan Handy inspired this post, I look forward to reading the whitepaper soon and participating in this important dialogue.