DEV Community

Christopher Ribeiro for AlertPix

Posted on

1 hour features

At AlertPix we allow streamers to receive donations from their audience via Pix Instant Payment and show an alert on the live stream.

The whole product deals with real time, which means we need to ship features as fast as possible.

1 hour max

As engineers we are used to long development and deployment processes:

  • create feature branch
  • code
  • write tests
  • push code
  • open PR
  • wait for automated tests
  • wait for review
  • wait deploy to beta/stating env
  • wait validation
  • create PR to prod
  • wait for automated tests
  • wait for review
  • wait deploy to production

We are used to something like this. Having a separate development environment and a production one (some companies has more environments than this). Also needing to follow git flow and wait for peers and CI to do their job.

But I think all these can be not only reduced but take 1 hour max.
Anything after that, means you are stuck into a problem or your feature is too big.

Research First: 20 minutes

The first 20 minutes should be dedicated solely for research. But if you already have some knowledge of what you're building, you can do it in less time.

The ideia here is to give some time to understand what you need to build, how to do it and the most important: how to code it in the next 40 minutes.

This step can't be skipped, even if you know the concepts. Because we should understand things before doing.

Now Code: 20 minutes

After the research process, its time to code the solution.

Don't over engineer.

Your solution should be simple and each piece of code should do one thing and one thing only.

Don't write tests or docs, just code the first version. It won't be perfect the first time, so do what works and move on to the next step.

Now Test: 20 minutes

Finally, you've reached the test phase. If you are a startup in the MVP or pre PMF phase you can skip this step and earn more 20 mins to code another feature.

But if you want to write tests, now is the time to do it.
We know that TDD tells us to write the tests before we write the code. But lets be real:

You only know what you will code while you are coding.

Tests come in last because you can test while you code. This phase is more if you need to have them to pass CI or a code review.
Also if you add tests, you garantee that you coded something that works.

At AlertPix this framework has been applied since day one, and every day we improve the product without having to wait.


AlertPix

Top comments (0)