Skip to content

pycon 2020 user research plan

Bernard Tyers edited this page Feb 20, 2020 · 2 revisions

Pycon 2020 Research plan

This research plan outlines the UX research activities we expect to carry out at PyCon 2020 - including the Packaging Summit, Maintainers summit, the main Pycon and Pycon sprints.

Overall objectives for the PyCon research

The objective are to:

  1. identify packaging problems to be discussed at the Packaging Summit
  2. identify Python Package maintainers research questions about 1) above, so they make good decisions on solving the packaging problems during and after PyCon Sprints
  3. understand Python community expectations, usage of and issues with pip.

1) Identify packaging problems

This research will depend on the Packaging topics proposed by the community using this form before the Packaging summit.

If no topics are proposed, <WHAT DO WE DO?>.

2) Answer Python Package maintainers questions

The purpose of these discussions are for attendees (package and tool maintainers, distro maintainers, ideally end users) to reach consensus on how to design and implement solutions for the topic/problem.

These discussions will contain assumptions - technical design, implementation, user expectations, how user workflow will work - about how the problem should be addressed. These assumptions need to be validated with users i.e. the people who will end up using the feature/command.

The goals of this study are to:

  1. identify topics and Python Packaging problems the community want to discuss at PyCon Packaging Summit
  2. identify research questions to answer
  3. carry out user research with PyCon attendees to gather information
  4. provide maintainers with information they can use during the PyCon Sprints

3) To understand Python community issues with pip

The goals of this part of the study are to answer these research questions:

  1. What do pip users think its purpose is?
  2. What expectation users have of pip? (What do you need from pip?)
  3. What do users use pip for?
  4. What do users wish they could use pip for?
  5. What pip commands do you use most and why?
  6. What pip features do you use most and why?
  7. If all pip commands were removed, what 1 command could you not live without?
  8. If pip went away, what would you use instead?
  9. What is your Python development setup?
  10. How pip output messages could be better?
  11. How do you find packages with pip?
  12. What is the usage of pip search, pip find?

and to <???>.

Research location

We will attend the Python Packaging Summit on April 16th, PyCon on the 17th-20th and then PyCon Sprints 21st-??.

We will setup a "UX Open Space" somewhere in the venue. This will be used as a drop-in location for attendees to talk with the UX Team.

We will try to stay in this space/near-by for the whole PyCon.

Research setup

The UX Team will bring laptops, web cameras and digital voice-recording equipment.

The web camera will be used to record participant's face and audio. Alternatively the voice-recording equipment will be used to record the discussion audio.

If participants bring their computers, they will be able to use them to demonstrate their dev. setup during discussions with the UX Team.

Research consent

We will ask participants for their consent to 1) record video, 2) record audio during the research.

They will be asked to complete an online research consent form.

Recruiting participants

We will publicise this research with PyCon attendees by:

  • advertising it:
    • 1-2 weeks before PyCon using Twitter, mailing lists(here, here), Python discourse
    • at Pycon with fliers we create and hand out, putting up posters
    • put advertisements into Python related podcasts
  • creating a "UX Open Space" at PyCon where people can drop by and be interviewed by the UX Team.

To answer Python Package maintainers questions (2 above)

For this research we will select participants from the Packaging summit & PyCon attendees:

  • package maintainers
  • Python users

To understand Python community issues with pip (3 above)

We will recruit research participants at-random during PyCon, and by inviting people to speak with us.

Methodology

To answer Python Package maintainers questions (2 above)

  1. Each topics will be discussed for 30 minutes. The UX Team will either observe, or ideally help facilitate these discussions.

We'll document:

  • problem/topic discussed
  • decisions made
  • identify assumptions
  • identify questions that come up and need to be answered
  1. UX Team will then identify user-related questions maintainers need information about, and then create research questions. These will be used during PyCon to interview users.

If the questions aren't clear enough, the UX Team will work with the people who've attended the discussion to make these into research questions.

Some questions could be - what do you expect to happen [with this feature/command], how/if do you expect to use [this feature/command], here's how I expect this to work for me and other questions that need to be identified, etc)

  1. These questions will then be used during PyCon to interview package maintainers, and Python users.

Session outline and timing

These sessions will be 30 minutes.

To understand Python community issues with pip (3 above)

This research will be exploratory to understand pip users expectations but will also gather quantitative data about pip command usage.

We will carry out research with everyone and will then categorise those users into groups.

All participants will be asked the same questions.

Session outline and timing

These sessions will be 30-45 minutes.


Needs finishing

To be worked on:

  1. Interview PyCon attendees.

UX Team interviews participants (users of packages and package maintainers) at PyCon using the quesions identified in step 2 above. The output will be user requirements/expectations that can be used to inform the work on the problem during the PyCon sprints (or after).

  1. The interview then need to be analysed and some output needs the be produced. Questions:

    • what format does that output need to take?

    • some information about the users interviewed, their background

    • GitHub issues

    • User stories

    • more?

20th-23rd April (PyCon Sprints) (partciipant recruitment: in teh early days there will be more "end-users" attending. Towards the end, the people left will be more invested - e.g. maintainers, long time contributors)

  1. The package maintainers will take the output from step 5 and use it as input to their sprint work.

  2. (optional) If there is a possilbilty to do some usability testing of early "prototypes" of the work from the sprints? The objective would be to find users at the sprints to test the prototypes with

  3. Conduct interviews with package maintainers and end users about other topics too

    • identify and talk to new 1) python and 2) packaging, contributors (roving reporter style)