I geek-out on planning and productivity models. For example, I’m a big fan of Gino Wickman’s Entrepreneurial Operating System (EOS), OKR (Objectives & Key Results), The Lean Startup, Basecamp’s Shape Up, and The Pomodoro Technique.
OKR is used by some of the biggest names in tech. It’s powerful, easy to grok and get started with so I decided to build an open-source OKR tracker called OpenOKR. Presuming I deliver a great product, I think a tool like this could be used by many.
To further develop my skills in Rails and React, the tech stack I was brought into the world of programming with, I chose these two technologies for the project plus PostgreSQL because it seems to be used frequently with Rails applications.
Something I’m doing with this project that I’ve never done before is writing tests before writing the code to pass the tests. I like this process because I believe strongly in the concept of beginning with the end in mind. I think writing the tests first forces you to think more deeply about what you want the code to do.
Beginning with the backend I’m writing tests with RSpec, a popular Behavior-Driven Development library written for Ruby. Complimenting RSpec are a handful of gems that serve unique purposes, which I may delve into in more detail in a later post because they’re all interesting.
Here are the gems I’m using to compliment RSpec:
group :test do gem 'factory_bot_rails' gem 'shoulda-matchers' gem 'faker' gem 'database_cleaner' end
If you’ve ever used any of these and want to share your experience, please do so in the comments.