Skip to content
Adrian McPhee edited this page May 24, 2024 · 11 revisions

Product Documentation: Initiative, Challenge, Bounty, and BountyClaim Models

Overview

This page outlines the status values and relationships between the Initiative, Challenge, Bounty, and BountyClaim models within OpenUnited. These models are designed to help product teams and contributors to have a shared and simple set of concepts to get things done with the benefits of product management and a talent marketplace in one platform.

Models and Their Status Values

  1. Initiative

    • Status Values:
      • Draft: The initiative is in the initial stage and not yet active.
      • Active: The initiative is currently in progress.
      • Completed: The initiative has been successfully completed.
      • Cancelled: The initiative has been cancelled and will not be completed.
    • Relationships:
      • An initiative is linked to a Product.
      • An initiative can contain multiple Challenges.
      • Example: "Implement new brand" with Challenges such as "Create new dashboard" and "Product videos".
  2. Challenge

    • Status Values:
      • Draft: The challenge is in the initial stage and not yet active.
      • Blocked: The challenge is dependent on another Challenge.
      • Active: The challenge is currently in progress.
      • Completed: The challenge has been successfully completed.
      • Cancelled: The challenge has been cancelled and will not be completed.
    • Relationships:
      • A challenge can be optionally linked to an Initiative.
      • A challenge can contain multiple Bounties.
      • Multiple contributors with different skills can collaborate on a single challenge.
      • Example: "Create new dashboard" with Bounties like "Create design for new dashboard" (UX Design, Figma) and "Implement new dashboard" (Fullstack Development, Tailwind CSS, Python, Django).
  3. Bounty

    • Status Values:
      • Available: The bounty is available to be claimed.
      • Claimed: The bounty has been claimed by a contributor.
      • In Review: The completed work for the bounty is under review.
      • Completed: The bounty has been successfully completed.
      • Cancelled: The bounty has been cancelled and will not be completed.
    • Relationships:
      • A bounty is linked to a Challenge.
      • A bounty can have multiple BountyClaims.
      • Each bounty belongs to one Skill (e.g., "Fullstack Development") and potentially multiple Expertise related to the selected Skill (e.g., "Python", "Django").
      • Bounties are not just tasks but attractive opportunities for contributors to pull work towards themselves by claiming them.
      • Example: "Create design for new dashboard" with the skill/expertise of UX Design (Figma) and "Implement new dashboard" with the skill/expertise of Fullstack Development (Tailwind CSS, Python, Django).
  4. BountyClaim

    • Status Values:
      • Requested: The bounty claim has been made by a contributor.
      • Cancelled: The contributor has cancelled their request to claim the bounty.
      • Rejected: The product team rejected the contributor's request to claim the bounty.
      • Granted: The claim is active and the contributor is actively working on the bounty.
      • Contributed: The contributor has completed work and submitted it for review.
      • Completed: The claim has been successfully completed and accepted.
      • Failed: The work was submitted but rejected. The Bounty is then made available again to be claimed by someone else.
    • Relationships:
      • A bounty claim is linked to a Bounty.
      • A bounty claim is linked to a Person.
      • A Person may only have one BountyClaim per Bounty. One Person may have many BountyClaims across different Bounty objects.
      • Although one Bounty may have many BountyClaims (e.g., many requests for claims, failed or cancelled claims), only one BountyClaim per Bounty may be in a Granted status at any moment in time.

Relationships Between Models

  • Initiative:

    • Contains multiple Challenges.
    • Linked to a specific Product.
  • Challenge:

    • Can be associated with one Initiative.
    • Contains multiple Bounties.
    • Allows for collaboration among contributors with different skills.
  • Bounty:

    • Must be associated with one Challenge.
    • Can have multiple BountyClaims.
    • Belongs to one Skill and potentially multiple Expertise related to that skill.
  • BountyClaim:

    • Must be associated with one Bounty.
    • Must be associated with one Person.
    • Only one active Granted BountyClaim per Bounty at any given time.

Summary

The structured framework of Initiatives, Challenges, Bounties, and BountyClaims enables a comprehensive and organized approach to connecting products and talent in OpenUnited's marketplace model. The models are designed not only to manage project flows but also to attract contributors by emphasizing the opportunities available in claiming Bounties. This framework promotes collaboration among contributors with diverse skills, enhancing the efficiency and effectiveness of product development and management.

Clone this wiki locally