Skip to content

Validate the need for a first-class import experience

What's this issue all about?

Currently, GitLab's user experience for importing existing work into GitLab when setting up a new environment consists of multiple external tools which are used to first export the data from the source system and then import the data into an instance of GitLab. This experience requires a very technical person, and involves reading complex documentation. The process is error prone and not user friendly.

I would like to validate the need for a first-class import experience with intuitive UI.

What are the overarching goals for the research?

Gather research on the pain points involved with:

  • Creating a
    • new project
    • new group
  • Importing a project
    • from an 3rd party service
    • from .com
    • from self managed instance
  • Importing a group
    • from an 3rd party service
    • from .com
    • from self managed instance
  • Importing 3rd party services:
    • JIRA
    • ... etc?

What hypotheses and/or assumptions do you have?

  • Users are experiencing complexity with the current project/group creation and import. As the first point of utilization, the project/group creation section can influence a user's perspective of GitLab and impact the feeling of a "delightful" and usable experience.
  • First-class import experience removes friction from customers when onboarding.
  • First-class import experience creates a positive first impression about GitLab.
  • First-class import experience builds confidence with customers.
  • Most users will use the UI.
  • Most users will be familiar with the structure of GitLab (ie groups/projects).
  • Most users will import a whole group with projects, instead of single projects.

What questions are you trying to answer?

  • What is the largest size our importer can handle?
  • What is the largest import size possible?
  • How many imports are successes and failures?
  • What is the most common import type? (metrics needed from engineering)
  • What are the complaints of the current import process?
  • What features are currently lacking in the import process?
    • JIRA?
    • etc?
  • Do users want progressive/updating imports which would prevent duplication?
  • How can we provide error reporting / audit logs / pass-fail?
  • Do users want to wait for the task to finish or would they rather be notified of completion?
  • Do we need a notification system for large projects?
    • email of success/errors
    • system notification
  • Do users use import for other purposes (i.e. backup and later restore)?

Core questions

  • Who is doing imports?
  • How often?

Additional questions

TBD

What persona, persona segment, or customer type experiences the problem most acutely?

Depending on company size, one of these personas would be responsible for importing the existing work into Gitlab:

  • Primary persona:
    • Delaney (Development Team Lead), typically the most knowledgable person about the tools that their team uses
  • Secondary personas:
  • Devon (DevOps Engineer), in cases where CI is the primary reason for adopting Gitlab
  • Sidney (Systems Administrator), in larger enterprises, where the developers don't directly setup their tools

What business decisions will be made based on this information?

This information will be used to decide whether to proceed with the implementation of the new import user experience.

What timescales do you have in mind for the research?

2-3 months

Who will be leading the research?

@hdelalic

What is the link to your opportunity canvas? (Optional)

Related issue: gitlab#33489 (closed)

Current User Journey map

WIP
Screen_Shot_2020-03-25_at_2.15.39_PM

TBD: Opportunity Canvas

Questions and Assumptions Design Thinking Activity

Mural Board

Import Questions and Assumptions Mural

Participants

  • 2 UX Design
  • 1 Product Manager
  • 2 Backend Engineers
  • 1 Frontend Engineer

Process

We ran this exercise to determine the questions we need to answer and the assumptions we need to validate. Initially, we individually typed out all questions and assumptions we had about Import and our personas and posted them within the Mural.

We then arranged the sticky notes within a grid which represented how risky and how unsure or sure we are about the question or assumption. How certain are you in knowing the correct answer to the question, and how risky is it if you're wrong? Or, how convinced are you with your assumption?

After we identify which questions and assumptions we are most unsure of and find the riskiest, we discussed means to resolve or what it will take in order to answer the question or validate a hypothesis.

Screen_Shot_2020-05-17_at_1.58.58_PM

Outcome

The exercise helps us to understand where to focus our efforts during the research and information gathering phase. Below assumptions and questions are the most at risk and have the highest uncertainty.

Assumptions & Questions Means to resolve Owner
If we solve for the extreme will we solve for all? (volume and project size) Solution validation @hdelalic @amandakhughes
Importing a project is easy Solution validation @hdelalic @amandakhughes
Most users will use API/Most users will use the UI Logs @jhyson
How many imports are success vs failure? What do we have? What do we need to add? How many times were the imports restarted? @hdelalic to create issue
Most users will be familiar with the structure of GitLab (ie groups/projects) User interviews, Other UX/PM group? Professional services?? @hdelalic @amandakhughes
Most uses will import a whole group with projects, instead of single projects User research/interviews @hdelalic @amandakhughes
We should focus on Github import and make it awesome Usability testing on Github. Look at Bitbucket? @amandakhughes
Do users use import for other purposes (i.e. backup and later restore)? Time difference between exp and import. Infrastructure team -
What is the largest size our importer can handle? What is the largest import size possible? Dependent on the provider, Gitlab to Gitlab, Continuous improvement happening -

Useful links

Progress Checklist

  • Amanda and Haris: Draft the discussion guide.
  • Katherine: Create the screening survey in Qualtrics.
  • Katherine: Open a Recruiting request issue. Assign it to the relevant Research Coordinator. - #879 (closed)
  • Research Coordinator: Recruit and schedule participants.
  • Haris: Invite the UX Research calendar and any other interested parties to the interviews.
  • Haris, Katherine: Conduct user interviews.
  • Katherine: Update recruiting request with incentives for participants
  • Haris, Katherine, Amanda: Synthesize the data and identify trends, resulting in findings.
  • Katherine: Document insights in Dovetail.
  • Katherine: Update the Problem validation research issue. Link to findings in Dovetail. Unmark as confidential if applicable. Close issue.
Edited by Haris Delalić