Page MenuHomePhabricator

Entry Points Template
Open, Needs TriagePublic

Description

This is an attempt at documenting the different expected sections / pieces of information in an entry points task. In general, it's sometimes easier to just grab an existing task that is similar and replace with your project's information. Make sure to tag it with research-ideas and move into the entry points column.

Title

The title of the task should follow these guidelines:

  • In the form of: [short|medium|long] Descriptive Title
  • Where the different lengths of time are generally as follows:
    • short: completed in about a month with occasional work and doesn't require extensive skills -- e.g., dataset tutorials
    • medium: likely will take a month or two and may require more extensive experience -- e.g., implementing an API for which the general code already exists
    • long: will take several months and may require more extensive experience, iteration, etc. -- e.g., a research project

Task sections

The task then should include the following sections:

== Overview
< Give a summary of the background / motivation for the project -- i.e. what is the current state of affairs and why is it not great. Don't introduce the task yet. > 

== Task
< What is the actual work to be done? Clearly state the goals and a general set of steps that will be taken. Bullet points are useful for providing structure. >
Include the following paragraph, adjusted for the task:

"""
This task is considered `[short|medium|long]`. In general, it's expected that the task can be completed in <time> if you work occasionally on it. The time needed will depend greatly on your level of experience, however, and does not necessarily indicate that it is an [easy|medium|hard] task.
"""

== Rationale
< How will the end product be used? Why will we benefit from someone completing this task? If you can't answer this question, it might not be a good entry point. >

== Recommended Skills
< Bullet list of skills that are required or helpful. Generally this might be coding experience in a specific language (Python) or framework (Jupyter Notebooks), data visualization, design, educational skills, etc. Try to only make the bare minimum "required".>

== Acceptance Criteria
< What are the requirement to resolve the task? Research artifact (e.g., PAWS notebook, meta page, Toolforge API)? Mention licensing if that's appropriate -- e.g., for a code repository.>

== Process
< How can someone claim the task? Who can help them if they are stuck? Other expectations? >

General template:
"""
* If you are interested in this task and it is not assigned to anyone, you may begin work on it. Please leave a comment on the task and tag <mentor> so that they are aware.
* If you have made some progress on the task (<example of some progress?>) and would like to complete it, share <PAWS notebook? etherpad? code repo?> and let <mentor> know so that they can assign the task to you and make space for a final review.
* <what will be done when submission is accepted -- e.g., uploaded somewhere? linked to somewhere?>
* <anything to know about future iterations -- e.g., if it's a tutorial, how will attribution be maintained if it is updated?>
* Generally, <mentor> will be able to answer any questions about the task and try to respond quickly when clarification is necessary but response times may be slow if help is needed for more general debugging etc.
"""

== Resources
<Any datasets, readings, documentation, etc. that would be useful>