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

User research of low user-adoption of namespace (TBD with PM and Design Lead) #4382

Open
iamelijahko opened this issue Dec 13, 2024 · 1 comment
Assignees

Comments

@iamelijahko
Copy link

iamelijahko commented Dec 13, 2024

Following the technical design sessions on 4th & 6th December 2024, the TSC has decided to "adopt Namespaces as a node grouping method and use Helper Functions for sustainable maintenance" as part of Kedro's deployment strategy.

image

While a Prototype for node grouping deployment solution using namespaces #4376, it is important to address the low user adoption of namespaces. To tackle this, I propose to conduct a usability session to investigate the causes. (TBD with @astrojuanlu and @stephkaiser)

Proposed Plan
Who: Kedro users with no prior experience using namespaces.
How: Code shadowing in a lab setting to observe the user flow and identify pain points.
We also conducted a walkthrough of the current namespace UI during the [Tech Design session (4th Dec)].

This ticket falls under the parent issues:
Improve Node Grouping in Kedro Deployment (#4319)
Enhance Kedro Namespaces Adoption (#4343)

@astrojuanlu
Copy link
Member

Thanks for opening this issue @iamelijahko . I have a few thoughts.

On namespaces for deployment

I love the idea of setting up a "lab setting" to observe the user flow. There's different ways we can do it:

Option 1: "Do this with namespaces"

Pros: We observe exactly what we want
Cons: Users will wonder "why should I do this?", which can hinder the usefulness of the experiment. We should ask the users to achieve some tangible goal, otherwise what's the point for them?

Option 2: "Split this pipeline for deployment"

Pros: Goal-oriented
Cons: We don't control whether users use namespaces. In an extreme case, it could happen that nobody chooses to use namespaces (because of the UX issues we're trying to understand). And also we already are somewhat confident that users will probably use tags or separate pipelines for this.

Option 3: "Create a collapsible pipeline"

Pros: Goal-oriented and the only way to do this in Kedro is through namespaces, so the users would be forced to use this method.
Cons: Not really related to deployment!


In short, I don't see a nice way of setting up this lab experiment in a way that's useful for us to understand why users aren't using namespaces for partitioning their pipelines.

On namespaces, in general

I think it's still useful to do this research anyway, because namespaces are the basis of collapsible/expandable pipelines in Viz as well as our currently "blessed" solution for pipeline experimentation (see GetInData's "Dynamic pipelines" blog post), which is another source of struggle for our users (see evidence at #4251, #3282).

However, I think we should

  • Do this with a user-centric perspective, and avoid fixating on a particular Kedro feature
  • Prepare alternative prototypes or ideas on how this can be even better, including @DimedS's "helper scripts" idea Improve Node Grouping in Kedro Deployment #4319 (comment) and @Huongg 's ideas on using Viz for this task
  • Arrive to this research with some hypothesis in mind
    • Including the hypothesis that maybe namespaces are just not the right solution to some or any of these problems

If we don't do this, then we already know the end result: we will notice UX and documentation flaws. Yet we won't have any guarantee that users will find enough value in namespaces even after we spend time fixing them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants