BitPerk Docs

Learning Resources

Learning Resources

In this article we explain how bitPerk works and how to use it better to get the most out of it.

1. Inviting Users

When you invite Users you need to include First name and Last name

Inviting Users to the project

This First name and Last name will be used to automatically match Usernames from JIRA and Trello. To check the names that you need to use go to the JIRA board for your project and hover over your User

Users First and Last Name in JIRA

Or click on the User on a Trello board

Users First and Last Name in Trello

This means that if you have invited a User with correct First and Last name it doesn't matter if the User has accepted the invitation or not. This User will already be receiving rewards and those will show up in bitPerk for other Users

User with PENDING status hasn't accepted the invite

Since the correct First name and Last name have been used, bitPerk can automatically match the username from JIRA or Trello, to the correct bitPerk User. However if some issues persist and rewards are not given then it is worth to check that the correct JIRA/Trello username is saved in bitPerk. Currently only the User can see what their username is and change it. To check and/or update your JIRA/Trello usernames go to Integration Settings

1. Click on User Settings 2. Click on Integration Settings

In the future Project Admins will also be able to see the JIRA/Trello usernames of the Users in their projects

2. Setting Up Reward rules

Reward rule will be triggered when you move a card from one column to another. But first you must set up the reward rules, so that rewards can be given

All rewards are calculated when a transition occurs. Transition means that a ticket is moved from one column to another. In this case: TO DO, IN PROGRESS, DONE

Columns in JIRA

And in Trello In this case: TO DO, IN PROGRESS, CODE REVIEW, QA, DONE

Columns in Trello

When a card moves from one column to another - transition occurs.

2.1. Choosing source system and boards/projects

If no integration(s) have been been completed, you can't choose source system. And you can only choose the integrations that have been completed. Only Workspace Admins can create new integrations (If you don't see the Workspace options in the side menu then you are not a Workspace Admin)

Workspace Admin menu

After an integration has been completed, User can choose from Source system, which integration you want to use as the base for your reward rules i.e. whether from JIRA or Trello. The names of the source systems are the same that are given during integration

User can give any name they see fit

User can pick form existing integrations

Choose Source System

After picking an integration it may take a few seconds until the projects/boards are retrieved. User can pick one and bitPerk will know which columns and labels to show in the dropdown menu

Click on project/board

2.2. Transition from - Transition to

Choose the columns from the dropdown menu. Once selected, the same column can’t be selected again. For JIRA, all of the columns from all of the projects are visible there. Example (Choosing ‘To Do’)

Choosing 'To Do'

In the ‘Transition to’ dropdown menu, the ‘To Do’ option is no longer visible

'To Do' not visible

You can always skip some columns for reward rules (maybe for some tasks only have analysis or visual design components and nothing else) Example

UI/UX tasks can be moved straight to DONE

Then the rule can be set up as

This will work the same as if the columns were next to each other

You can also create negative reward rules for when a task moves backward (for example back from QA to IN PROGRESS, because there are some bugs) See more in Negative Rewards

2.2.1 JIRA Columns and Status (Transition from - Transition to)

NB! Transition to and from for a JIRA project are not taken from the column name but from the status that exists in the column.

To see this go to Board settings in JIRA

1. User needs to click on ... 2. Then Board settings

Then select Columns

When you create a new column in JIRA you also create a new status beneath that column

Column and Status name are the same because User created a new Column

If however, the User updates the name of the column, then the Status of the column remains the same.

Column name is changed to 'Still progress' but Status stays the same 'Development'

User must add a new status with the correct name

And add it to the correct column

After that this column will be visible in Transition from/to

2.3. Approved by (Currently doesn't matter what you choose)

Here you need to choose the User Role that can move the cards so that rewards would be triggered. Not every role is given that right

Pick a role and the reward works only when a User with that role moves the card

Currently doesn't matter what you choose

2.4. Labels

Examples are from JIRA but the logic works the same for Trello

1) If you add a label to the reward rule and the ticket only has 1 label which is the same label then the reward rule is triggered. Example in JIRA

