-
Notifications
You must be signed in to change notification settings - Fork 67
Workflow model explanation
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.
-
Challenge: Challenges are designed to facilitate collaboration among contributors with different skills, however a Challenge may also contain a Bounty with one skill for a single contributor. 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." Challenge A can depend on Challenge B and can optionally be further grouped into an Initiative.
-
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.
-
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.
-
Initiative: An Initiative is an optional concept that 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." We plan to introduce the role of "Initiative Lead" to provide opportunities for people to gain leadership experience.
-
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).
- A challenge can be optionally linked to an
-
Status Values:
-
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 multipleExpertise
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).
- A bounty is linked to a
-
Status Values:
-
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 oneBountyClaim
perBounty
. OnePerson
may have manyBountyClaims
across differentBounty
objects. - Although one
Bounty
may have manyBountyClaims
(e.g., many requests for claims, failed or cancelled claims), only oneBountyClaim
perBounty
may be in a Granted status at any moment in time.
- A bounty claim is linked to a
-
Status Values:
-
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".
- An initiative is linked to a
-
Status Values:
-
Challenge:
- Contains multiple
Bounties
. - Allows for collaboration among contributors with different skills.
- Can depend on another
Challenge
. - Can be optionally associated with one
Initiative
.
- Contains multiple
-
Bounty:
- Must be associated with one
Challenge
. - Can have multiple
BountyClaims
. - Belongs to one
Skill
and potentially multipleExpertise
related to that skill.
- Must be associated with one
-
BountyClaim:
- Must be associated with one
Bounty
. - Must be associated with one
Person
. - Only one active Granted BountyClaim per Bounty at any given time.
- Must be associated with one
-
Initiative:
- Contains multiple
Challenges
. - Linked to a specific
Product
.
- Contains multiple
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.