Skip to content

Development Principles

Artur Carneiro edited this page Jul 6, 2020 · 1 revision

Development Principles

01: User value == App value

Development should be focused on the user and their problems. When developing a new feature you should think about how it will impact the user. Bellow we've listed some questions that may help in following this principle.

  • Which problem am I trying to solve?
  • Will it solve a user's problem?
  • Will it improve the user's experience?

02: Work in short cycles

The development process should be short and iterative. We will be setting milestones as iteration cycles.

03: Do less more often

You should focus on the issues of the current iteration cycle. However, be open to new ideas and possible future features. Don't try to predict the future. You should avoid the following:

  • Writing unnecessary code.
  • Writing code which is difficult to maintain and change.
  • Writing code which is too generic.

04: Radical transparency

We want to leave our documentation and planning out in the open for anyone to look at. Everything that can be public, should be public.

05: Simplicity

Simple to understand code is better for maintenance, for reusability and helps with onboarding. You should aim to produce simple code to keep the complexity of the project down. Bellow are some concepts you can follow to help with simplicity in your code:

  • Consistency
  • Readability
  • Planning
  • Documentation

06: Testability

We want to produce testable code and test as much as possible.

Sources

We've chosen this set of development principles using the following as reference and inspiration:

Clone this wiki locally