The label is ‘Feature’

The Reward Rule is also using the correct label, so if the ticket moves to ‘In Progress’ column then a reward will be given

The label in Reward Rules is ‘Feature’

2) If you add 2 separate labels to the reward rule and the ticket only has 1 one of those labels then the reward rule is NOT triggered. Example in JIRA

Only 1 label on the ticket

Reward rule

2 labels in reward rule and 1 matches

3) If you add 2 labels to the reward rule and the ticket has the same 2 labels then the reward rule is triggered. Example in JIRA

2 labels on the ticket: Feature and DevOps

Reward rule in BitPerk

2 labels in reward rule are the same as on the ticket

4) If you add 2 separate labels to the reward rule and the ticket has 2 of those labels, plus other labels then the reward rule is triggered
Example in JIRA

4 labels on the ticket including Feature and DevOps

Reward rule in BitPerk

2 labels in reward rule and reward rule is triggered

5) If you add 4 separate labels to the reward rule and the ticket has 2 of those labels, then the reward rule is NOT triggered Example in JIRA

2 labels on the ticket: Feature and DevOps

Reward rule in BitPerk

4 labels in reward rule and reward rule is NOT triggered

2.5. Define who gets rewarded and how much

Bits account By default it is bits. Bits can be used to buy Perks in the store

4 labels in reward rule and reward rule is NOT triggered

Receiver role Choose the role that Users must have, to be rewarded according to the reward rule. Roles can be added in the Roles menu item in the sidebar. By default only the Admin role exists. You can add any other role you wish

Examples of Roles

Receiver role can be selected from the dropdown

Select from Dropdown

NB! If the User doesn’t have that specific role in BitPerk then that User will not receive rewards! If many Users have the same Role and ‘Assigned to card’ is turned OFF, then the reward will be split evenly between all the Users that have that Role

'Assigned to card' is OFF

If there are 2 Users with the role ‘Developer’ then both of them will receive 3 bits. See more info in ‘Assigned to card’

2.5.1. Amount Source

Select Amount source

Fixed value If a User chooses Fixed value from the dropdown then an amount needs to be entered. This amount will be the same for all tickets that match this reward rule

Select Amount source

Mostly we would recommend using Story Points unless there are tasks that always take the same amount of time and have the same urgency, in the same column. E.g. Deploying a task LIVE

Story Points

Multiplier at 1

The story points added to a ticket will be multiplied by the value in the ‘Multiplier’ column. So, if the Multiplier is 1 and the Story Point value 5, then the User will receive 5 bits If you want to share the story points of the ticket among all people who work on that ticket, then you will need to make sure the multipliers for different rules do not exceed the sum of 1 when added together (E.g. 0.5 multiplier for DEV, 0.2 for Code Review, 0.2 for Testing and 0.1 for Project Management) More here

2.5.2. Enabling story points in JIRA/Trello

You will need JIRA admin rights
NB! For Trello, we haven’t published the plugin that is needed to enable story points

2.5.2.1 Enabling story points in JIRA for classic projects

Story Points in JIRA

To enable story points:

  1. Select Jira settings > Issues.
  2. Under FIELDS in the left menu, select Custom Fields.
  3. Find the Story Points Field (in the 2nd page)

NB! We are enabling 'Story Points', NOT 'Story points estimate'. If you prefer to use 'Story points esitmate' then make sure NOT to use 'Story Points' at the same time as 'Story points estimate' because the value from 'Story Points' field will always override 'Story Point estimate' in the reward rule calculation

  1. To allow Tasks (or Bugs) to use Story Points, open the three dot menu and select "Contexts and default values".
  2. Click on 'Edit Configuration' and Choose applicable issue types (Choose 'Any issue type' if not certain). From the 'Choose applicable context' selection choose 'Global context' or a specific project
  3. Navigate back to Custom Fields page, find Story points and open the three dot menu and select "Associate to Screens"
  4. Select the screen on which you want the Story Point fields to appear
  5. Finally, to make sure that the Story Point field is visible, go to your Project and to Project Settings
  6. Select ‘Issue Layout’ and then ‘Edit layout’ (on the issue types you want)
  7. Move ‘Story Points’ above the line HIDE WHEN EMPTY (this enables the Story Points field to be visible when creating an issue) and click ‘Save changes’

