🐙 Github: How we use it
GitHub may seem complex but we’re aiming to simplify our work around it.
This guide is part of our Core Principles
The success of our Product development efforts is based on 3 core concepts:
- Goal – a business aim
- Problem – an issue that is on the way to help us achieve the goal
- Solution – a means of solving a problem
This guide is the fundamental rule for collaboration on our projects and is designed to give you a quick “how to” intro.
Align with the Goal
As soon as you get involved in a project, you must understand the current project goal.
Investigate the conversations, make your own assessments, and figure out how things are already moving towards achieving the goal. It is crucial to understand the business context of the goal and how achieving the goal will impact the project.
Identify the Problem
Once the goal is clear, you must determine what stops you from achieving it. Typical questions to ask are:
- What’s missing on the website?
- What action the users can’t perform?
Anything that is stopping us - is a “Problem”. As team members, we find and report these problems through GitHub Issues . Sometimes, a Goal already has a few Problems reported, but it’s not always complete. We’re relying on you to support us and find these Problems.
The third pillar of our success is to provide a Solution to the Goal Problems. Different problems may require different sets of skills. Whether it’s code, design, copy, or marketing material that the Problem needs to be solved, we look forward to the lean and clean solution you can provide in your area of expertise.
If the source-code modification is required, the solution is presented as GitHub PR . Keep PRs small and aim to complete each PR within 3-4 hours. When creating PRs and commits, follow Conventional Commit guidelines.
- Ensure the quality of your work. Don’t expect someone else to review your work if the problem is solved. It’s usually a sign of poor ownership and lack of confidence unless you’re a beginner.
- Limit and scope your work to smaller deliverables. Aim to deliver something every 3-4 hours.
- Problems can be decomposed into sub-problems.
- Assign yourself to the Problem you are solving so others can see it.
- Don’t use `@ mention` when you want to thank or agree with someone. Use GitHub reaction instead.
- Leave updates regularly to keep things transparent for everyone.
- Can’t provide a Solution within a working day? Leave a note inside the Problem issue with the latest status update.
Setting up new projects
When a new repository is added to the project, don’t forget to add the following built-in workflows :
- Auto archive items older than 14 days
- Automatically add issues and PRs to the project board
Reuse content from there: