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

Iterate on feedback on Project Creation Flow #3054

Closed
Tracked by #3331
amandakys opened this issue Sep 20, 2023 · 8 comments · Fixed by #3357
Closed
Tracked by #3331

Iterate on feedback on Project Creation Flow #3054

amandakys opened this issue Sep 20, 2023 · 8 comments · Fixed by #3357
Assignees
Labels
Issue: Feature Request New feature or improvement to existing feature

Comments

@amandakys
Copy link

amandakys commented Sep 20, 2023

Following the internal user feedback session on 13/09/2023:

We presented the following prototype

(my-virtual-environment) ➜  kedro new 

Project Name
============
Please enter a human readable name for your new project.
Spaces, hyphens, and underscores are allowed. 
To skip this step in future use --name

[New Kedro Project]: My ML Pipeline 


Project Add-Ons 
================
Select which add-ons you'd like to include. 
To skip this step in future use --add-ons
To read more about these add-ons and what they do visit: kedro.org/

Add-Ons 
1) Lint:        Provides a basic linting set up with Black, Ruff 
2) Test:        Provides basic testing set up with pytest 
3) Log:         Provides more logging options, environment specific,  
4) Docs:        Provides basic documentations setup with Sphinx
5) Data :        Provides folder structure for data management  ???? What shall we call this 
6) PySpark:     Provides set up configuration for working with PySpark
7) Kedro-Viz:   Provides Kedro's native visualisation tool 

Which add-ons would you like to include in your project? [None/1-4/1,3/all]: 1,2

Example Pipeline 
================
Select whether you would like an example spaceflights pipeline included in your project.
To skip this step in the future use --example=y/n
To read more about how examples work visit: kedro.org/

Would you like to include an example pipeline? [Y\n]:Y

Congratulations! 
Your project My ML Pipeline has been created in directory /my_ml_pipeline 
You selected the following add-ons: Lint, Test 
It has been created with an example pipeline.

We received feedback on the following points: (❓flagged for further discussion)

  • the name add-ons makes it sound more optional, which can be misleading (possible names: tools, options, utilities, plugins) ❓
    should we allow users to define preset groups of add-ons?
  • adjusting the copy of the CLI wizard to better highlight that we are recommending tools for certain functionality i.e. Black/Pytest instead of just Lint/Test ❓
  • an interactive playground/sandbox UI for generating kedro new commands in the docs. Allow people to experiment with options and preview what the project would look like.
  • users suggested that the default state should include examples, but no add-ons, as the most likely user type to use a basic new command is a new command. ❓
  • if the user does not select the testing add-on the example project should not contain tests. (especially because we wouldn't have installed the testing dependencies)
  • providing a custom flag to bypass the interactive flow and apply defaults to all flags that aren't provided. this will help for programmatic creation, and also expert users who want to skip the flow. ❓
  • the --starter flow should stay independent of the addons flow to allow users to start a project with their own custom project.

Next Steps:

  • we have a external user feedback session where we aim to collect more feedback then have a discussion about which points we'd like to address.
@amandakys
Copy link
Author

Following the external user feedback section on 4/10/2023:

We received feedback on the following points

  • a flag to indicate that they wanted default values
  • users were happy to go through the interactive flow if no flags were used
  • users wanted to ability to create their own add-ons
  • users understood that a large list of add-ons might be intimidating but wanted 'advanced add-ons' perhaps accessible only via CLI
  • users were interested in add-ons for precommit, github actions, docker add-ons
  • users wanted to be able to access add-ons beyond the project creation flow (add them later)
  • users wanted an easier way to create a starter as a way to preset add-ons
  • users wanted to be make one line changes to a starter easily

@amandakys
Copy link
Author

Following feedback review we have decided to action the following for our 19.0 release

  • add-ons wil be renamed to tools
  • copy at the selection step will be updated to mention the benefits of using "software engineering best practice"
  • when a flag isnt chosen, the user will go through those steps of the interactive flow
  • copy at the end of the interactive flow to further highlight the ability to use flags to bypass the interactive flow

Features that we would like to discuss for post 19.0 will be tracked here #3135

@astrojuanlu
Copy link
Member

Thanks a lot for the summary @amandakys ! @merelcht if you want to open follow-up tickets and close this one go ahead, in any case the scope of the project creation flow for 0.19.0 is finalised and we'll continue improving it afterwards in @amandakys's #3135

@astrojuanlu
Copy link
Member

@amandakys will catch up with @AhdraMeraliQB , @SajidAlamQB , @lrcouto to make sure there's time to make the adjustments listed in #3054 (comment) , possibly add follow-up tickets if needed, and then we can close this one.

@amandakys
Copy link
Author

amandakys commented Oct 23, 2023

To do as part of this ticket:

  • Switch order of prompts - 1. name 2. addons 3. example
  • Rename to tools (final pass)
  • Adjust copy at the selection step will be updated to mention the benefits of using "software engineering best practice"

To do in other tickets:

Further review will take place

We will make a parent ticket to track this work because there's a lot of it.

#3216

@amandakys
Copy link
Author

amandakys commented Oct 23, 2023

Updated copy for the prototype:

(my-virtual-environment) ➜  kedro new 

Project Name
============
Please enter a human readable name for your new project.
Spaces, hyphens, and underscores are allowed. 
To skip this step in future use --name

[New Kedro Project]: My ML Pipeline 


Project Tools
================
These optional tools are here to help you apply software engineering best practices to your project quickly and easily. 
To skip this step in future use --add-ons
To read more about these add-ons and what they do visit: kedro.org/

Tools:
1) Lint:           Provides a basic linting set up with Black, Ruff 
2) Test:           Provides basic testing set up with pytest 
3) Log:            Provides more logging options, environment specific,  
4) Docs:           Provides basic documentations setup with Sphinx
5) Data Folder:    Provides folder structure for data management  
6) PySpark:        Provides set up configuration for working with PySpark
7) Kedro-Viz:      Provides Kedro's native visualisation tool 

Which tools would you like to include in your project? [None/1-4/1,3/all]: 1,2

Example Pipeline 
================
Select whether you would like an example spaceflights pipeline included in your project.
To skip this step in the future use --example=y/n
To read more about how examples work visit: kedro.org/

Would you like to include an example pipeline? [y\N]:N

Congratulations! 
Your project My ML Pipeline has been created in directory /my_ml_pipeline 
You selected the following tools: Lint, Test 
It has been created with an example pipeline.

To skip the interactive flow you can run `kedro new` with
kedro new --addons=<your-addons> --example=<yes/no>

@noklam
Copy link
Contributor

noklam commented Nov 14, 2023

2023-11-14

Follow up for next week:

  • Review the whole kedro new flow to see if there is any more changes needed.
  • Create remaining engineering ticket base on the feedback.

@merelcht merelcht moved this to To Do in Kedro Framework Nov 27, 2023
This was referenced Nov 27, 2023
@AhdraMeraliQB AhdraMeraliQB moved this from To Do to In Progress in Kedro Framework Nov 28, 2023
This was referenced Nov 28, 2023
@AhdraMeraliQB AhdraMeraliQB linked a pull request Nov 29, 2023 that will close this issue
8 tasks
@AhdraMeraliQB AhdraMeraliQB moved this from In Progress to Done in Kedro Framework Nov 29, 2023
@AhdraMeraliQB
Copy link
Contributor

Closed by #3357 and #3358

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Feature Request New feature or improvement to existing feature
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

5 participants