Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: 0107 construct library module lifecycle #108

Merged
merged 12 commits into from
Feb 13, 2020
Merged

Conversation

ccfife
Copy link
Contributor

@ccfife ccfife commented Jan 31, 2020


title: "RFC: #107 Construct Library Module Lifecycle"


Ready for review

Rendered version


By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache-2.0 license

text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
eladb
eladb previously approved these changes Feb 6, 2020
Copy link
Contributor

@eladb eladb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! I love it. I think it captures the process well and doesn’t introduce too much additional friction.

We are still thinking what’s the best way to vend experimental code. @rix0rrr is writing the RFC (#116).

Copy link
Contributor

@nija-at nija-at left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doc has the right content and captures our thinking of construct library graduation well.

However, a few things need to be ironed/detailed out -

Some items are very specific (how to find stakeholders, when is usage considered sufficient), while others are somewhat generic and not quite clear on their actions (observe for metrics, update tracking issue with primary use cases and required constructs, etc.).

The goal of the doc should be that every construct module owner and the squad should be to set up a mechanical process for graduating libraries (obviously, some of the engineering tasks like design reviews and bug fixes will not be mechanical).

If there are two or more places a piece of information is duplicated (for example, package.json and the roadmap), this doc should make it mechanical and hard to keep these up to date. Ideally, we should automate this and shouldn't need to update multiple places. We've already had a part of this problem where the spreadsheet we had is/was out of date with the metadata in the package.

We should capture a set of items at the bottom on the gaps in launching the advocated process.

text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
* write a blog post about how to use the module [optional but highly desired]
* **Observe** - monitor module utilization and GitHub issues filed against the stable module

# Construct prioritization framework
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest we split these off into a separate doc. prioritization ≠ lifecycle.

We need to make construct library prioritization work mechanical and easy. Tenets are not sufficient.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd argue that prioritization is the first step in the lifecycle, no?

text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
Copy link
Contributor

@nija-at nija-at left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was also wondering if there's a standard format for writing process documents of this nature.

Copy link
Contributor

@nija-at nija-at left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Take a look at some comments below and my response here - #108 (comment)

text/0107-construct-library-module-lifecycle.md Outdated Show resolved Hide resolved
- **Large**: 3-5 months
- **X-large**: 6 months or more

# Appendix C: Action Items
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Take another pass and identify opportunities to automate, particularly when some action is performed or threshold is reached; and we don't realize that it has happened.
For example, a new module is created as CFN only because of new CloudFormation artifacts. This happens automatically, so we'll need some way of notifying somewhere to add the activities to be performed around it. Similarly, there may be metrics that we don't currently track that may be part of a checklist, etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I've made a few edits to address this. At this point I think this RFC is serviceable. Let's go through a couple construct module graduation cycles and then refine based on what we learn.

Copy link
Contributor

@eladb eladb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merge!

@ccfife ccfife merged commit 5ff37d2 into aws:master Feb 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants