The Importance of Local Development Environments The Importance of Local Development Environments

This is an interesting topic – it's really easy to argue both ways.  Is it really worth installing a lot of software that will eventually slow down your machine or even open up your company's firewall to allow certain traffic to come through on different ports?

Many IT teams might say no, but I'll argue forever with them about always having a fully replicated local development environment!


 My typical arguments are as follows:

Debugging Time

When you're working in something unfamiliar like social network integration, if you can't test locally, the trial and error process can take hours.  If you're doing trial and error if you need to update or wait for an external development environment to update after each save, the time quickly adds up.

I've spent countless hours in the past saving, pushing the changes to dev, refreshing only to get a little bit closer.  Then make the change and repeat.

Instead if I could test locally, I could even setup a proper debugger that would allow me to step through the code and see exactly what is failing.

Testing Time

Having an exact replica of the setup locally can also allow developers to test and tweak configuration of the various pieces locally – or simply test the proper interaction between them.

Tweaking and configuring environments can be quite risky in shared environments.  Often times a single wrong configuration can bring down an entire system – whoops!  When testing locally, it's as simple as rebooting your local PC and not affecting anyone.

Development Time

Similar to the above debugging, development time is often reduced because developers can save and progress with their task much more quickly.  I can admit that I'm fairly good developer and could probably perform a full task (when properly planned out) without stopping and checking my work.  Granted it won't be done, but only about 80% done.  Whereas if I was developing locally, I would stop and check my work more frequently and getting the task 100% done the first time while thoroughly testing each part in turn.

 

Next time, your team lead or manager doesn't allow you the time to properly setup your local development environment, send them my way and I'll set them straight!

Published on Oct 11, 2012

Tags: Development | Theory

Related Posts

Did you enjoy this article? If you did here are some more articles that I thought you will enjoy as they are very similar to the article that you just finished reading.

Tutorials

Learn how to code in HTML, CSS, JavaScript, Python, Ruby, PHP, Java, C#, SQL, and more.

No matter the programming language you're looking to learn, I've hopefully compiled an incredible set of tutorials for you to learn; whether you are beginner or an expert, there is something for everyone to learn. Each topic I go in-depth and provide many examples throughout. I can't wait for you to dig in and improve your skillset with any of the tutorials below.