-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Pavithra Eswaramoorthy <[email protected]> Co-authored-by: Kim Pevey <[email protected]>
- Loading branch information
1 parent
3b8686d
commit 5e5ce8b
Showing
3 changed files
with
202 additions
and
0 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
sidebar_position: 5 | ||
description: UI, UX, and graphic design docs | ||
--- | ||
|
||
# Design | ||
|
||
import DocCardList from '@theme/DocCardList'; | ||
import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; | ||
|
||
<DocCardList items={useCurrentSidebarCategory().items}/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
--- | ||
description: Describes current and potential conda-store users` | ||
--- | ||
|
||
# User groups and personas | ||
|
||
The personas used for informing user research studies and future improvements to conda-store. | ||
|
||
## User groups 🏘️ | ||
|
||
At a high-level, there are two key user groups: | ||
|
||
- **General user:** Create, edit, use environments for their day-to-day work | ||
- **Admin user:** In addition to the general use-case mentioned above, admin users also **setup** conda-store for their team, create various namespaces, add/update users and their permissions, set default packages/versions for their team, etc. | ||
|
||
## User personas 🙋🏽♀️ | ||
|
||
### User: Alia | ||
|
||
| Role | Reports to | User group| | ||
|-------|-------|-------| | ||
Staff Data Scientist | Head of Data Science | General | | ||
|
||
#### User story | ||
|
||
I want to quickly create a stable and reproducible environment for analyzing data and creating dashboards that I can share with my team to verify and build on my work. | ||
|
||
#### Tools they need to do their job | ||
|
||
- Libraries - data reader/writer (arrow), data processing (pandas), numerical computing (NumPy), ML (XGboost / PyTorch), Data Visualization and dashboarding (Matplotlib / Streamlit), job schedulers (Airflow) | ||
- IDE - JupyterLab/Notebook (hence, extensions) | ||
- Platform - Local computer, organization's JupyterHub on Cloud platform (potentially Nebari) | ||
- Miscellaneous - Git, GitHub, conda | ||
|
||
#### Journey with conda-store | ||
|
||
- Discovery: | ||
- Team already uses it | ||
- Team leader sets it up for everyone | ||
- Onboarding: | ||
- A team member gives them a walkthrough | ||
- Documented tutorials | ||
- Intuitiveness of the UI | ||
- General Use: | ||
- Environment creation from GUI, YAML, Lockfile | ||
- Version control | ||
- Using the environment in Jupyter Notebook (local / cloud) | ||
- Ability to use any package/version out there | ||
- Access to special conda channels | ||
- Environments for GPU-powered data analysis and modelling | ||
- Collaboration: | ||
- Share environment with colleagues with a URL (Part of 1-2 shared namespaces) | ||
- Fork/Copy environments between namespaces | ||
- Download artifacts like docker images for use in other (prod?) machines | ||
- Troubleshooting: | ||
- Understand errors through the error message displayed | ||
- Look at conda-store’s documentation & GH issues/discussions, search for the error | ||
- Contact team-members or internal support | ||
- Open an issue/discussion on GitHub | ||
|
||
#### Pain points or biggest challenges | ||
|
||
- Environments need to be compliant with company standards, for example, approved conda channels and approved package versions | ||
- Build environments with libraries from internal mirrors | ||
- Ensure stable environments that are quickly reproducible by colleagues and can be used by Ops teams for deployment (often on similar machines and operating-systems) | ||
|
||
#### Core needs | ||
|
||
- Intuitive and fast environment creation & sharing | ||
- Promise of stability, security, and compliance | ||
|
||
### User: Dani | ||
|
||
| Role | Reports to | User group| | ||
|-------|-------|-------| | ||
Research Scientist and Coordinator | PI | Admin | | ||
|
||
#### User story | ||
|
||
As a research coordinator, I manage the logistics and admin-tasks of multiple research projects, ensuring that the tools/dependencies used are accessible, reproducible and standardized across projects. | ||
|
||
#### Tools they need to do their job | ||
|
||
In addition to Alia’s tools, cloud or High Performance Computing (HPC) tools (for example, Google Cloud Platform's web interface and CLI tools.) | ||
|
||
#### Journey with conda-store | ||
|
||
- Discovery: | ||
- OSS Community, conferences, peer suggestions | ||
- Tries out conda-store locally and finds it useful | ||
- Onboarding: | ||
- Documentation, self-exploration | ||
- General Use: | ||
- Setup and deployment using the conda-store docs, within current Lab infra | ||
- Add team members, create default namespaces and environments, referring to the documentation | ||
- Onboard team members to the tool with demonstrations | ||
- Track and limit resource utilization | ||
- Collaboration: | ||
- Uses environments created by colleagues to verify their work | ||
- Troubleshooting: | ||
- Documentation, issue tracker (reach out to the conda-store dev team) | ||
|
||
#### Pain points or biggest challenges | ||
|
||
- Facilitating reproducible environment sharing within teams by setting up relevant infrastructure | ||
- Managing and supporting team-members (like Alia) | ||
- May not have DevOps expertise to setup and manage conda-store for the team | ||
- Reliable environments with guardrails for people new to software development principles (example, not comfortable with YAML spec) | ||
- Sharing environments widely, considering different operating systems and infrastructures. | ||
|
||
#### Core needs | ||
|
||
- Setting up & managing packaging infrastructure for the lab, potentially on an HPC system as as non-devops professional | ||
- Visibility into groups’ package requirements and resources used | ||
- Sharing environments widely, considering different operating systems and infrastructures | ||
|
||
### User: Emma | ||
|
||
| Role | Reports to | User group| | ||
|-------|-------|-------| | ||
Freelance data scientist | - | General | | ||
|
||
#### User story | ||
|
||
I want to manage my local conda environments, so that I can be more efficient in my day-to-day work. | ||
|
||
#### Tools they need to do their job | ||
|
||
Same as Alia, but primarily for individual work. | ||
|
||
#### Journey with conda-store | ||
|
||
- Discovery | ||
- Internet, community spaces, conferences | ||
- Onboarding | ||
- Documentation | ||
- General Use | ||
- Install and setup conda-store locally | ||
- Create environments in my personal namespace | ||
- Use the environments in Jupyter Notebooks | ||
- Collaboration | ||
- Share relevant artifacts (e.g., Lockfiles) with clients | ||
- Troubleshooting | ||
- Documentation, issue tracker | ||
|
||
#### Pain points or biggest challenges | ||
|
||
- Sometimes conda environments break while working, adding overhead | ||
- Environments are not always reproducible when I share them | ||
- Using the environment-creation artifacts shared with the application should be as easy as possible (think installers/executables) | ||
|
||
#### Core needs | ||
|
||
- Reliable and quick environment creation that follow conda best practices | ||
- Creating reproducible environments that I can share with clients later | ||
|
||
### User: Ginny | ||
|
||
| Role | Reports to | User group| | ||
|-------|-------|-------| | ||
Head of Data Science | CTO | Admin | | ||
|
||
#### User story | ||
|
||
I need to oversee the implementation, management, and adoption of tools like conda-store to ensure our teams’ workflows are efficient and our data science initiatives align with business goals. | ||
|
||
#### Tools they need to do their job | ||
|
||
The IDEs, platform, miscellaneous tools used by Alia, primarily for reviews and tracking work. | ||
|
||
#### Journey with conda-store | ||
|
||
- Discovery: | ||
- Team lead pitches it | ||
- Community spaces | ||
- Onboarding: | ||
- Team lead/member who sets up conda-store helps them onboard | ||
- Documentation | ||
- General Use: | ||
- Review resource utilization | ||
- Review package and channel requests | ||
|
||
#### Pain points or biggest challenges | ||
|
||
- Strategic alignment with organization goals | ||
- Tool adoption across teams | ||
|
||
#### Core needs | ||
|
||
- Oversight on tool efficiency and team productivity | ||
- Enablement of various teams |