I love this idea. I definitely think it can improve a lot the knowledge sharing 
across Airflow. Given the history and the number of components in Airflow, it 
is hard to keep up with everything, so having these ADRs would help a lot I 
think!

On 2023/12/03 23:57:11 Jarek Potiuk wrote:
> Hey everyone,
> 
> I think we had a bit of clash in
> https://github.com/apache/airflow/pull/32319 where both "ideas"
> (serialization and common.sql) had not been sufficiently
> discussed/explained and I hope we can address it by adding (a bit) more
> "whys" to our (developer) documentation.
> 
> I think a number of our past decisions and reasoning behind them are often
> staying in the heads of the people who were discussing them, and even if it
> is captured in past discussions, PRs, it's difficult to do "archeology" on
> them and re-process them and understand what we wanted to achieve and why.
> Some of those are big enough to have impact on future PRs etc. while not
> big enough to get to Airflow Improvement Proposals and I think we miss
> a bit of persistent "decision records" for them.
> 
> Two cases in question: Serialization and Common.sql API - both of which
> have not been understood well by people involved in one, but not the other
> in the past.
> 
> With the "common.sql" PR (https://github.com/apache/airflow/pull/36015) -
> my proposal is to add it in the form of ADR ("Architecture Decision
> Records'  - which is a very simple and lightweight way of storing the
> decisions we made - and evolving them.
> 
> ADRs are pretty popular and adopted in mature organisations/projects and
> I've used them in `breeze`
> https://github.com/apache/airflow/tree/main/dev/breeze/doc/adr and I think
> they are perfect for capturing, context, decisions and putting down the
> consequences of some decisions.
> 
> They are usually kept close to the code the decision is about, they are
> usually short and describe a single aspect of architectural decision, and
> they are aimed to be read whenever in the future, people who were not
> involved in those decisions can easily recover why the decisions are made
> and what are the consequences of it.
> 
> I am not saying - of course - we should do it for all or even most changes
> - I am talking about decisions that have potential impact on others - in
> the future. I.e. when we tell (this is how our approach should look in the
> future for "general" behaviour.
> 
> Both - serialization and common.sql are good examples of such decisions -
> that I believe deserve to be captured "why" we are doing them and what we
> wanted to achieve.
> 
> WDYT?
> 
> J.
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
For additional commands, e-mail: dev-h...@airflow.apache.org

Reply via email to