-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Add explanation/concept for extension maturity model #42446
base: main
Are you sure you want to change the base?
Add explanation/concept for extension maturity model #42446
Conversation
764738f
to
16e3f8e
Compare
Status for workflow
|
This comment has been minimized.
This comment has been minimized.
16e3f8e
to
9c13618
Compare
This comment has been minimized.
This comment has been minimized.
9c13618
to
586b196
Compare
This comment has been minimized.
This comment has been minimized.
586b196
to
426380d
Compare
This comment has been minimized.
This comment has been minimized.
426380d
to
cc470d6
Compare
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good stuff! just suggestion on cleaner ordering
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the general idea.
I added some comments here and there.
* Codestart application template | ||
|
||
The order in this model isn't exact. Different developers will have different views on what capabilities are most important. You may wish to (say) prioritise performance over enhancing your extension's Dev UI tile. That's fine! | ||
Also, not every step will apply to every extension. For example, you don't need a dev service if your extension doesn't depend on external services. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it needs to be clear that you don't need to implement all of this before releasing your extension. It's more or less mentioned but people have a tendency to go over the top sometimes when developing in the open and we need to clarify it's OK to publish a first version that doesn't handle everything.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, agree 100%. I was trying to convey that (and I think it's kind of implied by the maturity model), but I will be more explicit about that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order in this model isn't exact. Different developers will have different views on what capabilities are most important. You may wish to (say) prioritise performance over enhancing your extension's Dev UI tile. That's fine!
Also, not every step will apply to every extension. For example, you don't need a dev service if your extension doesn't depend on external services.
It's completely OK to publish a first version of an extension that doesn't handle everything. In fact, it's ok if your extension never gets to the more advanced features. This is a suggested pathway, not a minimum feature set.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect! (sorry forgot about it!)
I’ve changed the list to a graphic. This has the benefit of adding something beyond what’s in the ToC below and the base |
This comment has been minimized.
This comment has been minimized.
🎊 PR Preview 0c5417f has been successfully built and deployed to https://quarkus-pr-main-42446-preview.surge.sh/version/main/guides/
|
This comment has been minimized.
This comment has been minimized.
I find surge previews 504 a lot. But the price is right. :)
🎉 I think I've managed to pad out the observability section so that the document is a bit less lopsided. We can also iterate once it's live, of course. |
This comment has been minimized.
This comment has been minimized.
The new matrix is nice - but what does the dotted line supposed to mean/signal? |
It's intended to be the same line as in https://blog.container-solutions.com/hubfs/CS--LP__assets/CS--LP__images/mm_diagram.png, only I didn't change the colour either side of the line because it would be hard work, and I'm assuming we'll get James to draw something nicer. So it's a progress mark, but with the distinction that we'd get blue areas to the right of the line, too. So I imagine it'd be a bit like this in a final render: (I'm not sure we'd bother with the goal line, either, so maybe ignore that part of what I pasted.) |
Co-authored-by: Max Rydahl Andersen <[email protected]>
This comment has been minimized.
This comment has been minimized.
gotcha - I like the one in the render as it does not have a strict order and if we actually remove the dotted line the progress is visible (all the blue vs green) and we can make a matrix that stays stable for any extension this way (if we wanted to) - just different levels of blue vs pink. |
My assumption is 100% that the text would stay stable for different extensions, just the areas that are coloured might be different. Are we good to invoke @insectengine for graphic work, to produce something with the visual feel of , and the colours and words in my PR, or do we need to discuss more? |
if its a matrix without a top level order as shown in the render then i think we are all good to get james to make it pretty. the various areas/content we can iterate on and expand independent of the matrix. |
This comment has been minimized.
This comment has been minimized.
posted PNG and SVG versions above. The difference between them is the alignment of the dotted line separator. |
This comment has been minimized.
This comment has been minimized.
I've incorporated @insectengine's much more attractive graphic. Preview link: ttps://quarkus-pr-main-42446-preview.surge.sh/version/main/guides/extension-maturity-matrix Based on the conversation, I'm not aware of any blockers to merging at this stage. |
Yes, all good for me. The new matrix looks great! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1!
I would still go for removing the "progress line" as its not really a progres.
@holly-cummins do you think we can get the "dotted line" removed from the matrix? |
I wasn't super-wedded to the dotted line, so I asked James to do a version without the line. Buuut ... ... looking at the version without the line, I think it loses a surprising amount of meaning. Without the progress indicator, it looks a bit like a random collection of blobs, and there's no sense that people should be aiming to progress through them. So now I'm back to thinking we should stick with the dotted line. |
I grok why you feel something is missing but I'm still +1 for no line as it is only meaningful if there is total order. It's basically a bingo card - the more you fill out the higher chance for winning :) |
Well, only if bingo cards had some squares that actually had to be filled in in a certain order. "We've called 5, you can stamp that on your card, but folks, I'm afraid you can only stamp 5 if you've already stamped 62." It's physically impossible to do a dev service without having done config support first. You can't have an advanced dev UI if you don't have basic dev UI. And it would be extremely hard to do most dev joy features without hooking your services up as CDI components. In deciding whether to get normal mode or dev mode or native mode working first, there's also a fairly strong natural order. So it's a cross between a bingo card and something with progression. It would be great if we could find a way to indicate that, visually. However, the dotted line may not be that way; George mentioned he was confused by it. So I'll go with majority vote and push the line-free graphic onto the branch. |
Status for workflow
|
Can we make this image a |
This is part of the bigger plan for extension documentation: https://github.com/quarkusio/quarkus/issues/37288
Obviously, there’s a gap for dev services documentation, which I’ll move on to next. Once I've got something linkable for dev services documentation, I will come back and link here.
One of the links needs quarkiverse/quarkiverse#229 to merge for it to resolve. I decided to be optimistic about the order things would happen and put the link in anyway.
The preview comments aren't working, but this is the link to the new page: https://quarkus-pr-main-42446-preview.surge.sh/version/main/guides/extension-maturity-model
Question for reviewers: Should the list at the top be numbered? Or perhaps a graphic, so that it's more distinct from the table of contents lower down? https://en.m.wikipedia.org/wiki/File:Characteristics_of_Capability_Maturity_Model.svg is a somewhat standardised visualisation of maturity models, but it's harder to edit than raw text.