The Importance of Local Development Environments

Published on Oct 11, 2012 by Jamie Munro

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!

Tags: Development | Theory

Related Posts

blog comments powered by Disqus