This repository has been archived on 2022-12-18. You can view files and clone it, but cannot push or open issues or pull requests.
july-mvp/user-research/README.md

5.1 KiB

Personae

Admin and billing

Creates the instance, pays the bills, has admin rights allowing them to get backups, configure the DNS, terminate the instance, is the contact point for legal matters in case of abuse.

User

Has an account on the gitea instance for administration purposes or is a non-privileged user.

Sysadmin

Creates the hosting service, connects it to a resource provider (for instance OVH to get VM), connects it to a payment provider (for instance a stripe account linked to a bank account), answers support requests from Admin and billing, upgrades the hosting service.

Use cases

Hosting service Creation

Hosting service connection to a resource provider

Hosting service connection to a payment provider

Hosting service support request

Instance Creation

Instance DNS

Instance Grow

Instance Backup

Instance Termination

Instance Billing

Static pages

Tasks:

Shared Instance:

In the shared instance business model the customer will be paying for an account, rather than a separate instance.

Motivation:

Managed hosting is expensive and not everyone will be able to pay for it. A complete forge experience includes:

  • CI/CD
  • Static page hosting
  • Docker registry
  • Pastebin

Hosting exclusive instances of all the above mentioned services can be very expensive. With shared hosting, customers will get the same forge experience for a modest subscription fee.

Challenges:

References:

CI/CD

Docker registry

GitPad: pastebin implementation

Abuse

User Research

@loic: User Research is arguably the most useful step in the software development lifecycle and also almost always overlooked. In a nutshell it aims at increasing, by an order of magnitude, the odds that the software being developped matches the expectations of the users. Even when the users are the developers of the software itself.

Question: why and how does someone create and use a self hosted Gitea hosting service? (loic: 2h, aravinth: 2h) (owner: loic)

@loic: this focuses on the experience of the sysadmin personae rather than the "Admin and billing" because most of the work done in the task list is for their benefit. If there was enough time, it would be useful to do user research based on a question focused on "Admin and billing". But given the limited resources we have, I think reasonable to narrow the focus in this way.

Use Cases and Personae (loic: 3h, aravinth: 3h) (owner: loic)

@loic: the Use Cases above roughly list what the service is going to provide, from the point of view of each personae. It will be necessary to explain them with scenarios in the style of: "As a sysadmin... I will do this and I expect that".

Interviews (loic: 16h, aravinth: 5h) (owner: loic)

@loic: the first step is to write interview scripts. The goal is that the interviewee tells us about its past experience. The script is guided by the question and the use cases: it helps drive the conversation so that the interviewee tells about his personal experience in the hope that it indirectly provides answers to the "why and how" question. Three interviewees must be recruited, appointments made, interview done, sessions recorded and transcribed.

Analysis (loic: 5h, aravinth: 5h) (owner: loic, aravinth)

@loic: since this analysis cannot be done in person with actual post-its, it can be done online, during half a day. It essentially consists of grouping statements from all three interviews. They are narrative in nature and by isolating statements we want to break free of this narrative. We do that separately and then we discuss on how to merge those groups and why. And then we assign them priorities.

Report (loic: 2h, aravinth: 5h) (owner: loic, aravinth)

@loic: this is a summary of the analysis session above that does not present the opinion of the writer. It summarizes the findings of the session and explains it based on what is found in the interviews. If something cannot be grounded in phrases found in the interviews, it is not part of the report. The outcome is a list of themes, sorted by priority. It tells the developer about what matters most to the user targetted by the question that is central to the user research, in this case the sysadmin. It is also a good way to explain to newcomes why the project went in this direction and not another, why it was felt more important to work on this aspect rather than another.