Document Manage:Workspace Jobs to be done
Problem
Document, prioritise & validate workspace JTBD.
Currently, our vision for Workspace is very focused on how we can simplify GitLab's information architecture and data model. We can improve this vision by prioritising the jobs to be done we wish to focus on.
Personas - Who are we designing for?
There will mostly be JTBD in two key buckets:
- Admins/Group owners - People who setup the space
- General users - People who use the space
IA Principles - What should workspaces/namespaces optimise for?
From UX showcase: IA@GitLab video [15m] (slides)
- Efficiency: Remove friction and duplicate work across containers.
- Consistency: Create parity between container functionality, and self-managed & SaaS customers.
- Sharing: Enable and control information flow across containers.
- Performance: Enable greater performance around queries spanning containers.
Main Job
Help me organise my people, teams, knowledge, content and value streams to deliver better software faster.
User stories
How should workspaces/namespaces help me to do my job?
1. Navigate content & features
When I am navigating a product; I want to find the content & features that are relevant to me; so that I can productively use the tool.
- Navigate across workspaces #351659 (closed)
- Navigate across namespaces #343220
- Navigate across features and content #351662 (closed)
- Navigate my specific content
- Navigate public content
2. Manage users, teams & workflows
When I am defining my team's software development lifecycle; I want to manage users, teams and workflows; so that we can enable secure collaboration, standardise practices, optimise globally.
- Manage spaces: When organising my teams, projects and knowledge in a product; I want to manage nested spaces; so that my teams can collaborate, communicate and share information effectively. #350492 (closed)
- Manage users: When organising my team in a product; I want to manage the spaces that users have access to; so that they can collaborate, communicate, and share information securely & effectively. #350470 (closed)
- Continuous improvement: When I have existing DevOps workflows; I want to identify bottlenecks, local optimisations and opportunities for improvement; so that I can optimize them and deliver value quickly & reliably. groupoptimize
... and more
3. Cascade content, settings and access down to children
When my organisation has a nuanced and nested knowledge architecture; I want to cascade content, settings and access top-down from parent to child organisations; so that my teams can collaborate, communicate, share information and maintain our organisation's standards.
4. Aggregate content up from children
When my organisation has a nuanced and nested knowledge architecture; I want to aggregate content bottom-up from child organisations; so that I can monitor activity, spot trends/bottlenecks and report to leadership on progress.
Examples
The above JTBD work in tandem with the stage group-specific JTBD/features. In other words, they provide a framework for how stage groups should think about using workspaces/namespaces...
Example stage group feature | 1. Navigate content & features | 2. Manage users, teams & workflows | 3. Cascade content, settings and access down to children | 4. Aggregate content up from children |
---|---|---|---|---|
Issues #343411 | Navigate between issues and related planning objects (e.g. milestones), swap between views of issues (e.g. list, board, roadmap, table) | Assign user from the current namespace, @ mention specific namespace team, link to MRs in current namespace | Cascade issue types and templates down to children, share default MR closing pattern with children, allow members of parent groups to access child issues | View full list of issues from all children, Consolidate list of labels used by all children, See analytics on issue adoption across children |
Users | Navigate to see members of this namespace | Make user a member of a namespace, Make user a Role::Developer in this namespace, #350470 (closed) | Allow user access to child namespaces | See a breakdown of user activity across all of their namespace |