Story Points in JIRA

What if story points are added after transition occurred and the reward rules are written for that transition? Then the ticket needs to be moved back to the previous column and moved back again. Also its name needs to be changed so that it would be registered as a new ticket (you can’t receive the same reward twice, for the same ticket)

2.5.2.2 Enabling Story point estimate in JIRA for next-gen projects

For next-gen projects we recommend enabling Story point estimate

To enable Story point estimate:

  1. Select Jira settings > Issues.
  2. Under FIELDS in the left menu, select Custom Fields.
  3. Find the Story point estimate Field (in the 2nd page)
  4. To allow Tasks (or Bugs) to use Story Points, open the three dot menu and select "Associate to screens".
  5. Select the screens that are used for your project and then click 'Update'

  1. Navigate back to your project and click on Project Settings > Features
  2. Find 'Estimation' and turn it ON

  1. Navigate back to your project and click on a ticket to enter Story point estimate.
  2. Story point estimate field is visible in the ticket and can be used.

  1. Story point estimates can be added to all issue types

NB! If you prefer to use 'Story points esitmate' then make sure NOT to use 'Story Points' at the same time as 'Story points estimate' because the value from 'Story Points' field will always override 'Story Point estimate' in the reward rule calculation

2.5.3. Assigned to card

When this is turned ON

Currently ON

Then only the User that has the correct Role, and has been assigned to that card at one point, will receive bits.

If 2 or more people have been assigned to the same ticket in JIRA while the ticket is in the same column, and the have the same Roles in bitPerk. Then the bits go to the person who was assigned last

In Trello a ticket can have multiple people assigned to it, and if they have the same role in the same column then the reward will be split among them

When this option is turned OFF

Currently OFF

Then every User that has the correct Role will receive bits, whether or not they have been assigned to the card

2.6. Due Date corrections

Enter the number of days and then selecting ‘Before’ or ‘After’, when you enter a number under ‘Correction’ then it is important to keep in mind that the 10% more or less, will either be taken from the Story Point value or the Fixed Value. Depending on which you have chosen

After clicking on ‘Add correction’ the rule is visible.

NB! Many due date corrections can be added and they can be both positive and negative

2.6.1 JIRA/Trello Guidelines for enabling Due Date

You will need JIRA admin rights

  1. Go to your project board and open an issue

  2. Click on ‘Configure’ in the bottom right corner

  3. If you don’t see ‘Due Date’ in this page click on the Default issue screen at the top of the page

  4. Here go to ‘Select Field’ in the bottom and select ‘Due Date’

  5. You can go back to the ‘Issue layout’ screen and move ‘Due Date’ above the line HIDE WHEN EMPTY (this enables the Due Date field to be visible when creating an issue) and click ‘Save changes’

Enabling Due Date in Trello It is already visible when clicking on an issue

2.7. Negative reward rule

You can also set up a reward rule that will give negative rewards, for example if a task moves back from QA to IN PROGRESS

And then the reward rule could be set up like this

In this case all Users with a developer role, would receive negative bits worth 20% of the Story Points on the ticket. This amount would be deducted from the total amount in their account It would also work with fixed value as long as it has a ‘-’ in front of it

2.8. Rewards

In the rewards tab Users can see the bits they have earned and for which tickets

Revoke When reward has been wrongfully awarded then it can be revoked by clicking the REVOKE button A description needs to be added and then these bits will be removed from the Users account HOWEVER they won’t be redistributed among the other recipients The revoked reward is visible with negative value and can be revoked again

