bcgov / api-guidelines

BC Government API Guidelines
https://developer.gov.bc.ca/Data-and-APIs/BC-Government-API-Guidelines
Other
29 stars 10 forks source link

Separate process and design principles #6

Open jhtapia opened 5 years ago

jhtapia commented 5 years ago

Thanks for this! I have a comment.

In the Principles section I read the following:

API as a Product : apply the product owner role to API's

I think that development processes should be separated from design principles. Having a principle that implies that there should be a Product Owner looking at the API as a product excludes other Agile and traditional software development frameworks where there is no such roles. Consequently, it limits this principles to the Scrum framework. I don't think that design principles should be mixed with specific development processes. I would recommend to remove or rephrase the one mentioned above.

In a related note, in the Agile front, a self-organizing team can use the design principles to create high quality APIs, but the Product Owner should not need to have the technical background to understand them and prescribing them as backlog items. Product Owner focus more on vertical slices of functionality that deliver value to users. Product Owners should not need to focus on individual components of a solution.

jeff-card commented 5 years ago

Thank you for your comment! A peer review was held on August 9th and we have the following feedback:

We see where there could be confusion referring to “API as a product” under the Design Principles section. The main intent of this point was to prevent orphaning and encourage API ownership. Since API ownership is already covered under the Lifecycle Management section, we will remove “API as a Product” from the Design section, and add language around publishing and maintaining the guidelines to the Ownership portion.