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.

  1. Initiative: An Initiative represents a high-level goal or project within OpenUnited. It serves as an umbrella for organizing multiple Challenges related to a specific Product. Initiatives help structure larger pieces of work and provide a clear roadmap for achieving significant objectives. For example, an Initiative like "Implement new brand" might encompass various Challenges such as "Create new dashboard" and "Product videos."

  2. Challenge: A Challenge is a more focused task within an Initiative that breaks down the larger goal into manageable parts. Challenges can exist independently or be grouped under an Initiative. They are designed to facilitate collaboration among contributors with different skills. Each Challenge can have multiple Bounties that further detail the work needed. An example would be the Challenge "Create new dashboard," which includes specific Bounties like "Create design for new dashboard" and "Implement new dashboard."

  3. Bounty: A Bounty represents a specific opportunity for contributors to claim and work on within a Challenge. It is designed to attract talent by highlighting the appealing aspects of the work. Bounties belong to a particular Skill and can be associated with multiple areas of Expertise. Contributors pull work towards themselves by claiming Bounties, which can then be completed and reviewed. For instance, the Bounty "Create design for new dashboard" would require expertise in UX Design using tools like Figma.

  4. BountyClaim: A BountyClaim tracks the involvement and progress of a contributor in claiming and completing a Bounty. It ensures accountability and clear responsibility by allowing only one active Granted BountyClaim per Bounty at a time. The process involves requesting to claim the Bounty, working on it once granted, and submitting the completed work for review. This model helps manage the workflow and maintain quality control, ensuring that each task is properly handled and completed.

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