dashincubator / test-repo

Repo for testing
0 stars 0 forks source link

test-repo

This repository was created for testing purposes related to our Incubator on GitHub bounty. We will likely keep this repo and the accompanying test project for ongoing testing.

Projects

Our DashIncubator organization here on GitHub has access to the new GitHub Projects (beta) feature. The Incubator is most likely moving its project managment to GitHub, following a Trello vs GitHub feature assessment conducted by Incubator admins where we determined that GitHub offers more powerful tools for what impacts admins (and members) most.

I've created a test project for us to play around with. In Projects you can configure multiple views of the same underlying data. Here are two main views as examples:

Issues

In Dash Incubator we work on tasks (individual units of work with accompanying Dash rewards) and bounties (collections of tasks, categorized as concept tasks, specification tasks, producution tasks, and QA tasks). My initial thought is that we can represent both tasks and bounties as GitHub issess, with bounties being issues that track other issues. An issue can "track" other issues by creating a checklist in the original issue description that references other issues. This is recognized by GitHub by creating a two way link between tracking and tracking issues. See Issue 1 for an example of an issue (a Bounty in Incubator terms) that tracks other issues (tasks in both Incubator and GitHub terms).

Original Concept

The idea to move our project management from Trello to GitHub was originally documented on our Trello board. The following is a copy of the content, for easier reference.

Title

Incubator on GitHub

Value Proposition

Bounty management, discussions, on-boarding/training, document storage, and other Incubator work and workflows on the industry-leading platform for developers, co-located with our Incubator-funded public repos.

Functional Requirements

Currently we are using Trello for bounty management. We have done work towards a custom app to replace Trello, but it may be best to postpone that and have it focus on what GitHub can't do (Dash payments, for example).

GitHub has most of the features we need for effective bounty management with its new projects (beta) features. This has most (if not all) of the features we use from Trello, with the added benefits of spreadsheet views and being natively integrated with code repositories. Incubator contributors would only need a GitHub account (rather than both GitHub and Trello accounts).

Some examples of things we could move to (or start doing in) GitHub:

  1. Bounty management (as discussed above)
  2. Forms and templates (Incubator signup, new concepts, spec, QA, etc)
  3. Tie most bounty tasks clams to pull requests (PRs)
  4. Tie QA process to code reviews and PR merges
  5. Simplify/automate task claims process/documentation
  6. On-board and train new members and admins using labs
  7. Bounty and Incubator discussions using GitHub discussions
  8. General automation using GitHub actions
  9. A formal process whereby code moves from personal accounts to the /dashincubator org, and then later to its own org if/when it graduates from being Incubator funded
  10. Site hosting, code collaboration, CI/CD, and many other GitHub features

In addition to the benefits this migration would have for Incubator admin, this would also get us closer to non-Incubator developers. Some devs interested in Incubator may not have (or want) Trello accounts. Establishing a GitHub-oriented workflow would also open the door to generalizing the 'pay DASH for commits/PRs' process so orgs and projects not related to Incubator could potentially adopt the same compensation model.

Migrating processes to GitHub would require further specification (along with QA) just like any other bounty.

Supporting Links

Additional Info (optional)

There are of course risks to moving so much of our process to GitHub, but I think the benefits outweigh the costs. We should discuss these in the #dash-incubator channel of the Dash Devs Discord.