Development lifecycle

The principles and steps of our software development process.

By Mark Curchin


Our product development process is based on simple principles that allow us to cultivate responsibility and freedom within our culture. Everyone is free to pick their work and contribute to the things they enjoy, and at the same time, everyone takes responsibility for the work they pick. To help you follow these principles, we prepared a 3 step guide.

🎯 Align with the goals

The high-level roadmap is defined by the stakeholders. It consists of multiple milestones with limited scope and defined expectations. These milestones are split into sprint goals that are shared within the engineering team.

Start your development with the goals in mind:

  1. Find the goals on the product board within the Sprint Goals card.
  2. Read & align with the goals.
  3. Discuss with a lead member if goals are not clear.

⚠️ Start with a problem

Goals are achieved by solving a number of problems.

Problems are obstacles that do not allow us to mark a goal as complete.

Pick a problem to solve:

  1. Choose a Sprint Goal you want to contribute to.
  2. Define a problem statement that can help to achieve the goal. Ensure you can resolve your problem by yourself. Ensure you can resolve the problem and test the solution in less than 4 hours. Ensure the problem is not already taken by other team members.
  3. Create a Github PR in the relevant repository. Describe your solution in the comments or commit code TODOs. Provide estimation time for completion.
  4. Ask a lead member for approval. If approved - proceed to implementation. If rejected - start from scratch.

🚀 Deploy solution

A problem is considered solved when the solution is deployed and the code is successfully merged into the base branch. Merging into the main branch is only allowed for lead members.

The problem solution can only be merged after it has been reviewed and tested:

  1. Self-review and test your solution in your local environment.
  2. Assign potential members to the GitHub PR.
  3. Ask and find members that can review your solution now.
  4. Receive approval from another member.
  5. Merge the PR. The deployment will start automatically.
  6. Self-test the solution in the production environment.



No replies yet

Be the first one to reply to Mark Curchin