serverlessworkflow / specification

Serverless Workflow Specification
http://serverlessworkflow.io
Apache License 2.0
705 stars 145 forks source link

Define a "Priority of Constituencies" #906

Open matthias-pichler-warrify opened 1 week ago

matthias-pichler-warrify commented 1 week ago

The Web Platform Design Principles are the guidelines for designing web & browser apis. They define their "Priority of Constituencies"

If a trade-off needs to be made, always put user needs above all.

Similarly, when beginning to design an API, be sure to understand and document the user need that the API aims to address.

The internet is for end users: any change made to the web platform has the potential to affect vast numbers of people, and may have a profound impact on any person’s life. [RFC8890]

User needs come before the needs of web page authors, which come before the needs of user agent implementors, which come before the needs of specification writers, which come before theoretical purity.

Like all principles, this isn’t absolute. Ease of authoring affects how content reaches users. User agents have to prioritize finite engineering resources, which affects how features reach authors. Specification writers also have finite resources, and theoretical concerns reflect underlying needs of all of these groups.

And since this spec also has to balance the needs of "writers", "operators" and "implementors" I thought it could be valuable to define similar guiding principles to help us make decisions.

Obviously we do no have to go with their wording (or even their order, even though I agree with it). A good place for it could be in the or next to the Design section of the dsl.

cdavernas commented 1 week ago

I love the idea! It's IMO exactly what the DSL should be about: user before all.