2.9. Guidelines for Reward Rule ratio for Story Points

The assumption here is that the Story Points given take into consideration not only the complexity and urgency of the task but also how many different people will need to be involved

Whatever your specific flow you can adjust it in the rules. For example if you have tasks that only have analysis or only have UI/UX then, you could set up a separate reward for each of them by using labels.

You could have a reward rule with the label Analysis and the also have that label on the specific ticket and the rule would be that 100% of the Story Points go to the Analyst assigned to the ticket when it moves from ‘Analysis’ to ‘DONE’

3. Dashboard

By deafult the filters show logged-in user and ‘This month’.
Wallet dropdown is shown if at least one Crypto wallet is activated, if User has ONLY Bits wallet i.e. crypto wallet is not activated then NO wallet dropdown shown

NB! This image and the following describe the view/filters that Users with the Project Admin role see. All other roles only see the 'Period' filter and stats about themselves

All Users that are still in the project can be selected (Deleted Users not visible), even if User hasn’t accepted invitation to the project yet.
Periods that can be selected are: This month, Last month, This year, Last year, All time

Everything in Dashboard changes according to these filters, however WALLET BALANCE is always current balance

This month

VS Last month

All crypto wallets that are activated can be selected in Dashboard

If the Users role in a project is anything other than project Admin then they can only see stats about themselves. No 'User' filter

Only 'Period' filter

3.1. Rank

Shows position among all the Users in the project, according to the bits earned over the specific time period.
If User hasn’t earned any bits then rank is given as 0

Rank 0 because no bits earned this month

If the User has the same amount of bits with another User then rank is given based on First and Last name

9 Bits earned and Rank 2

9 Bits earned and Rank 1 because name is higher ranked in the alphabet

3.2. Bits Earned

Total bits earned by the selected User, in this project, over specified time (this month/last month/this year)

3.3. Daily Average

Amount earned DIVIDED BY number of days If it is current month or year (then number of days from beginning of month or year). If it is the 20th of the month then Bits earned (9.00) DIVIDED BY 20 = 0.18

Daily Average is 0.18

NB! It doesn't matter when a User joined the project, the daycount is still taken as if the User was there from the 1st of the month

3.4. Team Daily Average

All of the bits earned by everyone in the project DIVIDED BY all the days of everyone in the project
NB! It doesn't matter when a User joined the project, the daycount is still taken as if the User was there from the 1st of the month

If it is the 20th of the month and there are a total of 4 Users in the project then total Bits earned by all Users (34.4) DIVIDED BY 4x20 (80) = 0.43

3.5. Wallet Balance

This shows User's current Wallet balance. Changing the Period will not alter this. However Project Admins can view wallet balances for all Users.

3.6 Average Earnings per Team Member

This graph shows the average earning per 1 reward for a specific day. Both the Users and Team average are visible

Columns represent Team average per that specific day

Dots represent how many bits User earned that specific day

The total sum of rewards earned that day DIVIDED BY The number (count) of rewards earned that day (user can see them under the 'Latest Rewards' section)

For example if on the 21st of the month a User received rewards on 5 separate occasions (including a Revoked Reward). And the total sum for that day is 3.5.

5 rewards with a total sum of 3.5

Then 3.5 DIVIDED BY 5 = 0.7 average earning per 1 reward for that day

0.7 per 1 reward for that day

For that same day there were a total of 14 rewards earned by the team with a total sum of 21 bits. This means that 21 DIVIDED BY 14 = 1.5 bits per 1 reward on average on that day

1.5 bits per 1 reward on average on that day

3.7. Top Performers

Shows totals per User. All Users in the project are visible. Also shows minus rewards (if some User had a bad month. Info about Negative rewards)

Total rewards shown in lighter shade of color

Earned rewards in this period shown in darker shade of color

3.8. Recent Bits

Shows the Bits received according to the User (the User that is selected in the dropdown menu). Shows both Bits received and revoked.

Recent Bits