Can you run it locally?

21. January 2021

Possible benefits

The software during the development cycle will go through many stages. It usually starts as a source code in IDE, different pars will be executed in unit tests, maybe even whole components will be tested. It’s somehow packaged (compiled) and deployed to some server (staging, production,…). That is a very rough lifecycle which is not applicable in all cases, but at least during my time in CloseIT, many projects followed it.

So I quickly learned how important is the ability to run software easily on my laptop. It makes the development and debugging of larger features (sometimes across the components) so much faster. But not only that. I assume someone is making reviews of new features, so that person will be able to spend much less time setting up the application locally. Yes, having a test server with a CI pipeline could make local testing obsolete, but not every project is so large or important to have its own test server.

Our experience

The least you can do is to make sure the whole package stack is able to run on your laptop as it would do on the server. So in that case, you will basically “deploy“ the application to your computer. And if the deployment process is easy (for example automated using some script), not only it will accelerate releases, but it will improve the ability to update the stack locally.

But we can do more than that. The last application we developed was just one Python application connected to the database, so I was able to run it directly from IDE. Because the production stage was integrated into other application, it also required additional code which provided some mocked data (like a fake session for the test user) and loaded test data into the database.

The additional work was worth it. Anyone in the team can clone the repository, click on the run button in the IDE and the application is running as it would be in the production environment with example data ready to go.

So what are my final thoughts?

During the early development stage, ask yourself, if you can run it from IDE. If not, can you run it somehow locally? If it makes sense, try to invest some time to make it possible.

Autor: Luděk Novotný